如何解决将概率转换为类别标签
我想对一组评论进行分类。有9个标签(0、1、2、3、4、5、6、7、8),它们之间的区别不是微不足道的,因此我为训练数据提供的标签不是每次评论都属于一个类别。这是一组9个概率,每个类别一个,所有类别的总和等于1
e.g.[0.01782362,0.01144494,0.01950892,...,0.13960006,0.22256956,0.41727597],[0.01512144,0.01047795,0.01730437,0.13640257,0.22901402,0.43006063].
我不知道如何使用这些标签来拟合模型。仅使用概率最高的类会导致惨痛的结果。 我尝试使用LabelPowerset和BinaryRelevance
from skmultilearn.problem_transform import LabelPowerset,BinaryRelevance
from sklearn.svm import SVC
clf=BinaryRelevance(classifier = SVC(probability=True),require_dense = [False,True])
clf.fit(x_train,y_train)
ValueError Traceback (most recent call last)
<ipython-input-49-aa8c3662ce5d> in <module>()
----> 1 clf.fit(a,b)
3 frames
/usr/local/lib/python3.6/dist-packages/skmultilearn/problem_transform/br.py in fit(self,X,y)
160 y_subset = np.ravel(y_subset.toarray())
161 classifier.fit(self._ensure_input_format(
--> 162 X),self._ensure_output_format(y_subset))
163 self.classifiers_.append(classifier)
164
/usr/local/lib/python3.6/dist-packages/sklearn/svm/base.py in fit(self,y,sample_weight)
148
149 X,y = check_X_y(X,dtype=np.float64,order='C',accept_sparse='csr')
--> 150 y = self._validate_targets(y)
151
152 sample_weight = np.asarray([]
/usr/local/lib/python3.6/dist-packages/sklearn/svm/base.py in _validate_targets(self,y)
498 def _validate_targets(self,y):
499 y_ = column_or_1d(y,warn=True)
--> 500 check_classification_targets(y)
501 cls,y = np.unique(y_,return_inverse=True)
502 self.class_weight_ = compute_class_weight(self.class_weight,cls,y_)
/usr/local/lib/python3.6/dist-packages/sklearn/utils/multiclass.py in check_classification_targets(y)
169 if y_type not in ['binary','multiclass','multiclass-multioutput',170 'multilabel-indicator','multilabel-sequences']:
--> 171 raise ValueError("Unknown label type: %r" % y_type)
ValueError: Unknown label type: 'continuous'
当我将Randomforest用作分类器时,这些就是结果。
classifier = LabelPowerset(classifier = RandomForestClassifier(n_estimators=100),True])
predictions = classifier.predict_proba(x_test)
predictions.A
>array([[1.,1.,1.],[1.,
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。