亚洲精品久久久中文字幕-亚洲精品久久片久久-亚洲精品久久青草-亚洲精品久久婷婷爱久久婷婷-亚洲精品久久午夜香蕉

您的位置:首頁技術文章
文章詳情頁

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

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

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

1.輸入

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

2.處理

def my_preprocessing(train_data): from sklearn import preprocessing X_normalized = preprocessing.normalize(train_data ,norm = 'l2',axis=0)#使用l2范式,對特征列進行正則 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()函數:

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

my_feature_selection()函數:

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

my_PCA()函數:

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

clf_train()函數:

可用多種機器學習算法,如SVM, LR, RF, GBDT等等很多,其中像SVM需要調參數的,有專門調試參數的函數如StratifiedKFold()(見前幾篇博客)。以達到最優。

my_confusion_matrix()函數:

主要是針對預測出來的結果,和原來的結果對比,算出混淆矩陣,不必自己計算。其對每個類別的混淆矩陣都計算出來了,并且labels參數默認是排序了的。

my_classification_report()函數:

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

主要參考sklearn官網

補充拓展:[sklearn] 混淆矩陣——多分類預測結果統計

調用的函數:confusion_matrix(typeTrue, typePred)

typeTrue:實際類別,list類型

typePred:預測類別,list類型

結果如下面的截圖:

第i行:實際為第i類,預測到各個類的樣本數

第j列:預測為第j類,實際為各個類的樣本數

true↓ predict→

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

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

標簽: Python 編程
相關文章:
主站蜘蛛池模板: 国产精品国产精品国产专区不卡 | 欧美一级毛片免费网站 | 国产成人精品一区二区三在线观看 | zljzlj日本妈妈 | 69成人做爰免费视频 | 久久99精品福利久久久 | 成人亚洲天堂 | 亚洲 欧美 清纯 校园 另类 | 在线欧美69v免费观看视频 | 日韩在线 | 中文 | 久久草在线视频播放 | 人做人爱全免费视频 | 成人精品一区二区激情 | 国产又大又硬又粗又湿 | 中文字幕2022永久在线 | 国产精品情人露脸在线观看 | 操批视频| 日韩免费三级 | 国产高清免费午夜在线视频 | 爱爱激情视频 | 欧美日韩亚洲国产精品 | 看全大色黄大色黄大片一级爽 | 国产一级影院 | 免费观看国产 | 精品福利一区二区免费视频 | 欧美日韩免费一区二区三区 | 1024国产视频 | 亚洲黄色片一级 | 亚洲高清在线观看看片 | 国产乱人伦精品一区二区 | 欧美日韩不卡视频一区二区三区 | 91探花福利精品国产自产在线 | 成人夜色香网站在线观看 | 91精品一区二区三区在线观看 | 欧美三级自拍 | 日本黄色免费在线观看 | 亚州一区二区 | 欧美一区二区三区黄色 | 香蕉钻洞视频 | 国产网红主播chinese | 亚洲国产毛片aaaaa无费看 |