python中的多类分类
我正在将二进制分类问题转换为多标签分类程序。代码是用python编写的 现行守则如下:python中的多类分类,python,scikit-learn,classification,text-classification,multilabel-classification,Python,Scikit Learn,Classification,Text Classification,Multilabel Classification,我正在将二进制分类问题转换为多标签分类程序。代码是用python编写的 现行守则如下: positive_labels = [[0, 1] for _ in positive_examples] negative_labels = [[1, 0] for _ in negative_examples] 现在我想把它转换成一个多标签,比如3个类-0,1,2 positive_labels = [[1,0,0] for _ in positive_examples] neutral_labels
positive_labels = [[0, 1] for _ in positive_examples]
negative_labels = [[1, 0] for _ in negative_examples]
现在我想把它转换成一个多标签,比如3个类-0,1,2
positive_labels = [[1,0,0] for _ in positive_examples]
neutral_labels = [[0,1,0] for _ in neutral_examples]
negative_labels = [[0,0,1] for _ in negative_examples]
这是正确的吗?如果没有,你能告诉我怎么做吗
请帮忙 您可以使用scikit中的MultiLabelBinarizer了解这一点
from sklearn.preprocessing import MultiLabelBinarizer
mlb = MultiLabelBinarizer()
# to fit transform you pass the rows of labels
mlb.fit_transform([(0,), (1,),(1,2)])
您将得到如下所示的输出
array([[1, 0, 0],
[0, 1, 0],
[0, 1, 1]])
mlb.transform([(1,2),(0,1)])
array([[0, 1, 1],
[1, 1, 0]])
fit_transform方法实现TransformerMixin()。它适合学习,然后改变它。一旦调用了fit_transform,就不需要再次调用fit,只需调用如下所示的transform
array([[1, 0, 0],
[0, 1, 0],
[0, 1, 1]])
mlb.transform([(1,2),(0,1)])
array([[0, 1, 1],
[1, 1, 0]])
您可以在scikit中使用MultiLabelBinarizer了解这一点
from sklearn.preprocessing import MultiLabelBinarizer
mlb = MultiLabelBinarizer()
# to fit transform you pass the rows of labels
mlb.fit_transform([(0,), (1,),(1,2)])
您将得到如下所示的输出
array([[1, 0, 0],
[0, 1, 0],
[0, 1, 1]])
mlb.transform([(1,2),(0,1)])
array([[0, 1, 1],
[1, 1, 0]])
fit_transform方法实现TransformerMixin()。它适合学习,然后改变它。一旦调用了fit_transform,就不需要再次调用fit,只需调用如下所示的transform
array([[1, 0, 0],
[0, 1, 0],
[0, 1, 1]])
mlb.transform([(1,2),(0,1)])
array([[0, 1, 1],
[1, 1, 0]])
你怎么处理积极的事情?目前,它们只是列表的列表(丢失了他们拥有的任何其他信息),您如何使用它们将决定您的解决方案是否正确。您如何处理正面的标签?目前它们只是列表列表(丢失了他们拥有的任何其他信息),您如何使用将决定您的解决方案是否正确。感谢帮助。感谢帮助。