逻辑回归
2.1 (正则化)逻辑回归
逻辑回归是线性回归所对应的分类方法,基本概念由线性回归推导而出。逻辑回归通过逻辑函数将预测映射到 0 到 1 的区间,因此预测值可被视为某一类别的概率。
该模型依旧是线性的,只有当数据线性可分时(例如,数据可被某决策平面完全分离),这一算法才会有很好的表现。逻辑回归同样能惩罚模型系数以进行正则化。
Python - http://scikit-learn.org/stable/modules/linear_model.html#logistic-regression
R - https://cran.r-project.org/web/packages/glmnet/index.html
2.2 分类树(集成方法)
对应于回归树的分类算法是分类树。通常,它们都是指决策树,更为严谨的说法是“分类回归树(CART)”,也就是非常有名的 CART 算法。
Python - http://scikit-learn.org/stable/modules/ensemble.html#regression
R - https://cran.r-project.org/web/packages/randomForest/index.html
Python - http://scikitlearn.org/stable/modules/ensemble.html#classification
R - https://cran.r-project.org/web/packages/gbm/index.html
2.3 深度学习
深度学习同样很容易适应于分类问题。实际上,深度学习应用地更多的是分类任务,如图像分类等。
Python - https://keras.io/
R - http://mxnet.io/
2.4 支持向量机
支持向量机使用一个名为核函数的技巧,来将非线性问题变换为线性问题,其本质是计算两个观测数据的距离。支持向量机算法所寻找的是能够最大化样本间隔的决策边界,因此又被称为大间距分类器。
举例来说,使用线性核函数的支持向量机类似于逻辑回归,但更具稳健性。因而在实践中,支持向量机最大用处是用非线性核函数来对非线性决策边界进行建模。
Python - http://scikit-learn.org/stable/modules/svm.html#classification
R - https://cran.r-project.org/web/packages/kernlab/index.html
2.5 朴素贝叶斯
朴素贝叶斯是一种基于条件概率和计数的简单算法,其本质是一个概率表,通过训练数据来更新其中的概率。它预测新观察值的过程,就是根据样本的特征值在概率表中来寻找最为可能的类别。
被称为“朴素”原因,是其核心的特征条件独立性假设(例如,每一项输入特征都相互独立),在现实中几乎是不成立的。
Python - http://scikit-learn.org/stable/modules/naive_bayes.html
R - htps://cran.r-project.org/web/packages/naivebayes/index.html
3. 聚类
聚类是基于数据内部结构来寻找样本自然族群(集群)的无监督学习任务,使用案例包括用户画像、电商物品聚类、社交网络分析等。
由于聚类属于无监督学习,也就不会输出“正确的答案”,评价结果时往往要用到数据可视化。如果你需要“正确的答案”,亦即训练集中存在预标注的集群,那么用分类算法会更加合适。