您如何在新数据上实施无监督机器学习?

问题描述 投票:0回答:1

所以,这听起来像是一个愚蠢的问题,但是我无法弄清楚如何实际使用我创建的基于文本的机器学习预测器。

[我使用了多个YouTube视频来学习有监督的机器学习,以便根据文本做出预测。大多数视频使用经典的Ham或Spam预测器过滤掉垃圾电子邮件或文本消息,我编码并似乎成功地尝试了视频教给我的内容。

X_train, X_test, y_train, y_test = train_test_split(X,
                                                    y,
                                                    test_size=0.2,
                                                    random_state=37)

cvec = CountVectorizer(stop_words='english')

X_train_cvec = cvec.fit_transform(X_train)
X_test_cvec = cvec.transform(X_test)
lr = LogisticRegression()
lr.fit(X_train_cvec, y_train)

print(f'Training Score for CountVectorizer: {lr.score(X_train_cvec, y_train)}')
print(f'Testing Score for CountVectorizer: {lr.score(X_test_cvec, y_test)}')

Training Score for CountVectorizer: 0.9961857751851021
Testing Score for CountVectorizer: 0.9865470852017937

但是在视频结束后,我意识到我不知道如何实际实现这一点。在这些视频中,没有一个确实向我展示了如何在我不知道答案是什么的情况下如何在数据上对此进行测试,而对于我的一生,我无法弄清楚。

[为了澄清我的意思,我希望能够输入诸如'你怎么做'和'恭喜你刚刚被选为等等之类的文字',并查看我创建的预测变量是否可以预测这些是汉姆(0)或垃圾邮件(1)。

machine-learning logistic-regression spam-prevention supervised-learning countvectorizer
1个回答
0
投票

[您要做的就是在应用训练中使用的所有变换的同时,将新数据传递到模型的predict函数。

在这种情况下:

lr.predict(cvec.transform(X_new))

X_new包含新观察值的地方。

© www.soinside.com 2019 - 2024. All rights reserved.