基础分类算法小结(一)
来源:互联网 发布:淘宝网用电脑登录不了 编辑:程序博客网 时间:2024/04/29 09:59
学习了一些基础分类算法的Python实现,对比之前只看书的方法,这一次看程序帮助理解更深,防止忘记,屡一下思路。
1.朴素贝叶斯(Naivebayes)
(1)原理:对于给出的待分类项,求解在此项出现的条件下各个类别出现的概率,哪个最大,就认为此待分类项属于哪个类别。
1.朴素的含义:特征相互独立性
2.对极大似然估计的修正问题。(防止0概率)
(2)实现:
<1>计算每个分类的类别概率p(y1)、p(y2)...
<2>计算不同类别下各个属性的概率p(x1|y1)、p(x2|y1)、p(x3|y1)...p(x1|y2)、p(x2|y2)...
<3>
p(x|y1)=p(x1|y1)*p(x2|y1)*p(x3|y1)*.........
<4>求后验概率:p(y1|testx)=p(x|y1)*p(y1)/Σ(对各类来说分母都一样,所以只算分子)
p(y2|testx)=p(x|y2)*p(y2)
......
比较后验概率,选择最大的所对应类别。
(3)对于特征相关性不大的预测效果很好
2.k近邻算法(KNN)
(1)实现:<1>计算一个预测样本到各个训练样本的距离(相似度)
<2>k一般指在15以内的奇数,表示离预测样本最近的K个训练样本。
对距离排序后,选择出前K个距离值小的训练样本对应的类别。
<3>K里哪个类别最多,即为预测类别
(2)特点:比较简单的一个方法,准确率一般。K多的时候训练太慢、盲目计算所有距离。
改进:加权距离、计算压缩到在接近测试样本邻域的小范围内(kd树)
3.逻辑回归(logistics regesstion)
一般用于两类分类
(1)实现: <1>连续值映射到离散二值上,对sigmoid function的理解。(与样本的概率联系起来)
<2>代价函数最小(梯度下降法)训练权值。
<3>做出分类
具体参看洞庭小哥的总结:http://blog.csdn.net/dongtingzhizi/article/details/15962797
(2)用于多分类时候,一对多思想,几个类就训练出几组权值,带入测试数据选择使概率最大的权值对应的类别。(待实现)参看博主bass58的博 文:http://blog.csdn.net/bdss58/article/details/42065383
1 0
- 基础分类算法小结(一)
- 算法小结(一)
- 分类算法小结
- 决策树分类算法小结
- 个人算法小结(一)
- 排序算法小结(一)
- 算法导论小结(一)
- 基础算法(一):Random Ferns分类器原理及其应用
- 深度学习基础(一):logistic分类
- 机器学习算法面试口述(7):分类小结
- Weka学习一(分类器算法)
- 机器学习--分类算法(一)决策树
- 分类算法(一)——决策树
- 模式识别几何分类算法实现(一)
- 目标跟踪算法的分类(一)
- Weka学习一(分类器算法)
- 基础算法小结
- 基础算法小结
- jQuery在线选座系统(高铁版)
- mysql的only_full_group_by
- 方法引用
- iOS安装包瘦身指南
- cocos调用FileUtil移除目录的问题
- 基础分类算法小结(一)
- Unity3D——Mecanim动画 AnimatorTransitionInfo和AnimatorStateInfo 在角色移动和待机平滑切换中的应用
- NDK-CPP语言-运算符重载
- IniWebEnvironment中的FilterChainResolver加载过程分析
- Mac OS X上IntelliJ IDEA 13与Tomcat 8的Java Web开发环境搭建
- 腾讯云ubuntu 安装 lxml && MySQL-python
- quartz的CronExpression表达式详解
- 一个简单的返回顶部jQuery程序代码
- 理解 _WidgetBase