記事ディレクトリ
まず解決策は次のとおりです。
元のコード:
f.values.astype(float)
X = f.iloc[:,:-1]
y = f.iloc[:,-1]
#此处省略部分代码
from sklearn import metrics
print(metrics.classification_report(y,predict_y))
print('Confusion matrix:\n',metrics.confusion_matrix(y,predict_y))
変更後:
#单纯删去了原先语句的第一行,并修改第三行
X = f.iloc[:,:-1]
y = f.iloc[:,-1].values.astype(int) #astpye设置为float也可行
上記の変更後、目的の結果が正常に表示されました。
注: ソース コードを使用する場合、関数 metrics.classification_report または metrics.confusion_matrix を呼び出しても、エラーが報告されます。
次に、エラーの背景を示します。
デシジョン ツリー分類器をトレーニングした後、分類パフォーマンス レポートと混同行列を確認しようとしましたが、その結果は、「ValueError: 分類メトリクスはバイナリ ターゲットと連続ターゲットの混合を処理できません」というエラーになりました。
理由の探求:
sklearn 公式 Web サイトの関数metrics.classification_reportの説明を参照してください。
sklearn.metrics.confusion_matrix(y_true,y_pred,*,labels=None,sample_weight=None,normalize=None)
y_true:配列状の形状 (n_samples,)
y_pred:配列状の形状 (n_samples,)
xs は孤独な場所を探索しました。
元のステートメントを使用するとエラーが報告される理由をご存知の方がいらっしゃいましたら、コメント領域にメッセージを残してください。ありがとうございます。