栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

以管道作为估计器的VotingClassifier

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

以管道作为估计器的VotingClassifier

问题出在

KerasClassifier
。它不提供
_estimator_type
已签入的
_validate_estimator

这不是使用管道的问题。管道将此信息作为属性提供。看这里。

因此,快速修复方法是设置

_estimator_type='classifier'

一个可重现的示例:

# Define pipelinesfrom sklearn.pipeline import Pipelinefrom sklearn.tree import DecisionTreeClassifierfrom sklearn.svm import SVCfrom sklearn.preprocessing import MinMaxScaler, Normalizerfrom sklearn.ensemble import VotingClassifierfrom keras.wrappers.scikit_learn import KerasClassifierfrom sklearn.datasets import make_classificationfrom keras.layers import Densefrom keras.models import SequentialX, y = make_classification()# DTC pipelinefeaturiser = MinMaxScaler()dtc = DecisionTreeClassifier()dtc_pipe = Pipeline([('featuriser', featuriser), ('dtc', dtc)])# SVC pipelinescaler = Normalizer()svc = SVC(C=100, gamma=0.001, kernel='rbf')svc_pipe = Pipeline(    [('scaler', scaler), ('svc', svc)])# Keras pipelinedef get_model():    # create model    model = Sequential()    model.add(Dense(10, input_dim=20, activation='relu'))    model.add(Dense(1, activation='sigmoid'))    # Compile model    model.compile(loss='binary_crossentropy', optimizer='adam', metrics=['accuracy'])    return modelcnn = KerasClassifier(build_fn=get_model)cnn._estimator_type = "classifier"cnn_pipe = Pipeline([('scaler', scaler), ('cnn', cnn)])# Make an ensembleensemble = VotingClassifier(estimators=[('dtc', dtc_pipe),        ('svc', svc_pipe),       ('cnn', cnn_pipe)],       voting='hard')ensemble.fit(X, y)


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/661559.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号