sklearn建模及評估(分類)
分類是指構造一個分類模型,輸入樣本的特徵值,輸入出對應的類別,將每個樣本對映到預先定義好的類別。Sklearn中分類演算法很多,用於不同場景,常用的有 linear_model 、 svm 、 neighbors 、 naïve _ bayes 、 tree 、 ensemble ( R andomForestClassifier )、 ensemble (GradientBoosting C lassifier) 等。
以 breast_cancer 為例,使用 sklearn 估計器構建支援向量機 SVM 模型,程式碼如下:
## 載入所需的函式,
import numpy as np
from sklearn.datasets import load_breast_cancer
from sklearn.svm import SVC
from sklearn.model_selection import train_test_split
from sklearn.preprocessing import StandardScaler
cancer = load_breast_cancer()
cancer_data = cancer['data']
cancer_target = cancer['target']
cancer_names = cancer['feature_names']
## 將資料劃分為訓練集測試集
cancer_data_train,cancer_data_test, \
cancer_target_train,cancer_target_test = \
train_test_split(cancer_data,cancer_target,
test_size = 0.2,random_state = 22)
## 資料標準化
stdScaler = StandardScaler().fit(cancer_data_train)
cancer_trainStd = stdScaler.transform(cancer_data_train)
cancer_testStd = stdScaler.transform(cancer_data_test)
## 建立SVM模型
svm = SVC().fit(cancer_trainStd,cancer_target_train)
print('建立的SVM模型為:\n',svm)
## 預測訓練集結果
cancer_target_pred = svm.predict(cancer_testStd)
print('預測前20個結果為:\n',cancer_target_pred[:20])
print('預測前20個結果為:\n',cancer_target_pred[:])
## 求出預測和真實一樣的數目
true = np.sum(cancer_target_pred == cancer_target_test )
print('預測對的結果數目為:', true)
print('預測錯的的結果數目為:', cancer_target_test.shape[0])
print('預測錯的的結果數目為:', cancer_target_test.shape[0]-true)
print('預測結果準確率為:', true/cancer_target_test.shape[0])
# 分類模型常用的評價方法
from sklearn.metrics import accuracy_score,precision_score, \
recall_score,f1_score,cohen_kappa_score
print('使用SVM預測breast_cancer資料的準確率為:',
accuracy_score(cancer_target_test,cancer_target_pred))
print('使用SVM預測breast_cancer資料的精確率為:',
precision_score(cancer_target_test,cancer_target_pred))
print('使用SVM預測breast_cancer資料的召回率為:',
recall_score(cancer_target_test,cancer_target_pred))
print('使用SVM預測breast_cancer資料的F1值為:',
f1_score(cancer_target_test,cancer_target_pred))
print('使用SVM預測breast_cancer資料的Cohen’s Kappa係數為:',
cohen_kappa_score(cancer_target_test,cancer_target_pred))
# 分類模型評價報告
from sklearn.metrics import classification_report
print('使用SVM預測iris資料的分類報告為:','\n',
classification_report(cancer_target_test,
cancer_target_pred))
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/18841027/viewspace-2655938/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- sklearn建模及評估(聚類)聚類
- 評估指標與評分(上):二分類指標指標
- 分類演算法的評估指標演算法指標
- 【模型評估與選擇】sklearn.model_selection.KFold模型
- Support Vector Machines(SVM)如何根據虹膜分類評估性格類別?Mac
- 基於sklearn的分類器實戰
- sklearn學習 第一篇:knn分類KNN
- Sklearn中的樸素貝葉斯分類器`
- 二分類問題中混淆矩陣、PR以及AP評估指標矩陣指標
- [譯] Sklearn 中的樸素貝葉斯分類器
- CVPR 2019 | 弱監督影像分類建模
- 使用sklearn實現svm--用於機械故障分類
- 資料庫效能需求分析及評估模型資料庫模型
- 多標籤分類的結果評估---macro-average和micro-average介紹Mac
- 自我評估
- 機器學習之使用sklearn構建據類模型,並且評價模型機器學習模型
- Alink漫談(八) : 二分類評估 AUC、K-S、PRC、Precision、Recall、LiftChart 如何實現
- kafka容量評估Kafka
- NLP教程(2) | GloVe及詞向量的訓練與評估
- Xcode 7 Bitcode的工作流程及安全性評估XCode
- 資料資產價值評估常用方法及對比
- 系統效能評價---效能評估
- RAG應用評估
- JuiceFS 效能評估指南UI
- 缺陷評估規範
- Linux效能評估工具Linux
- 前端工時評估前端
- 【新特性速遞】評分,評分,評分
- 六種GAN評估指標的綜合評估實驗,邁向定量評估GAN的重要一步指標
- IP地址分類及範圍
- sklearn基礎及資料處理
- 音訊質量評估及音訊處理常用功能音訊
- 分類模型的演算法效能評價模型演算法
- 如何評價我們分類模型的效能?模型
- 什麼是風險評估?風險評估需要分析哪些內容?
- 什麼是網路安全風險評估?需要評估哪些內容?
- 如何更好評估信用貸風險?看這場評分卡模型直播就可以了模型
- Windows Server 啟用去評估WindowsServer