2017-05-15 5 views
0

こんにちは私は機械学習アルゴリズムの入力としてデータフレームとともにas_matrixを使用する機械学習の実装例を見てきました。 .as_matrixの出力であるタプルを、以下のような機械学習アルゴリズムへの入力として使用することが良いのではないかと思います。おかげPython:「as_matrix」をデータフレームと一緒にモデルを使用して使用することは可能ですか?

trainArr_All = df.as_matrix(cols_attr) # training array 
trainRes_All = df.as_matrix(col_class) # training results 
trainArr, x_test, trainRes, y_test = train_test_split(trainArr_All, trainRes_All, test_size=0.20, random_state=42) 
rf = RandomForestClassifier(n_estimators=20, criterion='gini', random_state=42) # 100 decision trees 
y_score = rf.fit(trainArr, trainRes.ravel()).predict(x_test) 
y_score = y_score.tolist() 
+1

タプル* *出力されません...出力は 'numpy.ndarray'です。私はこのメソッドを非常に頻繁に見ることはありません。一般的に、同じことを実現する 'df.values'を使用します。 –

答えて

1

パンダas_matrixnumpy.arraydocumentationをタプルないようにデータフレームに変換します! sklearnは入力が数値列の配列であると仮定し、そうでない場合はdtypeをdtype = np.float32または疎なcsc_matrixに内部的に変換します。安定版のsklearn(内部変換)を使用すると、通常、パンダのデータフレームを入力として使用しても問題ありませんが、データ型の非互換性のために時折問題が発生することがあります。通常、as_matrixを使用し、sklearnを使用する前にデータフレームをnumpy.arrayに変換する方が安全です。ここで

はパンダのデータフレームに問題を持つ誰かの例である: Using slices in Python

関連する問題