前提・実現したいこと
python sklearn 予測データと正解データに関してお伺いします
model.fit()などで予測を行った後の不正解データを
具体的に出力するにはどうしたらいいでしょうか
該当のソースコード
python
1from sklearn.model_selection import train_test_split 2from sklearn.metrics import classification_report 3from sklearn.tree import DecisionTreeClassifier 4import numpy as np 5import pandas as pd 6 7 8data = pd.read_csv("test2.csv") #utf-8 # データの準備 9 10 11X = data.loc[:, ['A1', 'A2', 'A3', 'A4', 'A5', 'A6', 'A7', 'A8', 'A9', 'A10', 'A11', 'A12', 'A13', 'A14', 'A15', 'A16', 'A17', 'A18', 'A19', 'A20', 'A21', 'A22', 'A23', 'A24', 'A25', 'A26', 'A27', 'A28', 'A29', 'A30', 'A31', 'A32', 'A33', 'A34', 'A35', 'A36', 'A37', 'A38', 'A39', 'A40', 'A41', 'A42', 'A43', 'A44', 'A45', 'A46', 'A47', 'A48', 'A49', 'A50']].values #.as_matrix() # 説明変数 12 13 14y = data['A103'].values #.as_matrix() # 目的変数 15X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2) 16 17 18clf = DecisionTreeClassifier() # 学習 19clf.fit(X_train, y_train) 20pred = clf.predict(X_test) # 予測 21print(y_test, pred) 22print(classification_report(y_test, pred)) # Precision, Recall, F1-score # 評価
試したこと
test2.csvを読み込み,実行したところ
以下のような出力がありました
test2.csvの内容は以下の通りです
,A101,A1,A2,A3,A4,A5,A6,A7,A8,A9,A10,A11,A12,A13,A14,A15,A16,A17,A18,A19,A20,A21,A22,A23,A24,A25,A26,A27,A28,A29,A30,A31,A32,A33,A34,A35,A36,A37,A38,A39,A40,A41,A42,A43,A44,A45,A46,A47,A48,A49,A50,A103
1,AAA,0.085777,.....,-0.379371,0.0
2,BBB,0.181901,.....,-0.268229,1.0
3,CCC,0.021309,.....,0.018542,0.0
(出力)
[0. 0. 0. ... 0. 0. 0.] [0. 0. 0. ... 0. 0. 0.]
precision recall f1-score support
0.0 1.00 1.00 1.00 86884 1.0 0.98 0.98 0.98 1812 accuracy 1.00 88696
macro avg 0.99 0.99 0.99 88696
weighted avg 1.00 1.00 1.00 88696
(結果)
1.0と予測したもののうち98%が正解でした
1812個のうち不正解だったデータを具体的に
知りたいのですが,どのように出力すればいいでしょうか
2,BBB,0.181901,.....,-0.268229,1.0
が0.0と予測された場合,不正解ですから
不正解は「BBB」と表示させたいと思っています
教えていただきたくよろしくお願いいたします
補足情報(FW/ツールのバージョンなど)
windows 10
python 3.8.3
回答1件
あなたの回答
tips
プレビュー