Python之算法评估-4
一、评估算法的方式分两种,一种是分类算法的评估,一种是回归算法的评估。为什么要分两种呢,因为分类算法中可以通过准确率、精准率、召回率、混淆矩阵、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(均方误差值越小,越准确)
Python之算法评估-4的更多相关文章
- python聚类算法实战详细笔记 (python3.6+(win10、Linux))
python聚类算法实战详细笔记 (python3.6+(win10.Linux)) 一.基本概念: 1.计算TF-DIF TF-IDF是一种统计方法,用以评估一字词对于一个文件集或一个语料库 ...
- Python基础算法综合:加减乘除四则运算方法
#!usr/bin/env python# -*- coding:utf-8 -*-#python的算法加减乘除用符号:+,-,*,/来表示#以下全是python2.x写法,3.x以上请在python ...
- xsank的快餐 » Python simhash算法解决字符串相似问题
xsank的快餐 » Python simhash算法解决字符串相似问题 Python simhash算法解决字符串相似问题
- 隐马尔科夫模型HMM(二)前向后向算法评估观察序列概率
隐马尔科夫模型HMM(一)HMM模型 隐马尔科夫模型HMM(二)前向后向算法评估观察序列概率 隐马尔科夫模型HMM(三)鲍姆-韦尔奇算法求解HMM参数(TODO) 隐马尔科夫模型HMM(四)维特比算法 ...
- 条件随机场CRF(二) 前向后向算法评估标记序列概率
条件随机场CRF(一)从随机场到线性链条件随机场 条件随机场CRF(二) 前向后向算法评估标记序列概率 条件随机场CRF(三) 模型学习与维特比算法解码 在条件随机场CRF(一)中我们总结了CRF的模 ...
- python排序算法实现(冒泡、选择、插入)
python排序算法实现(冒泡.选择.插入) python 从小到大排序 1.冒泡排序: O(n2) s=[3,4,2,5,1,9] #count = 0 for i in range(len(s)) ...
- 图像配准建立仿射变换模型并用RANSAC算法评估
当初选方向时就由于从小几何就不好.缺乏空间想像能力才没有选择摄影測量方向而是选择了GIS. 昨天同学找我帮他做图像匹配.这我哪里懂啊,无奈我是一个别人有求于我,总是不好意思开口拒绝的人.于是乎就看着他 ...
- Python C3 算法 手动计算顺序
Python C3 算法 手动计算顺序 手动计算类继承C3算法原则: 以所求类的直接子类的数目分成相应部分 按照从左往右的顺序依次写出继承关系 继承关系第一个第一位,在所有后面关系都是第一个出现的 ...
- python聚类算法解决方案(rest接口/mpp数据库/json数据/下载图片及数据)
1. 场景描述 一直做java,因项目原因,需要封装一些经典的算法到平台上去,就一边学习python,一边网上寻找经典算法代码,今天介绍下经典的K-means聚类算法,算法原理就不介绍了,只从代码层面 ...
随机推荐
- Qt动画框架The Animation Framework
动画框架是Kinetic(运动)项目的一部分,它的目标是提供一中简单的方法创建动画的和流畅的GUI.借助Qt动画属性,可以提供非常自由的动画窗体组件和其他对象(QObjects).动画框架也能被用于图 ...
- Android 自定义View 四个构造函数详解
https://blog.csdn.net/zhao123h/article/details/52210732 在开发android开发过程中,很多人都会遇到自定义view,一般都需要继承自View类 ...
- ISO/IEC 9899:2011 条款6.5.7——按位移位操作符
6.5.7 按位移位操作符 语法 1.shift-expression: additive-expression shift-expression << additive-ex ...
- array_fill 填充数组内容
<?php $a = array_fill(, , 'banana'); $b = array_fill(-, , 'pear'); print_r($a); print_r($b) Array ...
- 【Leetcode_easy】994. Rotting Oranges
problem 994. Rotting Oranges 参考 1. Leetcode_easy_994. Rotting Oranges; 完
- Selenium2+python自动化2.7-火狐44版本环境搭建(转)
转载地址:https://www.cnblogs.com/yoyoketang/p/selenium.html 前言 目前selenium版本已经升级到3.0了,网上的大部分教程是基于2.0写的,所以 ...
- 最新 安易迅java校招面经 (含整理过的面试题大全)
从6月到10月,经过4个月努力和坚持,自己有幸拿到了网易雷火.京东.去哪儿. 安易迅等10家互联网公司的校招Offer,因为某些自身原因最终选择了 安易迅.6.7月主要是做系统复习.项目复盘.Leet ...
- formSelects隐藏功能键
隐藏后 方法: // selectId就是select的id,这是在select渲染完后执行 $("#selectId").parent().find(".xm-sele ...
- Linux题库练习
转一个Linux的题库供自己学习使用(滑稽) 转自:http://www.linuxdiyf.com/view_202485.html 选择题1 在终端下输入mount -a命令的作用是:CA 强制进 ...
- Qt 编译出错“undefined reference to `vtable for”
1. 有时,如果将某个类改为继承自QObject类(以前不继承自该类),编译时会出错. 解决: clean Project, run qmake, rebulid都运行一遍,好了! 因为qmake生成 ...