2017-07-04 25 views
0

私は著者は次のモデルのビルドノートブックの1点でIris dataset得点予測(Pythonの機械学習)

を分析し、次のIPythonノートブックを通じてつもりです:

enter image description here

この時点で、私は非常に混乱しました。最後の行では何が起こっていますか? 私が学んだことから、モデルに基づいて予測を作成し、その予測とy_testの値を比較する必要があります。私は、次のことを

を行っているでしょう:

predictions = decision_tree_classifier.predict(X_test) 
from sklearn.metrics import classification_report 
print classification_report(y_test, predictions) 

著者はtesting_inputstesting_classesに基づいてスコアを生成するときに何が起こっていますか? docsから

+0

https://datascience.stackexchange.com/で質問することをお勧めします。 –

答えて

4

スコア(X、Y、sample_weight =なし)

は、与えられたテストデータとラベルの平均精度を返します。

これはまさにそうです。 X_testで内部的に予測を実行し、y_predを生成し、y_testと比較して精度スコアを計算します。

あなたのやり方は似ていますが、2つのステップがあります。最初に予測し、次にy_testと比較します。さらに、精度、リコール、およびf1スコアを印刷しています。

2

@ Coldspeedの答えに細部を追加すると、DecisionTreeClassifierscoresklearn.metrics.accuracy_scoreを呼び出します。これは、正しくに分類されたの割合です。私は直感的に「平均精度」を見つけることができないので、これを指摘するだけです。

from sklearn.metrics import accuracy_score 
y_pred = [0, 2, 1, 3] 
y_true = [0, 1, 2, 3] 

accuracy_score(y_true, y_pred) 
Out[106]: 0.5