私はこれと同じパンダのデータフレームを持っています(残りの数字はもっとたくさんあります)。sklearnクラシファイアのパンダデータフレームをフィルタリングする2つの方法の違いは何ですか?
import pandas as pd
from sklearn.dummy import DummyClassifier
df = pd.DataFrame({'Time':['2013-08-01 00:00:00', '2014-09-01 12:10:00', '2015-02-02 10:10:00', '2016-01-01 00:00:00'], 'Model_Targ':['a', 'b', 'a', 'b'], 'Col2':[-0.945000, -0.855000, -0.860000, -0.945000], 'Col3':[64.384028, 64.485417, 64.609028, 64.723611]})
df['Time'] = pd.to_datetime(df['Time'])
TrainSet = df[df['Time']<'2015-01-01']
TestSet = df[df['Time']>'2015-01-01']
私は
Train_Y = TrainSet.iloc[:, 1]
Train_X = TrainSet.drop(TrainSet.columns[[0,1]], axis=1)
Test_y = TestSet.iloc[:,1]
Test_x = TestSet.drop(TestSet.columns[[0,1]], axis=1)
を使用して、それを処理した場合、それは私が
Columns_to_drop = df.filter(like='Targ', axis = 1).columns.values.tolist()
Columns_to_drop.append('Time')
Train_Y = TrainSet.filter(like='Targ', axis = 1)
Train_X = TrainSet.drop(Columns_to_drop, axis=1)
Test_y = TestSet.filter(like='Targ', axis = 1)
Test_x = TestSet.drop(Columns_to_drop, axis=1)
を使用して、それを処理する場合、私はダミークラシファイアにエラーが発生しますSklearns DummyClassifier()
で正常に動作します。
clf = DummyClassifier()
clf.fit(Train_X , Train_Y)
Predict_y = clf.predict(Test_x)
私は2つのフレームを比較して、それはあなたのテストをインデックス化し、列車が間違って設定されますので、それが動作しない動作することを示すために、TRUE
/usr/local/lib/python2.7/dist-packages/sklearn/dummy.pyc in predict(self, X)
174
175 elif self.strategy == "stratified":
--> 176 ret = proba[k].argmax(axis=1)
177
178 elif self.strategy == "uniform":
AttributeError: 'list' object has no attribute 'argmax'
「TestSet」はどこから来ますか?あなたのコードは検証できません。適切なインポートを追加し、実行するサンプルを作成してください。 – Chiel
元のdfから分割されています。 70列を匿名化する方法や、サンプルフレームを生成するためのより良い方法を見つけ出すことなく、より多くの情報を提供する方法についてのヒントはありますか? – KillerSnail
動作するコードを作れますか?それから私はそれを試すことができます。 – Chiel