创建和测试classifi

2024-04-19 11:39:01 发布

您现在位置:Python中文网/ 问答频道 /正文

excel文件中有两列。 第1行有确切的用户输入,第2行有其原因。e、 g

ROW 1                                     ROW 2
money deducted                            cause 1
delivery is late                          cause 2
something here                            cause 48
payment problem                           cause 1
.                                         .
.                                         .

任务是实现一个分类器,当下一次给定一个特定的用户输入时,它可以将其分类为原因之一,即使分类器学习这些情况并预测未来的值。你知道吗

我有一些关于分类的知识,但我真的很想知道如何使用one vs rest分类器来实现这一点。你知道吗


Tags: 文件用户here分类器is分类原因excel
1条回答
网友
1楼 · 发布于 2024-04-19 11:39:01

这就是使用scikit learn实现这个分类器的方法。将所有训练句子按目标名称的索引传递给X\u train和相应的标签。你知道吗

X_train = np.array(["money deducted",
                    "delivery is late",
                    "something here",
                    "payment problem"])
y_labels = [(1, ), (2, ), (3, ), (1, )]
y_train = MultiLabelBinarizer().fit_transform(y_labels)
target_names = ['cause1', 'cause2', 'cause48']
classifier = Pipeline([
    ('vectorizer', CountVectorizer()),
    ('tfidf', TfidfTransformer()),
    ('clf', OneVsRestClassifier(LinearSVC()))])
classifier.fit(X_train, y_train)

这就是训练分类器的全部步骤,然后你可以很容易地预测你想要的任何东西。 更多参考:http://scikit-learn.org/stable/modules/generated/sklearn.multiclass.OneVsRestClassifier.html

然后将yï标签适配并转换为二进制:

mlb.fit_transform(y_labels)

然后预测如下:

mlb.inverse_transform(classifier.predict(X_test))

这将为您提供类标签,然后您可以将其作为索引传递给目标名称。你知道吗

希望有帮助!你知道吗

相关问题 更多 >