ClassificationReportで混同行列を正しく表示させたい

混同行列を正しく表示させたい

yellowbrick.classifierモジュールのClassificationReportを使用して正しく表示させたい

前提

機械学習勉強中の初心者です。
参考書どおりプログラムを打ち込んでいるのですがうまく作動しません。
2枚目の図のように表示させたいのですが、1枚目の図のように一つ上に上がって表示されてしまいます。

解決法を知っている方がいらっしゃいましたらご教示お願いします。
イメージ説明
イメージ説明

該当のソースコード

python

1import plotly.express as px 2from sklearn.model_selection import train_test_split 3from yellowbrick.classifier import ClassificationReport 4from sklearn.svm import SVC 5 6iris = px.data.iris()7X = iris[["sepal_length", "sepal_width", "petal_length", "petal_width"]]8y = iris["species_id"]9X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3)10 11svc = SVC(kernel="rbf", gamma="scale") 12visualizer = ClassificationReport(svc)13 14visualizer.fit(X_train, y_train)15visualizer.score(X_test, y_test)16visualizer.show();

発生している問題・エラーメッセージ

/usr/local/lib/python3.8/dist-packages/sklearn/base.py:450: UserWarning: X does not have valid feature names, but SVC was fitted with feature names
warnings.warn(
/usr/local/lib/python3.8/dist-packages/sklearn/metrics/_classification.py:1318: UndefinedMetricWarning: Precision and F-score are ill-defined and being set to 0.0 in labels with no predicted samples. Use zero_division parameter to control this behavior.
_warn_prf(average, modifier, msg_start, len(result))
/usr/local/lib/python3.8/dist-packages/sklearn/metrics/_classification.py:1318: UndefinedMetricWarning: Recall and F-score are ill-defined and being set to 0.0 in labels with no true samples. Use zero_division parameter to control this behavior.
_warn_prf(average, modifier, msg_start, len(result))

補足情報(FW/ツールのバージョンなど)

実行環境:google claboratory

コメントを投稿

0 コメント