Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/349.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
python中的多类分类_Python_Scikit Learn_Classification_Text Classification_Multilabel Classification - Fatal编程技术网

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

我正在将二进制分类问题转换为多标签分类程序。代码是用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 = [[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]])

你怎么处理积极的事情?目前,它们只是列表的列表(丢失了他们拥有的任何其他信息),您如何使用它们将决定您的解决方案是否正确。您如何处理正面的标签?目前它们只是列表列表(丢失了他们拥有的任何其他信息),您如何使用将决定您的解决方案是否正确。感谢帮助。感谢帮助。