Python3入门机器学习之2.4分类准确度
Python3入门机器学习2.4 分类准确度在上一节中,我们用这样一行代码来求预测的准确率:sum(y_predict == y_test)/len(y_test)我们可以将它封装成一个函数。(1).封装求分类准确度的函数:将它封装成一个函数,写在metrics(衡量指标)模块下,函数名为“accuracy_score”。具体的函数封装如下:import numpy as npdef accura
·
Python3入门机器学习
2.4 分类准确度
在上一节中,我们用这样一行代码来求预测的准确率:
sum(y_predict == y_test)/len(y_test)
我们可以将它封装成一个函数。
(1).封装求分类准确度的函数:
将它封装成一个函数,写在metrics(衡量指标)模块下,函数名为“accuracy_score”。具体的函数封装如下:
import numpy as np
def accuracy_score(y_true, y_predict):
'''计算y_true和y_predict之间的准确率'''
assert y_true.shape[0] == y_predict.shape[0], \
"the size of y_true must be equal to the size of y_predict"
return sum(y_true == y_predict) / len(y_true)
这样我们就可以直接调用这个函数,来求解分类的准确度,如下:

(2).进一步封装一个函数,不需要求预测值,就能得到准确率:
以上是用KNNClassifier预测出y_predict,再看它与真值之间的准确率是怎样的。不过有些时候我们对预测值是多少不感兴趣(不想求出它),我们只对模型的准确率感兴趣,这样我们可以在我们的kNN算法里进一步封装一个函数,也就是求这个kNN算法它的准确度是怎样的。封装如下:
def score(self, X_test, y_test):
'''根据测试数据集 X_test 和 y_test 确定当前模型的准确度'''
y_predict = self.predict(X_test)
return accuracy_score(y_test, y_predict)
这样我们就可以直接调用这个函数,来求解分类的准确度,如下:

(3).使用scikit-learn中的accuracy_score:

更多推荐
所有评论(0)