笔记抄写1——sklearn分类相关

一、Naive Bayes朴素贝叶斯

1. 特点

常用于文档分类和垃圾邮件过滤,假设特征间独立(所以叫朴素)。

需要训练集量少,训练快。

擅长分类,不擅长估计,结果的p值不必太认真对待。

2.种类

对P(xi|y)选择不同的分布使得NB分类器不同

1)高斯分布 sklearn.naive_bayes.GaussianNB

2) 多项式分布sklearn.naive_bayes.MultinomialNB

3) 伯努利分布sklearn.naive_bayes.BernoulliNB

二、Decision Tree决策树

1. 特点

好理解,可视

无需数据归一化,无需定义哑变量,但不支持缺失值

可处理数值型和分类型数据

容易过拟合,要修剪

树不稳定,用随机森林可以缓解

要预先使各类样本量平衡,否则树会有偏向

2. 注意

容易overfit,所以减少feature(降维),减少sample

3.各种算法区别

ID3:只接受分类变量,最大信息增益(熵),先建立最大的树,再修剪

C4.5:继承ID3,但使用信息增益率,可接受连续变量(会对其离散化),在树的构造过程中修剪。

CART:类似C4.5,接受目标变量是连续型,用gini指标算不纯度。

sklearn选用的是一个优化版的CART算法

三、Support Vector Machine SVM

1.特点

针对高维数据有效,甚至维数大于样本数时

建模完成后,只需存储少量的支持向量,节省存储

SVM不直接计算概率,而是用five-fold交叉验证法计算,花费较高(可以选择不计算)

数据需要归一化

2.多分类情况处理

SVC和NuSVC采用one-against-one策略,因此实际有n(n-1)/2个分类器

LinearSVC采用one-against-the rest策略,有n-1个分类器

OneClassSVM是非监督学习分类

3.注意

C惩罚因子值默认1,表示有多重视离群点,如果数据噪音大,可调低

一定要归一化数据

如果样本分类不平衡,可以用参数class_weight=‘balanced’

样本量最好不超过10000

4.核函数 linear、polynomial、rbf、sigmoid

5.SVR

是用SVM的方法做回归分析,不同的是,SVM是寻求一个最优化超平面使两类样本点分的最开,而SVR是寻求一个最优超平面,使所有样本点总偏差最小。

四、Nearest Neighbor

KNeighborsClassifier:找到K个最相近的点投票

RadiusNeighborsClassifier:找到半径内所有点投票

通常neighbors投票的权重都一样,weight=‘distance’,可以定义离得越近投票权重越大。

五、logistic regression

六、Ensemble methods

分两类:

1)平均方法,多分类器结果取平均

2)boosting methods 分类器逐个地建立起来,一个分类器可降低另一个的偏差,目的是联合起来多个弱的分类器。

RandomRorestClassifier:有放回取样;一个节点分裂时,从随机一组features中选最优;

AdaBoostClassifier:通过改进数据-->建模,这样多次迭代,得到多个分类器,然后看投票结果。最初所有样本的权重一样,一次建模后,预测错误的样本权重加大,预测正确的样本权重减小,再建模。

七、Multi-layer Perceptron多层感知机MLP

1.特点

适合非线性问题,可实时学习

用随机参数找残差和最低点时,最低点不只一个,所以不同的随机初始值会有不同结果。

激活函数:某个神经元接受了上一层神经元值加权和作为输入,用激活函数值作为输出

代价函数:用来计算输出值和实际值误差的,一般用二次代价函数

采用反向传播训练:一次前向传播后,计算出总误差,公式推导可得到总误差与上层某个权重的关系,调整这个权重值,







猜你喜欢

转载自blog.csdn.net/rona1/article/details/80497232