机器学习相关库的用法

机器学习相关库和函数

在这里插入图片描述
来自:https://zhuanlan.zhihu.com/p/342941676

1、数据预处理(preprocessing)

相关库和函数作用
from sklearn.preprocessing import StandardScaler数据标准化
from sklearn.preprocessing import MinMaxScaler数据缩放到[0,1]间
from sklearn.preprocessing import Normalizer数据归一化:单位化向量
from sklearn.preprocessing import OneHotEncoder数据进行onehot编码
from sklearn.preprocessing import Binarizer对定量变量二值化:设定一个阈值,大于阈值的赋值为1,小于等于阈值的赋值为0
from sklearn.preprocessing import OrdinaryEncoder数值编码:将字符串文字编码为1、2、3、4…
pd.fillna(填充值)缺失值填充
pd.quantile(某个分位数)获取分位数值
pd.mask(condition,other=None)当condition为true时,用other来进行替换
pd.where(condition,other=None)当condition为false时,用other来进行替换

2、特征选择(feature_selection)

在这里插入图片描述

2.1、过滤式特征选择

相关库特征变量类型目标变量类型
from sklearn.feature_selection import VarianceThreshold连续型均可
from sklearn.feature_selection import chi2(卡方检验)分类型分类型
from sklearn.feature_selection import f_classif(F检验:方差分析)连续型分类型
from sklearn.feature_selection import mutual_info_classif(互信息分类)连续型分类型
from sklearn.feature_selection import f_regression(相关系数)连续型连续型
from sklearn.feature_selection import mutual_info_regression(互信息回归)连续型连续型

相关统计变量解释:
互信息:度量 X 和 Y 共享的信息,它度量知道这两个变量其中一个,对另一个不确定度减少的程度。值越大越相关 ,0表示特征和标签完全独立。

# SelectKBest与表格中的系数组合使用,最终选取出特定数量的特征
from sklearn.feature_selection import SelectKBest
from sklearn.feature_selection import chi2

#选择K个最好的特征,返回选择特征后的数据,输出为选择后的特征矩阵
SelectKBest(chi2, k=2).fit_transform(iris.data, iris.target)

2.2、包裹式特征选择

from sklearn.feature_selection import RFE
from sklearn.linear_model import LogisticRegression

#递归特征消除法,返回特征选择后的数据
#参数estimator为基模型
#参数n_features_to_select为选择的特征个数
RFE(estimator=LogisticRegression(), n_features_to_select=2).fit_transform(iris.data, iris.target)

2.3、嵌入式特征选择

2.3.1 基于惩罚项的特征选择
from sklearn.feature_selection import SelectFromModel
from sklearn.linear_model import LogisticRegression

#带L1惩罚项的逻辑回归作为基模型的特征选择
SelectFromModel(LogisticRegression(penalty="l1", C=0.1)).fit_transform(iris.data, iris.target)
2.3.2 基于树模型的特征选择
from sklearn.feature_selection import SelectFromModel
from sklearn.ensemble import GradientBoostingClassifier

#GBDT作为基模型的特征选择
SelectFromModel(GradientBoostingClassifier()).fit_transform(iris.data, iris.target)

SelectFromModel使用说明:https://blog.csdn.net/weixin_46072771/article/details/106190351

模型方法作用
SelectFromModel.fit(X,y)根据训练集训练模型,返回是模型,可以继续调用selector.estimator_.coef_或者selector.estimator_.feature_importances_获取特征重要性并确定特征选择阈值
SelectFromModel.transform(X,y)将X缩小为选定的特征,返回值为去除不相关特征后的数据,一般是调用fit()方法之后再调用
SelectFromModel.fit_transform(X,y)根据训练集训练并返回去除不相关特征后的数据,一步到位

3、降维

当特征选择完成后,可以直接训练模型了,但是可能由于特征矩阵过大,导致计算量大,训练时间长的问题,因此降低特征矩阵维度也是必不可少的。常见的降维方法除了以上提到的基于L1惩罚项的模型以外,另外还有主成分分析法(PCA)和线性判别分析(LDA),线性判别分析本身也是一个分类模型。PCA和LDA有很多的相似点,其本质是要将原始的样本映射到维度更低的样本空间中,但是PCA和LDA的映射目标不一样:PCA是为了让映射后的样本具有最大的发散性;而LDA是为了让映射后的样本有最好的分类性能。所以说PCA是一种无监督的降维方法,而LDA是一种有监督的降维方法。

相关库作用
from sklearn.decomposition import PCA主成分降维
from sklearn.lda import LDALDA降维

4、模型选择(model_selection)

模型选择是机器学习中的重要环节,涉及到的操作包括数据集切分、参数调整和验证等。

相关库作用
from model_selection import train_test_split切分数据集和测试集,可设置切分比例
from model_selection import cross_val_score交叉验证,默认K=5折,最后返回K个评分
from model_selection import GridSearchCV调参常用方法,通过字典类型设置一组候选参数,并制定度量标准,最后返回评分最高的参数

5、指标度量(metrics)

在这里插入图片描述
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值