首页 > 解决方案 > 是否有一种方法可以显示 VotingClassifier 对象内的每个模型的准确度分数?

问题描述

我的问题是关于集成学习。我是 ML 领域的初学者,想知道是否有一种方法可以为下面看到的 Voting Classifier 对象中的每个 ML 算法打印所有指标(例如准确性)。我的意思是我用粗体写的输出:

- lr_model 精度 => 0.70

- lgb_model 精度 => 0.72

- xgb_model 精度 => 0.71

 lr_model=LogisticRegression()
 lgb_model=lgb.LGBMClassifier()
 xgb_model=xgb.XGBClassifier()
 model=VotingClassifier(estimators=[("lr",lr_model), ("lgbm",lgb_model), 
 ("xgb",xgb_model)],voting='soft')
 model.fit(X,y)

标签: pythonmachine-learningdata-scienceprecision-recallensemble-learning

解决方案


您可以通过 访问模型的拟合子估计器model.named_estimators_.{name}。例如:

from sklearn.metrics import accuracy_score

y_pred = model.named_estimators_.lr.predict(x)
lr_accuracy=accuracy_score(y_true, y_pred)

此外,model.transform(X)返回所有 X 的每个分类器的“每个标签的概率”或“预测标签”,从而可以轻松计算每个分类器的任何指标。


推荐阅读