【问题标题】:After doing a knn classification in R, how do you get a list of the predictions for each of the test cases?在 R 中进行 knn 分类后,如何获得每个测试用例的预测列表?
【发布时间】:2014-10-27 03:47:46
【问题描述】:

在 (R)[http://www.r-project.org/] 中运行knn 分类后,有没有办法列出针对每个测试用例所做的预测?

我知道如何获得混淆矩阵,但我还想要测试阶段的详细结果,而不仅仅是摘要。

我是否必须在模型中运行每个案例,就像在进行模型开发后预测一样?还是我需要的信息是测试阶段的输出?

【问题讨论】:

    标签: r classification knn


    【解决方案1】:

    我很困惑。这似乎正是knn 返回的内容。改编?knn的帮助页面中的示例

    library(class)
    train <- rbind(iris3[1:25,,1], iris3[1:25,,2], iris3[1:25,,3])
    test <- rbind(iris3[26:50,,1], iris3[26:50,,2], iris3[26:50,,3])
    cl <- factor(c(rep("s",25), rep("c",25), rep("v",25)))
    fit <- knn(train, test, cl, k = 3, prob=TRUE)
    

    如果我将结果与测试数据结合起来,我会得到

    head(data.frame(test, pred=fit, prob=attr(fit, "prob")))
    
    #   Sepal.L. Sepal.W. Petal.L. Petal.W. pred prob
    # 1      5.0      3.0      1.6      0.2    s    1
    # 2      5.0      3.4      1.6      0.4    s    1
    # 3      5.2      3.5      1.5      0.2    s    1
    # 4      5.2      3.4      1.4      0.2    s    1
    # 5      4.7      3.2      1.6      0.2    s    1
    # 6      4.8      3.1      1.6      0.2    s    1
    

    所以每个test 行都有一个预测。

    【讨论】:

    • 看来是我是一个困惑的人。您的回答已打开灯泡。
    猜你喜欢
    • 2018-03-24
    • 2016-10-15
    • 2011-12-20
    • 1970-01-01
    • 2021-02-11
    • 2016-05-07
    • 1970-01-01
    • 2015-01-27
    • 2021-07-31
    相关资源
    最近更新 更多