【发布时间】:2019-01-07 10:25:47
【问题描述】:
我有这个管道,
pl = Pipeline([
('union', FeatureUnion(
transformer_list = [
('numeric_features', Pipeline([
("selector", get_numeric_data),
])),
('text_features', Pipeline([
("selector",get_text_data),
("vectorizer", HashingVectorizer(token_pattern=TOKENS_ALPHANUMERIC,non_negative=True, norm=None, binary=False, ngram_range=(1,2))),
('dim_red', SelectKBest(chi2, chi_k))
]))
])), ("clf",LogisticRegression())
])
当我尝试做的时候
from sklearn.linear_model import LogisticRegression
from sklearn.model_selection import GridSearchCV
c_space = np.logspace(-5, 8, 15)
param_grid = {"C": c_space,"penalty": ['l1', 'l2']}
logreg_cv = GridSearchCV(pl,param_grid=param_grid,cv=5)
logreg_cv.fit(X_train,y_train)
它把我扔了
ValueError:估计器的参数惩罚无效 管道(内存=无, 步骤=[('联合',FeatureUnion(n_jobs = 1, transformer_list=[('numeric_features', Pipeline(memory=None, 步骤=[('选择器',FunctionTransformer(accept_sparse=False, func= 在 0x00000190ECB49488>,inv_kw_args=None, inverse_func=None, kw_args=None, pass_y=...ty='l2', random_state=None, 求解器='liblinear',tol=0.0001, 详细=0,warm_start=False))])。检查可用参数列表
estimator.get_params().keys()。
虽然在这种情况下“C”和“penalty”是合法参数。请帮我锄头去做。
【问题讨论】:
标签: scikit-learn pipeline grid-search