一、监督学习
功能是对新数据分类
1.朴素贝叶斯
根据概率来进行粗暴的分类,在很多变量的关系不清晰时使用最好,下面是个助于理解的好网站。
http://www.ruanyifeng.com/blog/2011/08/bayesian_inference_part_one.html
主要要去理解贝叶斯公式,还有多变量的联合公式
2.支持向量机
主要是为了找一个超平面,使类与类数据之间的间隔最大化
核函数,像linear与rbf这些不同的核函数产生的差别
伽玛
C参数对边界的影响
3.决策树
创建一个决策树来对样本进行分类
在分类过程中,墒在一级一级的往下降,而信息增益则是父节点到子节点墒的差值。
这里需要记住墒计算的公式和信息增益的计算公式。
特征数量的减少,可以加速这个算法的分类,但是会降低准确率。
4.KNN
根据最临近的类来决定当前对象的分类
k值会影响到精度
5.线性回归(其实是监督学习算法)
把数据点拟合到一根线上,我们的目标就是求这根线的斜率和截距
这里的score其实是求的R平方
梯度下降算法
去掉异常数据的方法
训练数据
去掉残差值最大的10%数据
重新训练,这个循环可以进行多次
去掉异常数据是个非常关键的步骤,可以结合散点图来看数据是否有异常
二、非监督学习
1.K-均值聚类
设定聚类中心个数时后,随机选取几个中心,然后根据与各个点之间的距离来移动这几个中心点,使它们分了这些数据。达到稳定状态时,就说明完成了聚类
这里在进行聚类前,对于某些特征要进行特征缩放,因为很有可能这两类特征值尺度不一样。
比如身高为180cm,体重为0.07吨,这样的数值聚类是不可靠的。
三、数据预处理
1.文本学习
词袋
停止词
提取词干
然后使用TfidfVectorizer对词袋的词进行向量化,进行一个加权
这里可能要做的一个事情是特征选择,因为词袋拿到的词可能会出现一些无意义的词。这样我们在进行聚类的时候,比如使用决策树进行聚类时,重点关注权重较高的那个词,看它是不是有问题,如果有问题,要在一开始选取词袋时就把这个词删除掉。
2.主成分分析PCA
其实就是把两个相关的特征,合并为同一个特征,合并的原则是在数据点的方差最大值方向提取出一个新轴,代替原有的两个特征
1. 将输入特征转化为主成分
2.可以用这些主成分来代替之前的输入特征来进行分类和回归
3.主成分的定义是数据中会使方差最大化的方向,它会使各个数据点在主成分的投影信息损失最小化
4.数据因特定主成分而产生的方差越大,那么该主成分的级别越高,因此产生的方差最大的主成分称为最大主成分。
5.主成分之间是相互垂直的,所以可以把各个主成分当做单独的特征对待
6.主成分的上限是数据集中的输入特征的数量,但是一般我们只使用前几个主成分。如果使用全部的主成分,那么它跟直接使用输入的原始特征相比,没有任何优势。
pca.fit()是创建主成分
pca.transform()是把原始数据转换为上面生成的主成分
一般来说,fit只进行一次,然后训练数据和测试数据各自进行transform,以使用相同的主成分。
3.交叉验证
把数据平均分成训练集和测试集
其中有代表性的是K折交叉验证
4.特征缩放
比如最大值最小值特征缩放,[0,24,39,100]变成[0,0.24,0.39,1]这样的