亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何構建混淆矩陣?

如何構建混淆矩陣?

qq_花開花謝_0 2022-09-06 17:57:59
我有以下代碼,它繪制了KNN算法的嵌套與非嵌套交叉驗證。# Number of random trialsNUM_TRIALS = 30# Load the datasetX_iris = X.valuesy_iris = y# Set up possible values of parameters to optimize overp_grid = {"n_neighbors": [1, 5, 10]}# We will use a Support Vector Classifier with "rbf" kernelsvm = KNeighborsClassifier()# Arrays to store scoresnon_nested_scores = np.zeros(NUM_TRIALS)nested_scores = np.zeros(NUM_TRIALS)# Loop for each trialfor i in range(NUM_TRIALS):    # Choose cross-validation techniques for the inner and outer loops,    # independently of the dataset.    # E.g "GroupKFold", "LeaveOneOut", "LeaveOneGroupOut", etc.    inner_cv = KFold(n_splits=4, shuffle=True, random_state=i)    outer_cv = KFold(n_splits=4, shuffle=True, random_state=i)    # Non_nested parameter search and scoring    clf = GridSearchCV(estimator=svm, param_grid=p_grid, cv=inner_cv)    clf.fit(X_iris, y_iris)    non_nested_scores[i] = clf.best_score_    # Nested CV with parameter optimization    nested_score = cross_val_score(clf, X=X_iris, y=y_iris, cv=outer_cv)    nested_scores[i] = nested_score.mean()score_difference = non_nested_scores - nested_scorespreds=clf.best_estimator_.predict(X_test)from sklearn.metrics import confusion_matrixcm = confusion_matrix(y_test, preds)one, two, three, four,five,six,seven,eight,nine = confusion_matrix(y_test, preds).ravel()我遇到的問題是混淆矩陣繪圖,我遇到了以下錯誤:ValueError                                Traceback (most recent call last)<ipython-input-22-13536688e18b> in <module>()     45 from sklearn.metrics import confusion_matrix     46 cm = confusion_matrix(y_test, preds)---> 47 one, two, three, four,five,six,seven,eight,nine = confusion_matrix(y_test, preds).ravel()     48 cm = [[one,two],[three,four],[five,six],[seven,eight],[nine,eight]]     49 ax= plt.subplot()ValueError: too many values to unpack (expected 9)我不知道如何解決這個問題。我的數據集中有 9 個目標變量,存儲在 y 中。[11 11 11 ... 33 33 33] #the target variables being : 11,12,13,21,22,23,31,32,33
查看完整描述

1 回答

?
慕妹3146593

TA貢獻1820條經驗 獲得超9個贊

混淆矩陣由“cm = confusion_matrix(y_test,preds)”構建,其中cm是9x9矩陣(因為目標變量中有9個不同的標簽)。如果要繪制它,可以使用plot_confusion_matrix函數。沒有必要把它弄得亂七八糟。如果對其進行處理,則 9x9 矩陣將轉換為 81 個值,并且您將它解壓縮為賦值左側的 9 個變量。這就是您收到“太多值無法解壓縮(預期9)”錯誤的原因。


查看完整回答
反對 回復 2022-09-06
  • 1 回答
  • 0 關注
  • 110 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號