将数据预处理加入模型选择过程

将数据预处理加入模型选择过程

# 将数据预处理加入模型选择过程
import numpy as np
from sklearn import datasets
from sklearn.linear_model import LogisticRegression
from sklearn.model_selection import GridSearchCV
from sklearn.pipeline import Pipeline, FeatureUnion
from sklearn.decomposition import PCA
from sklearn.preprocessing import StandardScaler
​
# set random seed  设置随机数种子
np.random.seed(0)# load data
iris = datasets.load_iris()
features = iris.data
target = iris.target
​
# create a preprocessing obejct taht includes StandardScaler features and PCA
# 创建预处理对象
preprocess = FeatureUnion([("std", StandardScaler()), ("pca", PCA())])# create a pipeline  创建一个流水线
pipe = Pipeline([("preprocess", preprocess),
                 ("classifier", LogisticRegression())
                ])# create a space of candidate values 创建候选值
search_space = [{
    "preprocess__pca__n_components": [1, 2, 3],
    "classifier__penalty": ["l1", "l2"],
    "classifier__C": np.logspace(0, 4, 10)
}]# create grid search  执行网格搜索
clf = GridSearchCV(pipe, search_space, cv=5, verbose=0, n_jobs=-1)# fit grid search   训练模型
best_model = clf.fit(features, target)# view best model  查看最佳参数
best_model.best_estimator_.get_params()['preprocess__pca__n_components']
2
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值