R 如何将预测函数用于文本类别?

R 如何将预测函数用于文本类别?,r,classification,knn,predict,R,Classification,Knn,Predict,我在预测函数低估(或高估)新文本类别(或其类别,如果它们涉及……健康……政治)的预测方面遇到了问题 首先导入语料库的tdm矩阵,然后使用knn算法分割数据训练/测试以用于模型 而且效果很好 现在我需要导入新的文本未知类别来预测它,但我不知道如何做到这一点 我不知道如何使用预测函数 错误是 ff<-predict(knn.pred,PathFilename) ffknn的工作原理与许多其他分类器不同。它是一个“懒惰”的分类器。没有模型。当你需要做预测时,它会计算所有的东西。因此,knn没有

我在预测函数低估(或高估)新文本类别(或其类别,如果它们涉及……健康……政治)的预测方面遇到了问题

首先导入语料库的tdm矩阵,然后使用knn算法分割数据训练/测试以用于模型

而且效果很好

现在我需要导入新的文本未知类别来预测它,但我不知道如何做到这一点

我不知道如何使用预测函数

错误是

ff<-predict(knn.pred,PathFilename)

ff
knn
的工作原理与许多其他分类器不同。它是一个“懒惰”的分类器。没有模型。当你需要做预测时,它会计算所有的东西。因此,knn没有预测方法。
knn
函数直接返回其预测。由于您不提供数据,因此我无法使用您的示例,但我将使用代码的简化版本的内置数据来说明

library(class)
train <- sample(nrow(iris), ceiling(nrow(iris) * .70))
test <- (1:nrow(iris))[- train]
knn.pred <- knn(iris[train, 1:4], iris[test,1:4 ], iris$Species[train], 5)
knn.pred
 [1] setosa     setosa     setosa     setosa     setosa     setosa     setosa    
 [8] setosa     setosa     setosa     setosa     setosa     setosa     setosa    
[15] setosa     setosa     setosa     setosa     setosa     setosa     versicolor
[22] versicolor versicolor versicolor versicolor versicolor versicolor versicolor
[29] versicolor versicolor versicolor virginica  versicolor versicolor versicolor
[36] versicolor virginica  virginica  virginica  virginica  virginica  virginica 
[43] virginica  virginica  virginica 
Levels: setosa versicolor virginica 

这应该会产生您想要的预测。

但当我添加新数据并试图在表中显示混淆矩阵igot length error error时(predicted_dir,actual_dir):所有参数必须具有相同长度的混淆矩阵(MyKNSecond,cl[train])你是如何创建MyKNSecond的?我刚刚把它做成了一个新对象MyKNSecond你不能从训练数据类和新数据上的预测类创建混淆矩阵<代码>myknsecond
。如果您知道新数据的类应该是什么
PathFilename
,请使用
ConversionMatrix(MyKNSecond,NewDataClass)
我在MyKNSecond中使用了14个具有未知类别的文本。这是我正在使用的confusionMatrix脚本(MyknSecond,(1:14))。你能告诉我我做错了什么吗??附言:这是有效的,但idk如果它是错的或正确的
library(class)
train <- sample(nrow(iris), ceiling(nrow(iris) * .70))
test <- (1:nrow(iris))[- train]
knn.pred <- knn(iris[train, 1:4], iris[test,1:4 ], iris$Species[train], 5)
knn.pred
 [1] setosa     setosa     setosa     setosa     setosa     setosa     setosa    
 [8] setosa     setosa     setosa     setosa     setosa     setosa     setosa    
[15] setosa     setosa     setosa     setosa     setosa     setosa     versicolor
[22] versicolor versicolor versicolor versicolor versicolor versicolor versicolor
[29] versicolor versicolor versicolor virginica  versicolor versicolor versicolor
[36] versicolor virginica  virginica  virginica  virginica  virginica  virginica 
[43] virginica  virginica  virginica 
Levels: setosa versicolor virginica 
 knn(modeldata[train, ], PathFilename, cl[train], 70)