導航:首頁 > 編程語言 > python混淆矩陣畫圖不清楚

python混淆矩陣畫圖不清楚

發布時間:2022-07-22 01:32:15

python3.5做分類時,混淆矩陣加在哪一步

preface:做著最近的任務,對數據處理,做些簡單的提特徵,用機器學習演算法跑下程序得出結果,看看哪些特徵的組合較好,這一系列流程必然要用到很多函數,故將自己常用函數記錄上。應該說這些函數基本上都會用到,像是數據預處理,處理完了後特徵提取、降維、訓練預測、通過混淆矩陣看分類效果,得出報告。

1.輸入

從數據集開始,提取特徵轉化為有標簽的數據集,轉為向量。拆分成訓練集和測試集,這里不多講,在上一篇博客中談到用StratifiedKFold()函數即可。在訓練集中有data和target開始。

2.處理

[python]view plain

Ⅱ 為什麼我覺得python畫圖非常不清晰呢

這個可以通過設置DPI的大小來設置的,估計你用的是默認值吧
顯示的話,可以試試figure中設置dpi
保存的話,可以試試 savefig中設置dpi

Ⅲ python矩陣畫圖

積分區域是個正方形,關於x軸對稱,而x²y關於y是奇函數,所以積分完為零,就只剩下x的絕對值的積分了。
|x|關於x是偶函數,而積分區域也關於y軸對稱,所以原積分就等於對y軸右側部分積分的兩倍,然後|x|可認為是|x|·1,也關於y是偶函數,則在整個區域對|x|的積分,就等於對第一象限部分積分的四倍,也這道題就變成:
積分區域為x+y=1和x軸,y軸圍成的區域
在這一區域對x進行二重積分,然後乘4

Ⅳ python是否有繪制混淆矩陣的函數

肯定是公式有錯,NaN是not a number的意思,肯定是某個地方寫錯了。不過,既然是matlab編程,為什麼不使用神經網路工具...

Ⅳ python是否有繪制混淆矩陣的函數,怎麼來實現

#-*-coding:UTF-8-*-
"""繪制混淆矩陣圖"""
importmatplotlib.pyplotasplt
fromsklearn.metricsimportconfusion_matrix


defconfusion_matrix_plot_matplotlib(y_truth,y_predict,cmap=plt.cm.Blues):
"""Matplotlib繪制混淆矩陣圖
parameters
----------
y_truth:真實的y的值,1darray
y_predict:預測的y的值,1darray
cmap:畫混淆矩陣圖的配色風格,使用cm.Blues,更多風格請參考官網
"""
cm=confusion_matrix(y_truth,y_predict)
plt.matshow(cm,cmap=cmap)#混淆矩陣圖
plt.colorbar()#顏色標簽

forxinrange(len(cm)):#數據標簽
foryinrange(len(cm)):
plt.annotate(cm[x,y],xy=(x,y),horizontalalignment='center',verticalalignment='center')

plt.ylabel('Truelabel')#坐標軸標簽
plt.xlabel('Predictedlabel')#坐標軸標簽
plt.show()#顯示作圖結果


if__name__=='__main__':
y_truth=[1,0,1,1,1,1,1,1,1,1,0,0,0,0,0]
y_predict=[1,0,0,1,0,1,1,1,1,1,0,1,0,1,0]
confusion_matrix_plot_matplotlib(y_truth,y_predict)

Ⅵ python為什麼畫布上畫圖看不見

這基本上是因為你創建畫布後沒有用創建的畫布繪制圖

Ⅶ 關於python 畫圖的問題,我有一串碼完全看不懂,麻煩大家幫我看一下。

首先,確定三角形的位置需要三個點。代碼里給出的myPoints = [[-100,-50],[0,100],[100,-50]]就是這三個點的位置,你可以在坐標軸里畫一個x,y軸,找一下就知道了。如果只是想讓三角形倒過來,就重新給它三個點[[-100,100],[100,100],[0,-50]]。

其次,三角形的邊長,就是兩個點之間的直線距離。從代碼里可以看到,(-100,-50),(100,-50)這兩個點是在同一條橫向的線上,它們的距離是200.所以想把三角形的尺寸擴大兩倍,就需要把邊長擴大,給出新的點[[-200,200],[200,200],[0,-100]]

綜上,修改main函數中的myPoints,即可達到你的需求:倒置三角形,尺寸擴大兩倍
def main():
myTurtle = turtle.Turtle()
myWin = turtle.Screen()
myPoints = [[-200,200],[200,200],[0,-100]]
sierpinski(myPoints,3,myTurtle)
myWin.exitonclick()

再解釋幾個問題:
myTurtle.up() 和myTurtle.down()

