首页 > 编程知识 正文

算法特性有哪些,算法的重要特性

时间:2023-05-04 17:42:30 阅读:51345 作者:2287

分类算法概述一、什么是分类算法数据挖掘任务通常分为两类。

预测任务,并根据其他属性的值预测特定属性的值。 描述任务,总结数据中潜在的联系模式(相关性、趋势、聚类、轨迹和异常)

分类属于预测任务,意味着通过学习现有数据集(训练集),得到目标函数f )模型,将每个属性集x映射到目标属性y )类,并且y必须是连续的,则属于回归算法

二、分类的基本流程1,模型制作

分类过程首先需要把生活的数据处理成计算机能够理解的数据(通常是表)。 以蚂蚁天池大赛为例,了解顾客的行为信息和商品内容,预测推荐哪些商品会被顾客购买。

人的所有行为都可以抽象为属性,是否购买过同类产品,购物的频率是多少,从点击网页到放入购物车的平均时间是多少,从放入购物车到下单的时间是多少购物篮里的东西有没有拿出来过,有没有评论过购物的习惯,有没有退货的习惯,最贵的是哪个价格,最便宜的是哪个价格……。

数据名称属性顾客id1是否买过同类商品, 购物频率2有没有退货习惯最贵的是有没有买过多少799个商品最便宜的是有没有买过多少32个商品平均从78次购物之日到3天前的现实生活中数据可能有很多属性, “是否买过最便宜的东西”的属性可以删除,然后将“购物频率”-“三天一次”设为“购物频率(月)”-「0.1”,以仅保留“到上次购物之日为止”和“购物频率”这两个属性

(1)特征选择

减少特征数量、降维,增强模型泛化能力,减少过拟合提高特征与特征之间的理解

)2)数据类型

数据集可以视为数据对象的集合,数据对象的其他名称为记录向量,http://www http://www.Sina即3358www.Sina.com/,属性的其他名称为模式事件样本

表中的学生id、年级、平均成绩均为属性,每列所有内容称为一条记录或一个样本。

)3)属性类型和属性转换

首先,检查选定的特征是什么类型,然后将属性转换为计算机可以理解的格式。 人名是公称属性,但在某些情况下人名可能重复,可以转换为不重复的id。

(图为《数据挖掘导论》中文版p17起)

接着,根据值的个数,可以将属性分类为实体变量。 在“肤色”属性中,“黑”、“白”、“黄”三个值的价值相同,但“

(4)模型制作

以上步骤可以将生活中的数据转换为计算机能理解的格式。

模型说明

稀疏性:如果数据集的非对称属性中的“是”值较少,则会将其视为稀疏性的高维属性。 属性数2,选择算法

分类算法根据原理可分为以下四大类。

基于统计,例如特性规则,例如字段神经网络,例如神经网络算法基于距离,例如

预测模型(直接告诉您数据应该归入哪个类的概率模型)不直接告诉您结果,但告诉您属于每个类的概率)性能和结果测量:

精度:指模型准确预测新数据或从未见过的数据的类标签的能力。 这也是模特的首要能力。 如果模型的分类精度小于50%,则认为其结果是无价值的。 在其他条件同等的情况下,当然优先精度高的分类方法。 速度:生成和使用模型的时间复杂性。 一般来说,其数量与分类精度成比例,因此生成模型的实验数据集庞大。 如果创建和使用模型所需的时间太长,将严重影响用户的使用。 鲁棒性:模型对特定噪声数据或具有空缺值的数据的准确预测能力。 现实的数据库通常有噪声,有时很大。 如果某个分类器不擅长消除噪声的影响,就会严重影响分类精度。 可伸缩性:指提供大量数据,有效构建模型的能力。 虽然有些分类器可以在数据量较少时有效地构建模型,但随着数据量的增加,其结构模型的能力会明显下降,最终也会影响分类精度。 可描述性:指学习模式提供的理解和洞察水平。 其中计算精度主要是基于配置矩阵(confusion matrix,confusion matrix )的计算,一个完善的分类模型是一个客户实际上在(Actua )上

l)属于类别good,也预测成(Predicted)good,处于类别bad,也就预测成bad。但从上面我们看到,一些实际上是good的客户,根据我们的模型,却预测他为bad,对一些原本是bad的客户,却预测他为good。我们需要知道,这个模型到底预测对了多少,预测错了多少,混淆矩阵就把所有这些信息,都归到一个表里:

        预测     true     false实 true a       b际 false    c       d其中: 1. d是正确预测到的负例的数量, True Negative(TN,0->0) 2. c是把负例预测成正例的数量, False Positive(FP, 0->1) 3. b是把正例预测成负例的数量, False Negative(FN, 1->0) 4. a是正确预测到的正例的数量, True Positive(TP, 1->1) 5. c+d是实际上负例的数量,Actual Negative 6. a+b是实际上正例的个数,Actual Positive 7. b+d是预测的负例个数,Predicted Negative 8. a+c是预测的正例个数,Predicted Positive

几组常用的评估指标:

召回率(recall,R)/敏感性sensitivity:针对good的正确覆盖率,预测对的good实例/实际good的实例 =a/(a+b)精确率(precision,P):预测为good的所有样本中实际为good搜所占的数目,预测对的good实例/预测good的实例 =a/(a+c)f-measure:是一种统计量,常用于评价模型的好坏,取值在0到1之间。 f-measure=(2×P×R)/(R+P)

因为大部分情况下准确率提升召回率就会下降,所以一般以f-measure值作为衡量分类器的标准.

三、简单的分类算法介绍

1、如何选择合适的算法

  如果你的训练集很小,高偏差/低方差的分类器(如朴素贝叶斯)比低偏差/高方差的分类器(如K近邻或Logistic回归)更有优势,因为后者容易过拟合。但是随着训练集的增大,高偏差的分类器并不能训练出非常准确的模型,所以低偏差/高方差的分类器会胜出(它们有更小的渐近误差)。你也可以从生成模型与鉴别模型的区别来考虑它们。

2、简单的分类模型

朴素贝叶斯(Naive Bayes, NB)
  根据条件独立假设与贝叶斯公式,计算样本属于每个类的概率。

决策树(Decision Tree, DT)
  根据特征集取值不同,将样本逐层划分并建立规则,直到某一个样本集合内的所有样本属于同一类。

K近邻(K-nearest neighbors, KNN)
  kNN 算法的思路非常简单直观:如果一个样本在特征空间中的 k 个最相似 ( 即特征空间中最邻近 ) 的样本中的大多数属于某一个类别,则该样本也属于这个类别。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。