我有一个包含14个特征的数据集,但以下几个特征很少,其中性别和婚姻状况是绝对变量。

height,sex,maritalStatus,age,edu,homeType

SEX
         1. Male
         2. Female

MARITAL STATUS
         1. Married
         2. Living together, not married
         3. Divorced or separated
         4. Widowed
         5. Single, never married


现在我使用R中的rpart库使用以下内容构建分类树

rfit = rpart(homeType ~., data = trainingData, method = "class", cp = 0.0001)


这给了我一个决策树,它没有将性别和婚姻状况视为因素。

我正在考虑为此使用as.factor:

sex = as.factor(trainingData$sex)
ms = as.factor(trainingData$maritalStatus)


但是我不确定如何将这些信息传递给rpart。由于rpart()中的data参数接受“ trainingData”数据帧。它将始终采用此数据帧中的值。
我对R并不陌生,希望有人对此提供帮助。

最佳答案

您可以直接对trainingData数据框进行更改,然后运行rpart()

trainingData$sex = as.factor(trainingData$sex)
trainingData$maritalStatus = as.factor(trainingData$maritalStatus)
rfit = rpart(homeType ~., data = trainingData, method = "class", cp = 0.0001)

08-24 14:41