gpt4 book ai didi

r - 使用 rpart 决策树进行数据预测

转载 作者:行者123 更新时间:2023-11-30 08:26:09 24 4
gpt4 key购买 nike

我正在使用 R 对名为“d”的数据框进行分类,其中包含如下结构的数据:

initial dataset

数据有 576666 行,“classLabel”列的因子为 3 个级别:一、二、三。

我正在使用 rpart 制作决策树:

fitTree = rpart(d$classLabel ~ d$tripduration + d$from_station_id + d$gender +  d$birthday)

我想预测 newdata 的“classLabel”值:

newdata = data.frame( tripduration=c(345,244,543,311), 
from_station_id=c(60,28,100,56),
gender=c("Male","Female","Male","Male"),
birthday=c(1972,1955,1964,1967) )

p <- predict(fitTree, newdata)

我希望结果是一个 4 行矩阵,每行具有 newdata 的“classLabel”三个可能值的概率。但我在 p 中得到的结果是一个包含 576666 行的数据帧,如下所示:

enter image description here

运行 predict 函数时,我还收到以下警告:

Warning message:
'newdata' had 4 rows but variables found have 576666 rows

我哪里做错了?!

最佳答案

我认为问题是:你应该在预测代码中添加“type='class'”:

    predict(fitTree,newdata,type="class")

尝试以下代码。在本例中我采用“iris”数据集。

    > data(iris)
> head(iris)
Sepal.Length Sepal.Width Petal.Length Petal.Width Species
1 5.1 3.5 1.4 0.2 setosa
2 4.9 3.0 1.4 0.2 setosa
3 4.7 3.2 1.3 0.2 setosa
4 4.6 3.1 1.5 0.2 setosa
5 5.0 3.6 1.4 0.2 setosa
6 5.4 3.9 1.7 0.4 setosa

# model fitting
> fitTree<-rpart(Species~Sepal.Length+Sepal.Width+Petal.Length+Petal.Width,iris)

#prediction-one row data
> newdata<-data.frame(Sepal.Length=7,Sepal.Width=4,Petal.Length=6,Petal.Width=2)
> newdata
Sepal.Length Sepal.Width Petal.Length Petal.Width
1 7 4 6 2

# perform prediction
> predict(fitTree, newdata,type="class")
1
virginica
Levels: setosa versicolor virginica

#prediction-multiple-row data
> newdata2<-data.frame(Sepal.Length=c(7,8,6,5),
+ Sepal.Width=c(4,3,2,4),
+ Petal.Length=c(6,3.4,5.6,6.3),
+ Petal.Width=c(2,3,4,2.3))

> newdata2
Sepal.Length Sepal.Width Petal.Length Petal.Width
1 7 4 6.0 2.0
2 8 3 3.4 3.0
3 6 2 5.6 4.0
4 5 4 6.3 2.3

# perform prediction
> predict(fitTree,newdata2,type="class")
1 2 3 4
virginica virginica virginica virginica
Levels: setosa versicolor virginica

关于r - 使用 rpart 决策树进行数据预测,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29572906/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com