分类算法
susht
Dare To Be Yourself
展开
-
分类算法(5) ---- 决策树(ID3,C4.5,CTAR)
决策树内部节点表示基于某个属性的分裂,分支表示不同的属性,叶节点表示最终的数据分布。训练过程:初始化所有数据分布在根节点上,然后这个根节点通过选择属性进行分裂。直到没有多余的可以分裂的属性,或每个叶节点的样本都是一个类别的。剪枝:去掉不合理的会导致噪声的分支。使用算法:通过自顶而下递归分治的做法,将数据样本进行划分一. ID3算法 分裂属性的选择:选择原创 2016-05-19 19:47:50 · 1232 阅读 · 0 评论 -
分类算法(2) ---- 朴素贝叶斯算法(NB)
朴素贝叶斯法是基于贝叶斯定理与特征条件独立假设的分类方法。朴素贝叶斯分类器假设样本每个特征与其他特征都不相关。一. 基于离散变量 下面以一个简单的数据集为例,阐述基于NB的回归/预测模型: 上述三篇文本的词列表如下: 首先可以将上述两篇训练文本(train1和train2),以及一篇测试文本(test1原创 2016-05-19 14:28:50 · 1122 阅读 · 0 评论 -
分类算法(4) ---- 逻辑回归(LR)
LR模型属于广义线性模型,将特征空间映射成一种可能性。损失函数:逻辑回归函数:算法流程:代码实现: 设置迭代次数为500次,每次迭代,对每个训练文本都更新一次w 预测的方法是:先将训练文本与w相乘得到z,再判断g(z)是否大于等于0.5(在PLA的代码基础上进行修改就可以得到LR)#include#define rate原创 2016-05-19 15:49:14 · 857 阅读 · 0 评论 -
分类算法(3) ---- 感知机(PLA)
感知机是二分类模型,输入实例的特征向量,输出实例的±类别。梯度下降法:首先,任意选定w0、b0,然后用梯度下降法不断极小化目标函数,极小化的过程不是一次性把M中的所有误分类点梯度下降,而是一次选取一个误分类点使其梯度下降。PLA算法流程设置迭代次数,每次迭代,从第一个点开始,每遇到一个误分类点,就更新w得到最后的w,与测试文本进行矩阵相乘进行预测,大于0为1,小原创 2016-05-19 15:37:33 · 2194 阅读 · 0 评论 -
分类算法(1) ---- K近邻算法(KNN)
KNN算法是分类算法中最简单的一种,原理:如果一个样本在特征空间中的k个最相似的样本中的大多数属于某一个类别,则该样本也属于这个类别。实现方法:从训练集中找到和新数据距离最近的k条记录,然后预测新数据的类别。实验题目:已知246篇训练文本对应的公众在anger (愤怒)、disgust (厌恶)、fear (害怕)、joy (高兴)、sad (悲伤)、surpris原创 2016-05-18 21:41:04 · 880 阅读 · 0 评论 -
分类算法(6) ---- 支持向量机(SVM)
有监督学习:根据已有的输入与输出,生成一个输入-输出的映射函数。迭代前有人为操控。无监督学习:直接对输入数据集进行建模。 半监督学习:综合利用有类标和没类标的数据,生成合适的分类函数。分类:分类器从已有的训练集中学习,之后可以对未知的数据集进行分类。(有监督)聚类:不需要对训练集进行学习,只需要计算相识度,把相似的东西分到一组,而不关心是哪一类。(无监督)SVM是支原创 2016-05-21 15:29:24 · 980 阅读 · 0 评论