躓いている点
現在半教師あり学習を用いた機械学習モデルの構築を行なっており,精度評価の確認を行なっております.
Recall値,Precision値,F値等は出力を行うことができたのですが,ConfusionMatrixにおける出力の値の読み取り方が理解できていません.
その部分についてご教授いただきたいと思っています.
データセットの内容については[特徴量1,特徴量2,特徴量3,特徴量4,特徴量5,label]となっており,labelに関しては[0,1,ラベルなし]です.
おそらくラベル毎の多変数混合行列になっていることは想像つくのですが,どのような順番に並べられていてlabelなしについてはどのような扱い方がされているのかが分かっていません.
お手数おかけしますがご教授いただけると幸いです.
該当のソースコード
Python
1 2# ラベル付けされたデータとラベルなしデータを用意 3labeled_data = df1[df1["label"].notna()][feature_cols] 4unlabeled_data = df1[df1["label"].isna()][feature_cols] 5labels = df1[df1["label"].notna()]["label"] 6 7#データを訓練データとテストデータに分割 8X_train, X_test, y_train, y_test = train_test_split(np.concatenate((labeled_data, unlabeled_data)), np.concatenate((labels, -np.ones(len(unlabeled_data)))), test_size=0.2, random_state=0) 9 10# ラベル伝播アルゴリズムをインスタンス化 11svm = SVC(kernel='linear') 12 13# 学習 14svm.fit(X_train, y_train) 15 16#予測 17predictions = svm.predict(X_test) 18 19#精度の評価 20from sklearn.metrics import accuracy_score 21print("半教師あり学習 Accuracy:",accuracy_score(y_test, predictions)) 22 23recallscore = recall_score(y_test, predictions, average='micro') 24print("半教師あり学習 Recall Score:", recallscore) 25 26precisionscore = precision_score(y_test, predictions, average='micro') 27 28print("半教師あり学習 Precision Score:", precisionscore) 29 30print("半教師あり学習 F Score:",f1_score(y_test, predictions, average='micro')) 31 32conf_matrix = confusion_matrix(y_test, predictions) 33 34print("半教師あり学習 Confusion Matrix:", conf_matrix) 35 36

バッドをするには、ログインかつ
こちらの条件を満たす必要があります。