python常用框架工具之sklearn——华为AI学习笔记13

举报
darkpard 发表于 2022/02/20 12:34:23 2022/02/20
【摘要】 sklearn全称scikit-learn,支持建模全流程。1. 数据集内置学习数据集,如波士顿房价、癌症预测等以波士顿房价为例2. 特征工程实现机器学习算法对数据的预处理,决定的学习的上限,处理数据和提取数据的工具2.1. 数据无量纲化2.1.1. 数据编码2.1.1.1. OneHotOneHot,现在非常常用的编号形式sklearn.preprocessing.OneHotEncode...

sklearn全称scikit-learn,支持建模全流程。

1. 数据集

内置学习数据集,如波士顿房价、癌症预测等

以波士顿房价为例

图片图片图片图片图片

2. 特征工程

实现机器学习算法对数据的预处理,决定的学习的上限,处理数据和提取数据的工具

2.1. 数据无量纲化

2.1.1. 数据编码

2.1.1.1. OneHot

OneHot,现在非常常用的编号形式

sklearn.preprocessing.OneHotEncoder()

比如:

小学:100

中学:010

大学:001

图片

2.1.1.2. Label

sklearn.preprocessing.LabelEncoder()

2.1.2. 特征选择

2.1.2.1. 训练集划分

图片

2.1.3. 归一/标准化

sklearn.preprocessing.MinMaxScaler(),会受到最大值和最小值的影响,如果最大或最小值是异常值,这个方法就会受到影响

图片

sklearn.preprocessing.StandardScaler(),变化到均值为0,标准差为1的范围

图片

回到波士顿房价的例子

图片

这里训练集的标准化用的是fit_transform,它是fit和transform的组合,fit指先求训练集的均值、方差、最大值、最小值,然后再对数据进行标准化。而测试集用的是transform,它不需要再单独求均值、方差等特征,使用训练集的特征。

2.1.4. 特征降维

常用的主成分分析降维

sklearn.decomposition.PCA()

3. 算法API

基本包括所有常见的机器学习算法

3.1. 有监督算法

3.1.1. 回归算法

3.1.1.1. 线性回归

sklearn.linear_model.LinearRegression(fit_intercept=True)

sklearn.linear_model.SGDRegression(loss,fit_intercept=True,learning_rate),梯度下降,learning_rate为学习率

再回波士顿房价的例子

图片

回归效果的评价可以使用sklearn.metrics.mean_squared_error

图片

还可以通过图形来展示

图片

3.1.2. 分类算法

3.1.2.1. 逻辑回归

二分类算法

sklearn.liner_model.LogisticRegression()

3.1.2.2. 决策树

sklearn.tree.DecisionTreeClassifier(criterion,max_depth=None,random_state=None)

criterion:信息,一般选信息熵或吉尼系数

max_depth:注意不要太深,容易过拟合

random_state:设定后就成了伪随机

3.1.2.3. KNN

当前数据离哪个比较近就是哪个类别

sklearn.neighbors.KNeighborsClassifier(n_neighbors,algorithm='auto')

3.1.2.4. 朴素贝叶斯

sklearn.naive_bayes.MultinomialNB(alpha=1.0)

3.2. 无监督算法

3.2.1. 聚类算法

3.2.1.1. k-means

sklearn.cluster.KMeans(n_cluster=8,init='kmeans++')

3.2.1.2. DBSCAN

密度聚类

sklearn.cluster.DBSCAN()

还有些其他的聚类方法

4. 模型调优

4.1. k折交叉验证

在原有数据集基础上再进行划分,划分成k份,每次先一份当验证集,形成k个模型,然后拿到测试集上进行测试

sklearn.model_selection.KFold()

或者某些方法里的参数CV

或者手动for循环

4.2. 网格搜索

有点类似暴力搜索

sklearn.model_selection.GridSearchCV(estimator,param_grid=None,cv=None)

4.3. 随机搜索

sklearn.model_selection.RandomizedSearchCV()

5. 模型的保存与加载

5.1. 保存

from sklearn.externals import joblib

joblib.dump(model,'model.pkl')

5.2. 加载

from sklearn.externals import joblib

estimator = joblib.load('model.pkl')

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。