scikit-learn 中多数投票的训练会重新训练分类器吗?
Posted
技术标签:
【中文标题】scikit-learn 中多数投票的训练会重新训练分类器吗?【英文标题】:Does the training of majority voting in scikit-learn will re-train the classifiers? 【发布时间】:2021-04-19 02:29:32 【问题描述】:我很好奇 scikit-learn 中的多数投票训练是否会 重新训练分类器?
例如:
model_perceptron = CalibratedClassifierCV(Perceptron(max_iter=100,
random_state=rng),
cv=3)
model_perceptron.fit(X_train, y_train)
model_svc = SVC(probability=True, gamma='auto',
random_state=rng).fit(X_train, y_train)
model_bayes = GaussianNB().fit(X_train, y_train)
model_tree = DecisionTreeClassifier(random_state=rng).fit(X_train, y_train)
model_knn = KNeighborsClassifier(n_neighbors=1).fit(X_train, y_train)
voting_classifiers = [("perceptron", model_perceptron),
("svc", model_svc),
("bayes", model_bayes),
("tree", model_tree),
("knn", model_knn)]
model_voting = VotingClassifier(estimators=voting_classifiers).fit(
X_train, y_train)
我已经训练了所有这些基础模型。
scikit-learn 是否仅使用我之前独立训练和测试过的已训练分类器? scikit-learn 的多数投票是否不考虑 预训练的分类器集作为输入?
或者,它会重新训练内部的基本模型吗?
【问题讨论】:
模型似乎被重新训练:scikit-learn.org/stable/modules/generated/…。特别是这一行:“在 VotingClassifier 上调用 fit 方法将拟合将存储在类属性 self.estimators_ 中的那些原始估计器的克隆” @jhso 确实如此;请将此作为答案发布,包括链接文档中的引用 @jhso 谢谢。您可以将其发布为答案,以便任何搜索的人都可以找到答案吗? 【参考方案1】:转自上述cmets:
似乎模型已重新训练:https://scikit-learn.org/stable/modules/generated/sklearn.ensemble.VotingClassifier.html。我特别注意到这一行:
在 VotingClassifier 上调用 fit 方法将拟合 那些将存储在类属性中的原始估计器 self.estimators_
【讨论】:
那么,如果我们测量计算时间,它已经包括了所有基估计器的训练? 如果没有自己测试,我会这么说。时间与自己做相比如何?应该有点可比性。以上是关于scikit-learn 中多数投票的训练会重新训练分类器吗?的主要内容,如果未能解决你的问题,请参考以下文章