def ensemble(algs, alg_names, ensemble_name=None, in_ensemble=None, weights=None, voting="soft"):
# Estimators for the ensemble
estimators = []
# Construct ensemble name
if weights is not None:
name = "Weighted Ensemble of "
else:
name = "Ensemble of "
# Add respective algorithms to estimators and construct name
for index, alg in enumerate(algs):
if (in_ensemble is None) or in_ensemble[index]:
estimators.append((alg_names[index], alg))
name += alg_names[index] + ", "
# Remove extra comma
name = name[:-2]
# Use provided name if not none
if ensemble_name is not None:
# Set name
name = ensemble_name
# Create ensemble
alg = VotingClassifier(estimators=estimators, voting=voting, weights=weights)
# Return ensemble and name
return {"alg": alg, "name": name}
评论列表
文章目录