中文字幕日韩精品一区二区免费_精品一区二区三区国产精品无卡在_国精品无码专区一区二区三区_国产αv三级中文在线

實(shí)現(xiàn)python繪制混淆矩陣的方法-創(chuàng)新互聯(lián)

小編給大家分享一下實(shí)現(xiàn)python繪制混淆矩陣的方法,希望大家閱讀完這篇文章后大所收獲,下面讓我們一起去探討吧!

目前創(chuàng)新互聯(lián)已為上千余家的企業(yè)提供了網(wǎng)站建設(shè)、域名、虛擬空間、網(wǎng)站運(yùn)營(yíng)、企業(yè)網(wǎng)站設(shè)計(jì)、山東網(wǎng)站維護(hù)等服務(wù),公司將堅(jiān)持客戶導(dǎo)向、應(yīng)用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶和合作伙伴齊心協(xié)力一起成長(zhǎng),共同發(fā)展。

介紹:

混淆矩陣通過表示正確/不正確標(biāo)簽的計(jì)數(shù)來(lái)表示模型在表格格式中的準(zhǔn)確性。

計(jì)算/繪制混淆矩陣:

以下是計(jì)算混淆矩陣的過程。

您需要一個(gè)包含預(yù)期結(jié)果值的測(cè)試數(shù)據(jù)集或驗(yàn)證數(shù)據(jù)集。

  • 對(duì)測(cè)試數(shù)據(jù)集中的每一行進(jìn)行預(yù)測(cè)。

  • 從預(yù)期的結(jié)果和預(yù)測(cè)計(jì)數(shù):

  • 每個(gè)類的正確預(yù)測(cè)數(shù)量。

  • 每個(gè)類的錯(cuò)誤預(yù)測(cè)數(shù)量,由預(yù)測(cè)的類組織。

然后將這些數(shù)字組織成表格或矩陣,如下所示:

  • Expected down the side:矩陣的每一行都對(duì)應(yīng)一個(gè)預(yù)測(cè)的類。

  • Predicted across the top:矩陣的每一列對(duì)應(yīng)于一個(gè)實(shí)際的類。

然后將正確和不正確分類的計(jì)數(shù)填入表格中。

Reading混淆矩陣:

一個(gè)類的正確預(yù)測(cè)的總數(shù)進(jìn)入該類值的預(yù)期行,以及該類值的預(yù)測(cè)列。

以同樣的方式,一個(gè)類別的不正確預(yù)測(cè)總數(shù)進(jìn)入該類別值的預(yù)期行,以及該類別值的預(yù)測(cè)列。

對(duì)角元素表示預(yù)測(cè)標(biāo)簽等于真實(shí)標(biāo)簽的點(diǎn)的數(shù)量,而非對(duì)角線元素是分類器錯(cuò)誤標(biāo)記的元素。混淆矩陣的對(duì)角線值越高越好,表明許多正確的預(yù)測(cè)。

用Python繪制混淆矩陣 :

import itertools
 
import numpy as np
 
import matplotlib.pyplot as plt
 
from sklearn import svm, datasets
 
from sklearn.model_selection import train_test_split
 
from sklearn.metrics import confusion_matrix
 
# import some data to play with
 
iris = datasets.load_iris()
 
X = iris.data
 
y = iris.target
 
class_names = iris.target_names
 
# Split the data into a training set and a test set
 
X_train, X_test, y_train, y_test = train_test_split(X, y, random_state=0)
 
# Run classifier, using a model that is too regularized (C too low) to see
 
# the impact on the results
 
classifier = svm.SVC(kernel='linear', C=0.01)
 
y_pred = classifier.fit(X_train, y_train).predict(X_test)
 
def plot_confusion_matrix(cm, classes,
 
normalize=False,
 
title='Confusion matrix',
 
cmap=plt.cm.Blues):
 
"""
 
This function prints and plots the confusion matrix.
 
Normalization can be applied by setting `normalize=True`.
 
"""
 
if normalize:
 
cm = cm.astype('float') / cm.sum(axis=1)[:, np.newaxis]
 
print("Normalized confusion matrix")
 
else:
 
print('Confusion matrix, without normalization')
 
print(cm)
 
plt.imshow(cm, interpolation='nearest', cmap=cmap)
 
plt.title(title)
 
plt.colorbar()
 
tick_marks = np.arange(len(classes))
 
plt.xticks(tick_marks, classes, rotation=45)
 
plt.yticks(tick_marks, classes)
 
fmt = '.2f' if normalize else 'd'
 
thresh = cm.max() / 2.
 
for i, j in itertools.product(range(cm.shape[0]), range(cm.shape[1])):
 
plt.text(j, i, format(cm[i, j], fmt),
 
horizontalalignment="center",
 
color="white" if cm[i, j] > thresh else "black")
 
color="white" if cm[i, j] > thresh else "black")
 
plt.tight_layout()
 
plt.ylabel('True label')
 
plt.xlabel('Predicted label')
 
# Compute confusion matrix
 
cnf_matrix = confusion_matrix(y_test, y_pred)
 
np.set_printoptions(precision=2)
 
# Plot non-normalized confusion matrix
 
plt.figure()
 
plot_confusion_matrix(cnf_matrix, classes=class_names,
 
title='Confusion matrix, without normalization')
 
# Plot normalized confusion matrix
 
plt.figure()
 
plot_confusion_matrix(cnf_matrix, classes=class_names, normalize=True,
 
title='Normalized confusion matrix')
 
plt.show()

實(shí)現(xiàn)python繪制混淆矩陣的方法

Confusion matrix, without normalization
 
[[13 0 0]
 
[ 0 10 6]
 
[ 0 0 9]]
 
Normalized confusion matrix
 
[[ 1. 0. 0. ]
 
[ 0. 0.62 0.38]
 
[ 0. 0. 1. ]]

看完了這篇文章,相信你對(duì)實(shí)現(xiàn)python繪制混淆矩陣的方法有了一定的了解,想了解更多相關(guān)知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝各位的閱讀!

當(dāng)前名稱:實(shí)現(xiàn)python繪制混淆矩陣的方法-創(chuàng)新互聯(lián)
網(wǎng)頁(yè)路徑:http://m.rwnh.cn/article44/ddsgee.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)頁(yè)設(shè)計(jì)公司、標(biāo)簽優(yōu)化、用戶體驗(yàn)網(wǎng)站制作、云服務(wù)器、ChatGPT

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

微信小程序開發(fā)
区。| 永善县| 林甸县| 双江| 定日县| 探索| 英超| 南京市| 民勤县| 阳西县| 宿州市| 栾川县| 鄂托克前旗| 诏安县| 揭阳市| 拉孜县| 鸡东县| 屯昌县| 定兴县| 太原市| 宜兰县| 上饶市| 镇平县| 白银市| 万年县| 东阿县| 青铜峡市| 绍兴市| 哈尔滨市| 邢台市| 闽侯县| 铜梁县| 织金县| 太和县| 乌拉特前旗| 常州市| 鄂尔多斯市| 周口市| 伊金霍洛旗| 乐亭县| 九寨沟县|