clf = VotingClassifier( estimators=[('dtc', mdl1), ('knc', mdl2), ('svc', mdl3)], flatten_transform=False, #默认True voting='soft') clf.fit(X, y) # 评估 y_pred = clf.predict(X) displayClassifierMetrics(y, y_pred, clf.classes_, poslabel) # #可以用名字来访问训练好的基学习器 # mdl4 = clf.named_estimators_['dtc'] # mdl5 = clf.estimators_[0] # 同时返回三个基学习器的预测结果 pred = clf.transform(X) # print(pred.shape) # 函数transform的返回格式 # 若voting='hard',二元组(2464, 3) # 则返回预测结果,形如(n_samples, n_classifiers) # 若voting='soft',则: # 若flatten_transform=True, # 则返回概率,形如(n_samples, n_classifiers* n_classes) # 二元组(2464, 6),列分别是[第1个基类预测0的概率,第1个基类预测1的概率,第2个...,第3个基类预测1的概论] # 若flatten_transform=False,三元组(3, 2464, 2) # 则返回概率,形如(n_classifiers, n_samples, n_classes) # [0,30,0]表示:第0个基类, # 投票类 # VotingClassifier(estimators, *, voting='hard',