可以把myTurtle看做是畫筆,myTurtle.up()就表示把畫筆從畫布上抬起,也就是不跟畫布接觸。myTurtle.down()也就可以看成是畫筆跟畫布接觸。

sierpinski是定義的一個遞歸畫三角形的方法,degree可以理解成遞歸的深度,也就是說在一個三角形內可以再畫幾個小三角形(不包括中間的三角形)。代碼里degree 是3,你可以運行一下代碼,看看效果。

希望能幫到你,有疑問請追問!

Ⅷ 如何在Python寫的混淆矩陣

將labels、y_true 、y_pred替換為你自己的數據即可。

Ⅸ 如何用python畫好confusion matrix

在做分類的時候,經常需要畫混淆矩陣,下面我們使用python的matplotlib包,scikit-learning機器學習庫也同樣提供了例子:, 但是這樣的圖並不能滿足我們的要求,

首先是刻度的顯示是在方格的中間,這需要隱藏刻度,其次是如何把每個label顯示在每個方塊的中間, 其次是如何在每個方格中顯示accuracy數值, 最後是如何在橫坐標和縱坐標顯示label的名字,在label name比較長的時候,如何處理顯示問題。

[python] view plain
'''''compute confusion matrix
labels.txt: contain label name.
predict.txt: predict_label true_label
'''
from sklearn.metrics import confusion_matrix
import matplotlib.pyplot as plt
import numpy as np
#load labels.
labels = []
file = open('labels.txt', 'r')
lines = file.readlines()
for line in lines:
labels.append(line.strip())
file.close()

y_true = []
y_pred = []
#load true and predict labels.
file = open('predict.txt', 'r')
lines = file.readlines()
for line in lines:
y_true.append(int(line.split(" ")[1].strip()))
y_pred.append(int(line.split(" ")[0].strip()))
file.close()
tick_marks = np.array(range(len(labels))) + 0.5
def plot_confusion_matrix(cm, title='Confusion Matrix', cmap = plt.cm.binary):
plt.imshow(cm, interpolation='nearest', cmap=cmap)
plt.title(title)
plt.colorbar()
xlocations = np.array(range(len(labels)))
plt.xticks(xlocations, labels, rotation=90)
plt.yticks(xlocations, labels)
plt.ylabel('True label')
plt.xlabel('Predicted label')
cm = confusion_matrix(y_true, y_pred)
print cm
np.set_printoptions(precision=2)
cm_normalized = cm.astype('float')/cm.sum(axis=1)[:, np.newaxis]
print cm_normalized
plt.figure(figsize=(12,8), dpi=120)
#set the fontsize of label.
#for label in plt.gca().xaxis.get_ticklabels():
# label.set_fontsize(8)
#text portion
ind_array = np.arange(len(labels))
x, y = np.meshgrid(ind_array, ind_array)

for x_val, y_val in zip(x.flatten(), y.flatten()):
c = cm_normalized[y_val][x_val]
if (c > 0.01):
plt.text(x_val, y_val, "%0.2f" %(c,), color='red', fontsize=7, va='center', ha='center')
#offset the tick
plt.gca().set_xticks(tick_marks, minor=True)
plt.gca().set_yticks(tick_marks, minor=True)
plt.gca().xaxis.set_ticks_position('none')
plt.gca().yaxis.set_ticks_position('none')
plt.grid(True, which='minor', linestyle='-')
plt.gcf().subplots_adjust(bottom=0.15)

plot_confusion_matrix(cm_normalized, title='Normalized confusion matrix')
#show confusion matrix
plt.show()

閱讀全文

與python混淆矩陣畫圖不清楚相關的資料

熱點內容
堵車如何緩解壓力 瀏覽:15
喜鵲快貸app怎麼了 瀏覽:263
海龜編輯器積木編程怎麼安裝 瀏覽:185
程序員理發店生意怎麼樣 瀏覽:603
程序員羅技 瀏覽:180
軟考初級程序員課程2021下載 瀏覽:491
杭州程序員奶奶 瀏覽:880
不聽命令造成錯誤 瀏覽:981
kool系統源碼 瀏覽:610
流氓app在哪裡看 瀏覽:98
域名購買了怎麼指向伺服器 瀏覽:121
安卓手機如何讓照片顏色反轉 瀏覽:859
怎麼下載卓睿安手機版 瀏覽:514
h3crange命令 瀏覽:468
php前景和python 瀏覽:338
php壓縮圖片內存大小 瀏覽:495
在哪裡可以查看雲伺服器的信息 瀏覽:70
python讀取非txt文件 瀏覽:799
艾莫迅用什麼編程軟體好 瀏覽:227
android文件存儲讀取 瀏覽:214