sklearn笔记11 KNN模型评价指标

完整代码 sklearn代码7 6-KNN癌症诊断(2)

代码依旧使用癌症诊断代码

模型评估:
官网查看
sklearn笔记11 KNN模型评价指标_第1张图片
sklearn笔记11 KNN模型评价指标_第2张图片

sklearn笔记11 KNN模型评价指标_第3张图片
sklearn笔记11 KNN模型评价指标_第4张图片

import numpy as np

import pandas as pd

from pandas import Series,DataFrame

from sklearn.neighbors import KNeighborsClassifier

from sklearn.model_selection import train_test_split

# grid网格 search搜索 cv:cross_validation
# 搜索算法最合适的参数
from sklearn.model_selection import GridSearchCV

# 导包准确率得分
from sklearn.metrics import accuracy_score

sklearn笔记11 KNN模型评价指标_第5张图片

accuracy_score(y_test,y_)  #准确率得分,与上述计算结果一致

sklearn笔记11 KNN模型评价指标_第6张图片

# 取出来最好的模型,进行预测
# 也是直接使用gcv去预测,结果一样的
knn_best = gcv.best_estimator_

knn_best.predict(X_test)
accuracy_score(y_test,y_)

sklearn笔记11 KNN模型评价指标_第7张图片
交叉表

pd.crosstab(index = y_test,columns=y_,rownames=['True'],colnames=['predict'])   #交叉表

sklearn笔记11 KNN模型评价指标_第8张图片

X_test.shape
pd.crosstab(index = y_test,columns=y_,rownames=['True'],colnames=['predict'],
           margins = True)   #交叉表

sklearn笔记11 KNN模型评价指标_第9张图片
分类指标之一
sklearn笔记11 KNN模型评价指标_第10张图片

from sklearn.metrics import confusion_matrix

confusion_matrix(y_test,y_)

sklearn笔记11 KNN模型评价指标_第11张图片
sklearn笔记11 KNN模型评价指标_第12张图片

from sklearn.metrics import classification_report

print(classification_report(y_test,y_,target_names = ['B','M']))

sklearn笔记11 KNN模型评价指标_第13张图片
分别为精确率,召回率和F-measures,是用来评价模型的指标
在这里插入图片描述
sklearn笔记11 KNN模型评价指标_第14张图片
recall 正样本的概率

# 真实的
y_test.value_counts()
# 预测
Series(y_).value_counts()

sklearn笔记11 KNN模型评价指标_第15张图片

np.round(73/74,2)
np.round(36/40,2)

sklearn笔记11 KNN模型评价指标_第16张图片

presicion准确率

计算公式表
sklearn笔记11 KNN模型评价指标_第17张图片

# presicion
np.round(73/(73+4),2)
np.round(36/37,2)

sklearn笔记11 KNN模型评价指标_第18张图片
f1-score计算方法

np.round((2*0.95*0.99)/(0.95+0.99),2)
np.round((2*0.97*0.9)/(0.97+0.9),2)

sklearn笔记11 KNN模型评价指标_第19张图片
精确率,召回率和f1-score都是越大越好,一般情况下,其中带score的都是越大越好

你可能感兴趣的:(python,scikit-learn模块,sklearn,python,人工智能)