Python之算法评估-4
2024-08-26 11:48:57
一、评估算法的方式分两种,一种是分类算法的评估,一种是回归算法的评估。为什么要分两种呢,因为分类算法中可以通过准确率、精准率、召回率、混淆矩阵、AUC来评估算法的准确度。但是在预测值的时候是没有办法去获得这个准确值(比如分类对了,那就对了,错了就是错了,可以通过对错来统计准确率),那么回归算法的方式,就通过均方误差来确认算法的准确度。
二、分类算法的评估(以K-近邻算法来说)
knn = KNeighborsClassifier(n_neighbors=5)
knn.fit(x_train, y_train)
y_predict = knn.predict(x_test)
print("预测值:", y_predict) # 5、评估
# 评估
score = knn.score(x_test, y_test)
print("准确率:", score)
说明:可以通过predict()函数来预测结果
source()来出来预测准确率(理解为真实预测数据/所有数据)
其中还有其他的值的算法过程,和进准率差不多。
数据:
预测值 0 预测值 1
真实值 0 TN FP
真实值 1 FN TP
精准率(precision):
TP
precision = ——————
TP + FP
召回率(recall):
TP
recall = ———————
TP + FN
模型的稳定性:
2TP 2precision * recall
F1 = ————————————— = ———————————————————
2TP + FN + FP precision + recall
三、均方误差
from sklearn.metrics import mean_squared_error def mean_squared_error(y_true, y_pred,
sample_weight=None,
multioutput='uniform_average'):
...
主要参数,y_true,y_pred:真实值,预测值
公式:
1 m _
MSE = ——— ∑(yi - y)^2
m i=1
_
yi:预测值 y:真实值
一定要标准化之前的值
四、统一说明:在分类算法中准确率只是其中的一项,以越接近100%,越准确。回归算法中以MSE(均方误差值越小,越准确)
最新文章
- Jquery跨域访问java接口
- 数据库错误:check the manual that corresponds to your MySQL server version for the right sy
- 关于OnEraseBkgnd和OnPaint的转载
- Linux 信号详解四(pause,alarm)
- 难得的中文ASP.NET 5/MVC 6入门教程
- 查看oracle被锁的表
- index merge的一次优化
- Correlation rule tuning
- hdu3278Puzzle
- AIDL原理解析
- 在LaTeX 与 LyX 中设置“Contents”为“目录”
- code force 403B.B. The Meeting Place Cannot Be Changed
- 关于Tsung脚本无法停止的问题
- sts 和 lombok
- System.Collections.Generic 源码阅读总结
- Py中的矩阵乘法【转载】
- java设计模式-----21、备忘录模式
- ftp通用类2
- [CoreOS 转载]CoreOS实践指南(二):架设CoreOS集群
- vnc 登录 Ubuntu gnome 桌面出现 QXcbConnection : Failed to initialize XRandr 错误,然后打不开