国产成人精品久久免费动漫-国产成人精品天堂-国产成人精品区在线观看-国产成人精品日本-a级毛片无码免费真人-a级毛片毛片免费观看久潮喷

您的位置:首頁技術(shù)文章
文章詳情頁

python sklearn包——混淆矩陣、分類報(bào)告等自動生成方式

瀏覽:7日期:2022-08-05 10:34:58

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

1.輸入

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

2.處理

def my_preprocessing(train_data): from sklearn import preprocessing X_normalized = preprocessing.normalize(train_data ,norm = 'l2',axis=0)#使用l2范式,對特征列進(jìn)行正則 return X_normalized def my_feature_selection(data, target): from sklearn.feature_selection import SelectKBest from sklearn.feature_selection import chi2 data_new = SelectKBest(chi2, k= 50).fit_transform(data,target) return data_new def my_PCA(data):#data without target, just train data, withou train target. from sklearn import decomposition pca_sklearn = decomposition.PCA() pca_sklearn.fit(data) main_var = pca_sklearn.explained_variance_ print sum(main_var)*0.9 import matplotlib.pyplot as plt n = 15 plt.plot(main_var[:n]) plt.show() def clf_train(data,target): from sklearn import svm #from sklearn.linear_model import LogisticRegression clf = svm.SVC(C=100,kernel='rbf',gamma=0.001) clf.fit(data,target) #clf_LR = LogisticRegression() #clf_LR.fit(x_train, y_train) #y_pred_LR = clf_LR.predict(x_test) return clf def my_confusion_matrix(y_true, y_pred): from sklearn.metrics import confusion_matrix labels = list(set(y_true)) conf_mat = confusion_matrix(y_true, y_pred, labels = labels) print 'confusion_matrix(left labels: y_true, up labels: y_pred):' print 'labelst', for i in range(len(labels)): print labels[i],'t', print for i in range(len(conf_mat)): print i,'t', for j in range(len(conf_mat[i])): print conf_mat[i][j],’t’, print print def my_classification_report(y_true, y_pred): from sklearn.metrics import classification_report print 'classification_report(left: labels):' print classification_report(y_true, y_pred)

my_preprocess()函數(shù):

主要使用sklearn的preprocessing函數(shù)中的normalize()函數(shù),默認(rèn)參數(shù)為l2范式,對特征列進(jìn)行正則處理。即每一個(gè)樣例,處理標(biāo)簽,每行的平方和為1.

my_feature_selection()函數(shù):

使用sklearn的feature_selection函數(shù)中SelectKBest()函數(shù)和chi2()函數(shù),若是用詞袋提取了很多維的稀疏特征,有必要使用卡方選取前k個(gè)有效的特征。

my_PCA()函數(shù):

主要用來觀察前多少個(gè)特征是主要特征,并且畫圖。看看前多少個(gè)特征占據(jù)主要部分。

clf_train()函數(shù):

可用多種機(jī)器學(xué)習(xí)算法,如SVM, LR, RF, GBDT等等很多,其中像SVM需要調(diào)參數(shù)的,有專門調(diào)試參數(shù)的函數(shù)如StratifiedKFold()(見前幾篇博客)。以達(dá)到最優(yōu)。

my_confusion_matrix()函數(shù):

主要是針對預(yù)測出來的結(jié)果,和原來的結(jié)果對比,算出混淆矩陣,不必自己計(jì)算。其對每個(gè)類別的混淆矩陣都計(jì)算出來了,并且labels參數(shù)默認(rèn)是排序了的。

my_classification_report()函數(shù):

主要通過sklearn.metrics函數(shù)中的classification_report()函數(shù),針對每個(gè)類別給出詳細(xì)的準(zhǔn)確率、召回率和F-值這三個(gè)參數(shù)和宏平均值,用來評價(jià)算法好壞。另外ROC曲線的話,需要是對二分類才可以。多類別似乎不行。

主要參考sklearn官網(wǎng)

補(bǔ)充拓展:[sklearn] 混淆矩陣——多分類預(yù)測結(jié)果統(tǒng)計(jì)

調(diào)用的函數(shù):confusion_matrix(typeTrue, typePred)

typeTrue:實(shí)際類別,list類型

typePred:預(yù)測類別,list類型

結(jié)果如下面的截圖:

第i行:實(shí)際為第i類,預(yù)測到各個(gè)類的樣本數(shù)

第j列:預(yù)測為第j類,實(shí)際為各個(gè)類的樣本數(shù)

true↓ predict→

python sklearn包——混淆矩陣、分類報(bào)告等自動生成方式

以上這篇python sklearn包——混淆矩陣、分類報(bào)告等自動生成方式就是小編分享給大家的全部內(nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持好吧啦網(wǎng)。

標(biāo)簽: Python 編程
相關(guān)文章:
主站蜘蛛池模板: 亚洲最大网址 | 日韩制服诱惑 | dy888午夜国产午夜精品 | 一区二区三区在线 | 日本 | 伊人色综合久久天天人手人停 | 亚洲性在线| 久久精品免费一区二区三区 | 玖玖精品 | 综合自拍亚洲综合图区美腿丝袜 | 一区二区三区视频观看 | 高清国产一级精品毛片基地 | 福利社色 | 在线观看亚洲免费视频 | 日韩大片高清播放器大全 | 色综合久久88色综合天天 | bt天堂国产亚洲欧美在线 | 手机在线黄色网址 | 国产精品免费一区二区三区四区 | 一级做a爰片久久毛片鸭王 一级做a爰全过程免费视频毛片 | 无毒在线 | 99精品国产高清一区二区三区香蕉 | 91香蕉国产线在线观看免费 | 成人在线综合网 | v片视频| 三级黄色网 | 自拍视频精品 | 中文字幕有码在线观看 | 国产三级在线免费 | 伊人久久网站 | 国产成人在线小视频 | 亚洲一区二区精品 | 真实偷清晰对白在线视频 | 中文字幕在线免费观看 | 日本中文字幕不卡免费视频 | 国产在线成人一区二区 | 99国产国人青青视频在线观看 | 国内国语一级毛片在线视频 | 成人性色生活片免费网 | 美女张开腿让男人桶爽动漫视频 | 在线免费一级片 | 中文字幕乱码无线码在线 |