第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

如何將混淆矩陣轉(zhuǎn)換為數(shù)據(jù)幀?

如何將混淆矩陣轉(zhuǎn)換為數(shù)據(jù)幀?

慕碼人2483693 2022-09-13 19:51:56
我想知道如何將混淆矩陣從scikit學(xué)習(xí)轉(zhuǎn)換為數(shù)據(jù)幀。我不知道混合不同模型的所有mc是否可行。我為什么問(wèn)是因?yàn)榭勺x性。我必須始終在終端中打印并將mc復(fù)制到Excel文件中,這真的很苛刻,因?yàn)槲腋鶕?jù)所選的參數(shù)多次運(yùn)行腳本。models = {'Model_SVC': model1, 'Model_G_NB': model2, 'Model_LR': model3, 'Model_RF': model4,      'Model_KN': model5, 'Model_MLP': model6}        cv_splitter = KFold(n_splits=10, shuffle=False, random_state=None)    for model_name, model in models.items():        y_pred = cross_val_predict(model, features, ylabels, cv=cv_splitter)        print("Model: {}".format(model_name))        print("Accuracy: {}".format(accuracy_score(ylabels, y_pred)))        cm = confusion_matrix(ylabels, y_pred)                output = pd.DataFrame()        print("matrice confusion: {}".format(cm), file=f)矩陣看起來(lái)像這樣:Model: Model_SVCAccuracy: 0.5692307692307692matrice confusion: [[ 34   4  46] [ 10   2  33] [ 16   3 112]]Model: Model_G_NBAccuracy: 0.43846153846153846matrice confusion: [[31 22 31] [10 13 22] [27 34 70]]Model: Model_LRAccuracy: 0.5461538461538461matrice confusion: [[ 30   4  50] [ 11   0  34] [ 16   3 112]]Model: Model_RFAccuracy: 0.5846153846153846matrice confusion: [[ 40   5  39] [ 17   1  27] [ 20   0 111]]Model: Model_KNAccuracy: 0.4846153846153846matrice confusion: [[33 10 41] [14 12 19] [41  9 81]]Model: Model_MLPAccuracy: 0.5153846153846153matrice confusion: [[ 17   0  67] [ 12   0  33] [ 13   1 117]]我想要這樣的東西:   F    C   M0  34   4  461  10   2  332  16   3 112  3  31  22  31   => second cm 4  10  13  225  27  34  706  30   4  50  => third cm7  11   0  348  16   3 112...由于我使用的是“for”,我希望cm相互切換,以便最后我能夠?qū)?shù)據(jù)導(dǎo)出到一個(gè)excel或csv文件中。一個(gè)數(shù)據(jù)框,可以一個(gè)接一個(gè)地組合所有cm打印。
查看完整描述

2 回答

?
手掌心

TA貢獻(xiàn)1942條經(jīng)驗(yàn) 獲得超3個(gè)贊

將任何2D矩陣(混淆與否)轉(zhuǎn)換為熊貓數(shù)據(jù)幀非常簡(jiǎn)單:


from sklearn.metrics import confusion_matrix

y_true = [2, 0, 2, 2, 0, 1]

y_pred = [0, 0, 2, 2, 0, 2]

cm = confusion_matrix(y_true, y_pred)

print(cm)

# result:

[[2 0 0]

 [0 0 1]

 [1 0 2]]  


import pandas as pd

df = pd.DataFrame(cm)

print(df)

# result:

   0  1  2

0  2  0  0

1  0  0  1

2  1  0  2

full,具有兩行和列名稱(chēng)。


合并數(shù)據(jù)幀也是直截了當(dāng)?shù)模?/p>


cm2 = [[1, 0, 0],

       [0, 0, 1],

       [2, 0, 1]]

df2 = pd.DataFrame(cm2)


cm3 = [[0, 0, 2],

       [1, 2, 1],

       [2, 0, 0]]

df3 = pd.DataFrame(cm3)


frames = [df, df2, df3]


final = pd.concat(frames)

print(final)

# result:

   0  1  2

0  2  0  0

1  0  0  1

2  1  0  2

0  1  0  0

1  0  0  1

2  2  0  1

0  0  0  2

1  1  2  1

2  2  0  0

如果在循環(huán)中使用它,則始終可以從空列表開(kāi)始,用于每個(gè)新數(shù)據(jù)幀,并獲取最終幀:frames=[]frames.append(df)pd.concat(frames)


frames = []


for model_name, model in models.items():

        y_pred = cross_val_predict(model, features, ylabels, cv=cv_splitter)

        cm = confusion_matrix(y_true, y_pred)

        df = pd.DataFrame(cm)

        frames.append(df)


final = pd.concat(frames)


查看完整回答
反對(duì) 回復(fù) 2022-09-13
?
慕尼黑的夜晚無(wú)繁華

TA貢獻(xiàn)1864條經(jīng)驗(yàn) 獲得超6個(gè)贊

存儲(chǔ)在列表中,然后使用:np.vstack()


import numpy as np


all_cm = list()

for model_name, model in models.items():

    y_pred = cross_val_predict(model, features, ylabels, cv=cv_splitter)


    print("Model: {}".format(model_name))

    print("Accuracy: {}".format(accuracy_score(ylabels, y_pred)))


    cm = confusion_matrix(ylabels, y_pred)

    all_cm.append(cm)


final_matrix = np.vstack(all_cm)

print(final_matrix)


人工數(shù)據(jù)示例:


import numpy as np

np.random.seed(0)


all_cm = list()

for i in range(3):

    all_cm.append(np.random.rand(3,3))

final_matrix = np.vstack(all_cm)

print(final_matrix)


[[0.5488135  0.71518937 0.60276338]

 [0.54488318 0.4236548  0.64589411]

 [0.43758721 0.891773   0.96366276]

 [0.38344152 0.79172504 0.52889492]

 [0.56804456 0.92559664 0.07103606]

 [0.0871293  0.0202184  0.83261985]

 [0.77815675 0.87001215 0.97861834]

 [0.79915856 0.46147936 0.78052918]

 [0.11827443 0.63992102 0.14335329]]


查看完整回答
反對(duì) 回復(fù) 2022-09-13
  • 2 回答
  • 0 關(guān)注
  • 130 瀏覽
慕課專(zhuān)欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢(xún)優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)