机器学习模型选择的简要总结--有监督

  • 选择合适的模型,对于在实践中成功应用机器学习模型是很重要的。关于何时使用哪种模型,下面是一份快速总结。

 

最近邻

from sklearn.model_selection import train_test_split

X_train, X_test, y_train, y_test = train_test_split(X, y, random_state=0)

from sklearn.neighbors import KNeighborsClassifier

clf = KNeighborsClassifier(n_neighbors=3)
clf.fit(X_train, y_train)

print("Test set predictions: {}".format(clf.predict(X_test)))
print("Test set accuracy: {:.2f}".format(clf.score(X_test, y_test)))

适用于小型数据集,是很好的基准模型,很容易解释。

 线性模型

from sklearn.linear_model import LinearRegression

非常可靠的首选算法,适用于非常大的数据集,也适用于高维数据。

朴素贝叶斯

from sklearn.naive_bayes import GaussianNB

只适用于分类问题。比线性模型速度还快,适用于非常大的数据集和高维数据。精度通常要低于线性模型。

决策树

from sklearn import tree

速度很快,不需要数据缩放,可以可视化,很容易解释。

随机森林

from sklearn.tree import DecisionTreeClassifier

几乎总是比单棵决策树的表现要好,鲁棒性很好,非常强大。不需要数据缩放。不适用于高维稀疏数据。

梯度提升决策树

from sklearn.ensemble import GradientBoostingRegressor

精度通常比随机森林略高。与随机森林相比,训练速度更慢,但预测速度更快,需要的内存也更少。比随机森林需要更多的参数调节。

支持向量机

from sklearn.svm import LinearSVC

对于特征含义相似的中等大小的数据集很强大。需要数据缩放,对参数敏感。

神经网络

from sklearn.neural_network import MLPClassifier

可以构建非常复杂的模型,特别是对于大型数据集而言。对数据缩放敏感,对参数选取敏感。大型网络需要很长的训练时间。

 

来源:python机器学习基础教程

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值