机器学习相关库的用法

机器学习相关库的用法,第1张

机器学习相关库的用法 机器学习相关库和函数


来自: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,小于等于阈值的赋值为0from 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)


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5480502.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-12
下一篇 2022-12-12

发表评论

登录后才能评论

评论列表(0条)

保存