posts - 225, comments - 62, trackbacks - 0, articles - 0
   :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理

sklearn常用监督学习算法目录

Posted on 2019-10-16 23:44 魔のkyo 阅读(306) 评论(0)  编辑 收藏 引用 所属分类: 机器学习
点和注意项
K近邻
适用于小型数据集,基准模型,容易解释不适用于高维稀疏数据不能外推(超出训练数据集的范围进行预测)。
线性模型(最小二乘法、岭回归、Lasso回归、弹性网络、逻辑回归、线性支持向量机
非常可靠的首选算法,适用于非常大的数据集,也适用于高维数据可以外推在低维空间中泛化性能可能很差(这还要看具体问题本身的特点,还可以通过扩展特征来增加线性模型的可用性)。
其中最小二乘法、岭回归、Lasso回归、弹性网络为回归器,不需要数据缩放逻辑回归、线性支持向量机为分类器,逻辑回归如果不进行数据缩放会导致收敛较慢需要增加迭代次数,线性支持向量机需要进行数据缩放
朴素贝叶斯(高斯朴素贝叶斯、伯努利朴素贝叶斯、多项式朴素贝叶斯
只适用于分类问题。适用于非常大的数据集和高维数据,比线性模型速度快精度低于线性模型。
决策树
速度很快,不需要数据缩放,可以可视化,很容易理解不适用于高维稀疏数据不能外推
随机森林
几乎总是比单棵决策树的表现要好,鲁棒性很好(可以容忍训练集中有一些错误的数据),通常不需要反复调节参数就可以给出很好的结果,不需要数据缩放,不适用于高维稀疏数据不能外推。
梯度提升机
是监督学习中最强大也最常用的模型之一。精度通常比随机森林略高,与随机森林相比,训练速度更慢,但预测速度更快,需要的内存更少,比随机森林需要更多的参数调节不适用于高维稀疏数据不能外推。
支持向量机
是非常强大的模型,允许决策边界很复杂,在低维和高维数据集上的表现都很好。对于特征含义相似的中等大小(几千~几万这样的量级)的数据集很强大。需要数据缩放对参数敏感可以外推。
神经网络(多层感知机
可以构建非常复杂的模型,特别是对于大型数据集而言。对于数据缩放敏感,对参数选取敏感大型网络需要很长的训练时间
scikit-learn中的算法实现
算法名
所属模块
分类器
回归器
主要参数(-号表示越小越模型复杂)
K近邻(KNN)
neighbors
KNeighborsClassifier
KNeighborsRegressor
-n_neighbors=5
最小二乘法
linear_model

LinearRegression

岭回归
linear_model

Ridge
-alpha=1
Lasso回归
linear_model

Lasso
-alpha=1
弹性网络
linear_model

ElasticNet
-alpha=1, l1_ratio=0.5
逻辑回归
linear_model
LogisticRegression

+C=1.0
线性支持向量机
svm
LinearSVC
LinearSVR
+C=1.0
高斯朴素贝叶斯
naive_bayes
GaussianNB


伯努利朴素贝叶斯
naive_bayes
BernoulliNB

-alpha=1.0
多项式朴素贝叶斯
naive_bayes
MultinomialNB

-alpha=1.0
决策树
tree
DecisionTreeClassifier
DecisionTreeRegressor
+max_depth
随机森林
ensemble
RandomForestClassifier
RandomForestRegressor
+n_estimators
梯度提升机
ensemble
GradientBoostingClassifier
GradientBoostingRegressor
+n_estimators, +learning_rate
核支持向量机
svm
SVC
SVR
kernel='rbf', +C, +gamma
多层感知机
neural_network
MLPClassifier
MLPRegressor
solver='lbfgs', -alpha, hidden_layer_sizes
只有注册用户登录后才能发表评论。