数据挖掘机器学习分类算法导论

数据挖掘机器学习分类算法导论

分类算法,简单来讲就是确定一个未知对象所在的预定义类别
分类的输入数据是样本的集合,用元组表示,即: ( 特 征 , 类 别 ) (特征,类别) 其中特征值可以是离散或者连续,而类别只能是离散,这是区别分类与回归的关键。

分类算法的任务就是通过学习训练数据集得到一个目标函数f,把每一个特征(x)一一映射到预定义类别y中,目标函数即为分类模型目前的分类算法比较适合二分类。


一、KNN(K最近邻)算法

基本思路

“近朱者赤,近墨者黑”,由你的邻居来推断你所属的类别。

确定K值

所谓的K值,就是特定范围内样本的个数,不同的K值,对目标样本的分类结果可能截然相反,在Python中,K值被默认为5。

交叉验证(cross-vaildation)可以用来确定K值,从K=1开始,逐个计算模型准确率。 一 般 而 言 , K 值 低 于 训 练 样 本 数 的 平 方 根 。 一般而言,K值低于训练样本数的平方根。 K

确定邻居

这个过程就是计算训练样本和待分类样本的距离,方法有:

确定待分类类别
  • 少数服从多数
  • 加权确定(权重为距离平方的倒数)
算法优缺点

优点

  1. 简单,无需训练,无需参数估计;
  2. 适合对稀有事件进行分类;
  3. 对多分类问题结果更好,比SVM要好些。

缺点

  1. 对测试样本分类需全遍历,计算量大;
  2. 当正负样本不平衡时,如一个类的样本量很大,而其他类样本量很小时,待测样本K个邻居中大样本量的类别中的样本占多数,导致分类错误。
Python版本

待更

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值