python-3.x - 多类分类机器学习
问题描述
我正在研究多类分类问题(我有 3 个不同的类),我正在尝试应用软投票分类器,但出现此错误:ValueError: Supported target types are: ('binary', 'multiclass'). Got 'multilabel-indicator' instead.
这是我的代码:
#convert y_train and y_test to binary format as required by multiclass classification algorithms.
lb = LabelBinarizer()
y_train = lb.fit_transform(y_train)
y_test = lb.transform(y_test)
# try soft voting
# get a voting ensemble of models
def get_voting():
#define the base models
models = list()
models.append(('lgrb',LogisticRegression()))
models.append(('dtrb',DecisionTreeClassifier()))
models.append(('svlb',LinearSVC()))
models.append(('rfcb',RandomForestClassifier()))
models.append(('nncb',MLPClassifier()))
# define the voting ensemble
ensemble = VotingClassifier(estimators=models, voting='soft')
return ensemble
# get a list of models to evaluate
def get_models():
models = dict()
models['lgrb'] = LogisticRegression()
models['dtrb'] = DecisionTreeClassifier()
models['svlb'] = LinearSVC()
models['rfcb'] = RandomForestClassifier()
models['nncb'] = MLPClassifier()
models['soft_voting'] = get_voting()
return models
# evaluate a give model using cross-validation
def evaluate_model(model, X, y):
cv = RepeatedStratifiedKFold(n_splits=10, n_repeats=3, random_state=1)
scores = cross_val_score(model, X, y, scoring='accuracy', cv=cv, n_jobs=-1,
error_score='raise')
return scores
# evaluate the models and store results
results, names = list(), list()
for name, model in models.items():
scores = evaluate_model(model, X_train, y_train)
results.append(scores)
names.append(name)
print('>%s %.3f (%.3f)' % (name, mean(scores), std(scores)))
如下面的屏幕截图所示,这是使用 y_test 的 LabelBinarizer() 样本后 y_test 的样子。
请你帮助我好吗!
解决方案
推荐阅读
- java - Str中的char的递归计数-Java
- doxygen - 获取 doxygen 以处理来自 #include 指令的文件
- sql-server - 在 SSRS 2008 中,如何将变量从一份报告传递到另一份报告?
- elasticsearch - ElasticSearch Canvas - 下拉菜单不起作用
- stm32 - STM32 SWD协议-端口号
- android - Sqlite 表用户函数
- php - 单击提交按钮时数据未更新
- docker - docker push to Google Container Registry 错误“调用者没有权限‘storage.buckets.create’”
- java - 如何从 react-native 本机模块访问子级?
- java - 如何通过旋转而不重复方向来计算立方体的所有方向?