首页 > 编程知识 正文

数据挖掘降维方法,数据无量纲化处理方法的例题

时间:2023-05-04 06:44:37 阅读:240735 作者:1001

数据挖掘的步骤

  我们使用sklearn进行虚线框内的工作(sklearn也可以进行文本特征提取)。通过分析sklearn源码,我们可以看到除训练,预测和评估以外,处理其他工作的类都实现了3个方法:fit、transform和fit_transform。从命名中可以看到,fit_transform方法是先调用fit然后调用transform,我们只需要关注fit方法和transform方法即可。

  transform方法主要用来对特征进行转换。从可利用信息的角度来说,转换分为无信息转换和有信息转换。无信息转换是指不利用任何其他信息进行转换,比如指数、对数函数转换等。有信息转换从是否利用目标值向量又可分为无监督转换和有监督转换。无监督转换指只利用特征的统计信息的转换,统计信息包括均值、标准差、边界等等,比如标准化、PCA法降维等。有监督转换指既利用了特征信息又利用了目标值信息的转换,比如通过模型选择特征、LDA法降维等。通过总结常用的转换类,我们得到下表:

包类参数列表类别fit方法有用说明sklearn.preprocessingStandardScaler特征无监督Y标准化sklearn.preprocessingMinMaxScaler特征无监督Y区间缩放sklearn.preprocessingNormalizer特征无信息N归一化sklearn.preprocessingBinarizer特征无信息N定量特征二值化sklearn.preprocessingOneHotEncoder特征无监督Y定性特征编码sklearn.preprocessingImputer特征无监督Y缺失值计算sklearn.preprocessingPolynomialFeatures特征无信息N多项式变换(fit方法仅仅生成了多项式的表达式)sklearn.preprocessingFunctionTransformer特征无信息N自定义函数变换(自定义函数在transform方法中调用)sklearn.feature_selectionVarianceThreshold特征无监督Y方差选择法sklearn.feature_selectionSelectKBest特征/特征+目标值无监督/有监督Y自定义特征评分选择法sklearn.feature_selectionSelectKBest+chi2特征+目标值有监督Y卡方检验选择法sklearn.feature_selectionRFE特征+目标值有监督Y递归特征消除法sklearn.feature_selectionSelectFromModel特征+目标值有监督Y自定义模型训练选择法sklearn.decompositionPCA特征无监督YPCA降维sklearn.ldaLDA特征+目标值有监督YLDA降维 示例代码: 把 StandardScaler, PCA, LogisticRegression 运用管道连接起来   from sklearn.preprocessing import StandardScaler
from sklearn.decomposition import PCA
from sklearn.linear_model import LogisticRegression
from sklearn.pipeline import make_pipeline

pipe_lr = make_pipeline(StandardScaler(),
PCA(n_components=2),
LogisticRegression(random_state=1))
pipe_lr.fit(X_train, y_train)
y_pred = pipe_lr.predict(X_test)
print('Test Accuracy: %.3f' % pipe_lr.score(X_test, y_test))
Test Accuracy: 0.956

可以把 Pipeline 当作对这些转化器(trainsformers)和估算器(estimators)的封装。

转载于:https://www.cnblogs.com/bonelee/p/9121521.html

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。