機器學習筆記 混淆矩陣

2021-09-14 05:26:56 字數 2997 閱讀 3826

import pandas as pd

import numpy as np

from sklearn.preprocessing import labelencoder

from sklearn.cross_validation import train_test_split #交叉驗證,拆分資料集

from sklearn.preprocessing import standardscaler #標準化

from sklearn.pipeline import pipeline #內部環境

from sklearn.svm import svc

from sklearn.metrics import confusion_matrix #混淆矩陣

import matplotlib.pyplot as plt

from sklearn.metrics import precision_score , recall_score, f1_score

file

= pd.read_csv(

"", header =

none

)df =

file

x = df.loc[:,

2:].values

y = df.loc[:,

1].values

le = labelencoder(

)#轉換為數字

y = le.fit_transform(y)

#類表整數化

#劃分訓練集和測試集

x_train,x_test,y_train,y_test = train_test_split(x,y,test_size =

0.20

,random_state =1)

#20%test 隨機選

pipe_svc = pipeline([(

'scl'

,standardscaler())

,('clf'

,svc(random_state=1)

)])#歸一化 利用svc模型 隨機選

pipe_svc.fit(x_train,y_train)

#fit 擬合

pipeline(memory=none,

steps=[('scl', standardscaler(copy=true, with_mean=true, with_std=true)), ('clf', svc(c=1.0, cache_size=200, class_weight=none, coef0=0.0,

decision_function_shape='ovr', degree=3, gamma='auto', kernel='rbf',

max_iter=-1, probability=false, random_state=1, shrinking=true,

tol=0.001, verbose=false))])

#測試

y_pred = pipe_svc.predict(x_test)

#y_pred **值

#y_test

#混淆矩陣視覺化

confmat = confusion_matrix(y_true = y_test,y_pred = y_pred)

#輸出混淆矩陣

)#查準率

print

('recall:%.3f'

%recall_score(y_true = y_test,y_pred = y_pred)

)# 查全率

print

('f1:%.3f'

%f1_score(y_true = y_test,y_pred = y_pred)

)#f1度量

precision:0.976

recall:0.952

f1:0.964

機器學習(混淆矩陣)

1 混淆矩陣 真實性positive 1 negative 0 值poistive 1 tp true positive 11 fp false positive 01 negative 0 fn false negaative 10 tn true negative 00 2 四種指標 公式意義 ...

機器學習之混淆矩陣

再分類任務下,結果和真實情況之間存在四種不同的組合,這四種組合構成了混淆矩陣。舉個例子,看下圖。當真實情況是貓,結果也是貓的時候,這個時候定義為真正例 當真實情況是貓,而 結果不是貓的時候定義為偽反例子 當真實情況不是貓,而 結果是貓時定義為偽正例 當真實情況不是貓 結果也不是貓時定義為真反例。這個...

機器學習 混淆矩陣及其繪製

混淆矩陣主要用於表示分類精度,利用橫軸為 結果縱軸為標準結果的 圖,視覺化地展示演算法的分類效能。乙個混淆矩陣的例子 其中第一類有10個,第二類有14個,第三類有21個。而實際的 結果是第一類有乙個樣本錯誤 為了第二類 第二類有5個錯認為第一類,2個錯認為第三類 第三類中有兩個被錯認為第一類,6個第...