机器学习-分类算法评估标准
一. 准确率 accuracy
将预测结果和测试集的目标值比较,计算预测正确的百分比
准确率越高说明模型效果越好
from sklearn import datasets
from sklearn.model_selection import train_test_split
from sklearn.neighbors import KNeighborsClassifier
#加载鸢尾花数据
X,y = datasets.load_iris(return_X_y = True)
#训练集 测试集划分
X_train,X_test,y_train,y_test = train_test_split(X,y,test_size=0.2)
# 创建KNN分类器对象 近邻数为6
knn_clf = KNeighborsClassifier(n_neighbors=6)
#训练集训练模型
knn_clf.fit(X_train,y_train)
#使用训练好的模型进行预测
y_predict = knn_clf.predict(X_test)
计算准确率:
sum(y_predict == y_test) / len(y_test)
0.9333333333333333
sklearn.metrics包中的accuracy_score方法: 传入预测结果和测试集的标签, 返回预测准去率
from sklearn.metrics import accuracy_score
accuracy_score(y_test, y_predict)
0.9333333333333333
分类模型对象的 score 方法:传入测试集特征值,测试集目标值
knn_clf.score(X_test, y_test)
0.9333333333333333