python:机器学习特征选择之嵌入法代码实现

本文介绍了如何使用scikit-learn库中的L1正则化对乳腺癌数据集进行模型训练,并通过随机森林分类器和SelectFromModel方法进行特征选择。展示了如何利用这两种技术在实际项目中进行数据预处理和特征优化。
摘要由CSDN通过智能技术生成

一、基于惩罚的方法 L1 正则化示例

from sklearn.preprocessing import MinMaxScaler
from sklearn.linear_model import LogisticRegression
from sklearn.datasets import load_breast_cancer

breast_cancer = load_breast_cancer()
X, y = breast_cancer.data, breast_cancer.target

# 归一化
mms = MinMaxScaler()
x = mms.fit_transform(X)

# L1正则化拟合数据
lr = LogisticRegression(penalty='l2',C=0.01, solver='liblinear')
lr.fit(x, y)

# 获取模型特征系数
lr.coef_[0]

二、基于树模型的方法 之 随机森林分类器示例

        使用 sklearn 中的SelectFromModel,模型得分是由estimator打出来的,也就是选取的模型。模型选定以后,就可以给feature进行打分,所以模型必须要具备以下两个属性中的一个:coef or feature importance。

from sklearn.feature_selection import SelectFromModel
from sklearn.linear_model import LogisticRegression

from sklearn.ensemble import RandomForestClassifier

# 加载数据集
from sklearn.datasets import load_iris

iris = load_iris()
X, y = iris.data, iris.target

selector = SelectFromModel(estimator=RandomForestClassifier()).fit(X, y)

{'选取的最优特征为':selector.get_feature_names_out()}

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值