【Python机器学习】分类算法任务、分类模型评价指标详解(图文解释)

简介: 【Python机器学习】分类算法任务、分类模型评价指标详解(图文解释)

分类任务

设样本集S={s_1,s_2,…,s_m}包含m个样本,样本s_i=(x_i,y_i)包括一个实例x_i和一个标签y_i,实例由n维特征向量表示,即x_i=(x_i^(1),x_i^(2),…,x_i^(n))。

在学习过程,分类任务将样本集中的知识提炼出来,形成模型。完成分类任务的模型有决策函数模型、概率模型和神经网络模型三类。

决策函数分类模型建立了从实例特征向量到类别标签的映射Y=f(X),X是定义域,它是所有实例特征向量的集合,Y是值域,它是所有类别标签的集合。

概率分类模型建立了条件概率分布函数P ̂(Y|X),它反映了从实例特征向量到类别标签的概率映射。

神经网络分类模型建立了能正确反映实例特征向量与类别标签关系的神经网络N(S,W)。

记测试样本为x=(x^(1),x^(2),…,x^(n))。在判别过程中,决策函数分类模型依据决策函数Y=f(X)给予测试样本x一个类标签y ̂;概率分类模型依据条件概率P ̂(Y|X)计算在给定x时取每一个类标签y ̂的条件概率值,取最大值对应的y ̂作为输出;神经网络分类模型将x馈入已经训练好的网络N(S,W),从输出得到类标签y ̂。

如果值域只有两个值,则该模型是二分类的,如果多于两个值,则该模型是多分类的。

分类模型的评价指标

1.准确率(Accuracy)

准确率是指在分类中,用模型对测试集进行分类,分类正确的样本数占总数的比例:

sklearn.metrics.accuracy_score(y_true,y_pred,normalize=True,sample_weight=None)

2.混淆矩阵(Confusion Matrix)

混淆矩阵是对分类的结果进行详细描述的矩阵,对于二分类则是一个2×2的矩阵,对于n分类则是n×n的矩阵。

可以由混淆矩阵计算出准确率Accuracy:

3.平均准确率(Average Per-class Accuracy)

平均准确率的全称为:按类平均准确率,即计算每个类别的准确率,然后再计算它们的平均值。

平均准确率也可以通过混淆矩阵来计算:

4.精确率-召回率(Precision-Recall)

精确率-召回率包含两个评价指标,一般同时使用。精确率是指分类器分类正确(错误)的正样本的个数占该分类器所有分类为正(负)样本个数的比例。召回率是指分类器分类正确的正(负)样本个数占所有的正(负)样本个数的比例。

精确率是从预测的角度来看的,即预测为正(负)的样本中,预测成功的比例。召回率是从样本的角度来看的,即实际标签为正(负)的样本中,被成功预测的比例。准确率也是从样本的角度来看的,即所有样本中,正确预测的比例。与召回率不同,准确率是不分类别的。

在混淆矩阵中,预测为正的样本的精确率为:

预测为负的样本的精确率为:

真实正样本的召回率为:

真实负样本的召回率为:

5.F_1−score

精确率与召回率实际上是一对矛盾的值,有时候单独采用一个值难以全面衡量算法,F_1−score试图将两者结合起来作为一个指标来衡量算法。F_1−score为精确率与召回率的调和平均值,即:

创作不易 觉得有帮助请点赞关注收藏~~~

相关文章
|
25天前
|
机器学习/深度学习 算法 数据挖掘
K-means聚类算法是机器学习中常用的一种聚类方法,通过将数据集划分为K个簇来简化数据结构
K-means聚类算法是机器学习中常用的一种聚类方法,通过将数据集划分为K个簇来简化数据结构。本文介绍了K-means算法的基本原理,包括初始化、数据点分配与簇中心更新等步骤,以及如何在Python中实现该算法,最后讨论了其优缺点及应用场景。
77 4
|
22天前
|
机器学习/深度学习 算法 数据挖掘
C语言在机器学习中的应用及其重要性。C语言以其高效性、灵活性和可移植性,适合开发高性能的机器学习算法,尤其在底层算法实现、嵌入式系统和高性能计算中表现突出
本文探讨了C语言在机器学习中的应用及其重要性。C语言以其高效性、灵活性和可移植性,适合开发高性能的机器学习算法,尤其在底层算法实现、嵌入式系统和高性能计算中表现突出。文章还介绍了C语言在知名机器学习库中的作用,以及与Python等语言结合使用的案例,展望了其未来发展的挑战与机遇。
39 1
|
1月前
|
机器学习/深度学习 自然语言处理 算法
深入理解机器学习算法:从线性回归到神经网络
深入理解机器学习算法:从线性回归到神经网络
|
1月前
|
机器学习/深度学习 数据采集 数据可视化
Python数据科学实战:从Pandas到机器学习
Python数据科学实战:从Pandas到机器学习
|
1月前
|
机器学习/深度学习 数据可视化 数据处理
掌握Python数据科学基础——从数据处理到机器学习
掌握Python数据科学基础——从数据处理到机器学习
42 0
|
1月前
|
机器学习/深度学习 数据采集 人工智能
机器学习入门:Python与scikit-learn实战
机器学习入门:Python与scikit-learn实战
40 0
|
1月前
|
机器学习/深度学习 算法
深入探索机器学习中的决策树算法
深入探索机器学习中的决策树算法
37 0
|
1月前
|
机器学习/深度学习 算法 Python
机器学习入门:理解并实现K-近邻算法
机器学习入门:理解并实现K-近邻算法
36 0
|
4天前
|
算法
PAI下面的gbdt、xgboost、ps-smart 算法如何优化?
设置gbdt 、xgboost等算法的样本和特征的采样率
21 2
|
1月前
|
机器学习/深度学习 人工智能 算法
【手写数字识别】Python+深度学习+机器学习+人工智能+TensorFlow+算法模型
手写数字识别系统,使用Python作为主要开发语言,基于深度学习TensorFlow框架,搭建卷积神经网络算法。并通过对数据集进行训练,最后得到一个识别精度较高的模型。并基于Flask框架,开发网页端操作平台,实现用户上传一张图片识别其名称。
85 0
【手写数字识别】Python+深度学习+机器学习+人工智能+TensorFlow+算法模型
下一篇
DataWorks