使用'prob'类型的R预测函数

时间:2018-07-23 18:39:15

标签: r prediction

我有一个包含销售互动详细信息的数据框('fulltrans')。我试图预测的变量是多个变量之间的关联交互是否有效地导致了客户销售(“标记”)。我正在尝试使用以下代码将决策树模型拟合为fulltrans:

    '%ni%' <- Negate('%in%')
    trainDataIndex <- createDataPartition(fulltrans$Flag, p=0.7, list=F)
    trainData <- fulltrans[trainDataIndex, ]
    testData <- fulltrans[-trainDataIndex, ]
    down_train <- downSample(x = testData [, colnames(trainData) %ni% "Flag"], y= trainData$Flag)
    rectree_fit <- rpart(Class ~., data = down_train)
    test <- predict(rectree_fit, testData, type = 'prob')
    View(test)

使用模型进行预测后,输出如下所示:

                 0         1
    4    0.1623616 0.8376384
    7    0.1623616 0.8376384
    15   0.1623616 0.8376384
    22   0.1147541 0.8852459
    ...

如果我理解正确,则左侧是数据框中特定观察值的索引。我该如何过滤百分比为1大于70%的测试交易,并从testData中检索与这些索引相关的完整交互详细信息?

我已经尝试过了,但是在名为1的列上过滤似乎出现了问题。

     View(filter(test, '1' >= .80))

或者,有没有办法让我生成一个索引号列表,然后仅从主数据框中选择该索引列表?

谢谢!

1 个答案:

答案 0 :(得分:0)

这是我想出的解决方案。我提取了测试表的行名,并从原始数据帧fulltrans中索引了这些行名。

    test <- predict(rectree_fit, testData, type = 'prob')
    index_list <- as.numeric(rownames(test))
    test_w_details <- fulltrans[c(pls),]
    View(test_w_details)

输出包括所有原始变量及其在相关行中的值。