【发布时间】:2022-01-14 11:57:11
【问题描述】:
我在尝试运行使用支持向量机的多输出分类器时遇到错误。
测试集y_train_svm 如下所示:
array([[1, 1, 1, 1, 1, 1],
[1, 1, 1, 1, 1, 1],
[1, 1, 1, 1, 1, 1],
...,
[1, 1, 1, 1, 1, 1],
[1, 1, 1, 1, 1, 1],
[1, 1, 1, 1, 0, 1]], dtype=int8)
我已经通过np.unique(y_train_svm)检查了类的数量,它返回了array([0, 1])。这应该意味着实际上有两个类可用?
这是返回错误信息的分类器代码:
svm_clf = SVC(kernel="linear", random_state=42)
multioutput_classifier = MultiOutputClassifier(estimator=svm_clf)
multioutput_classifier.fit(X_train_svm, y_train_svm)
【问题讨论】:
-
"这应该意味着实际上有两个类可用?"不,只是你的真实标签是一个热编码
-
我有点困惑——这是多标签预测还是..?
-
我想根据我的训练数据预测不同物种在不同位置的出现。在数据中,几乎所有物种都存在于大多数位置,因此 y_train_svm 中有许多 1。所以我希望正确预测每个标签(1 或 0)。
标签: python machine-learning svm