3,sklearn的一般流程

安装并检查sklearn的版本

sklearn机器学习的一般流程包括:

数据的获取

特征的提取

特征的选择

数据预处理

模型的训练

模型的评估

模型的优化

模型持久化

一,数据的获取

可以导入内部数据集,计算机生成的数据集,网络上的数据集,文件中的数据集等。

二,数据预处理

预处理数据包括:数据的标准化,数据的归一化,数据的二值化,非线性转换,数据特征编码,处理缺失值等。

三,模型的训练

根据问题特点选择适当的估计器estimater模型:分类(SVC,KNN,LR,NaiveBayes,...)回归(Lasso,ElasticNet,SVR,...)聚类(KMeans,...)降维(PCA,...)

我们当前的问题是根据特征预测鸢尾花的类型,属于带标签的分类问题,并且samples个数为150个小于100K,所以根据sklearn使用地图我们选择Linear SVC模型进行分类。

四,模型的评估

模型的评估和模型的优化相关功能在sklearn.model_selection中。

除了使用estimator的score函数简单粗略地评估模型的质量之外,在sklearn.metrics模块针对不同的问题类型提供了各种评估指标并且可以创建用户自定义的评估指标。

可以采用交叉验证方法评估模型的泛化能力,能够有效避免过度拟合。10折交叉验证示意图。

五,模型的优化

优化模型的方法包括 网格搜索法,随机搜索法,模型特定交叉验证,信息准则优化等。

网格搜索法在指定的超参数空间中对每一种可能的情况进行交叉验证评分并选出最好的超参数组合。

六,模型持久化

可以使用python内置的pickle模块或将训练好模型保存到磁盘或字符串,以便将来直接使用,而不需要重复训练。对于sklearn,使用joblib会更加有效,但是只能保存到磁盘而不能保存成字符串。

Python与算法之美

(Python_Ai_Road)

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180728G1KZ5E00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

扫码关注云+社区

领取腾讯云代金券