簡體   English   中英

將因子級別轉換回原始字符值

[英]convert factor levels back into original character values

我建立了一個預測模型,將人分為收入<= 50k和> 50k的兩類

但是,當我在excel或r中打開文件以查看最終預測時,我看到的是代替值的我只看到了為簡化過程而首先分配的級別(1和2)

請告訴我如何保留級別而不是級別代表的原始值

這是我遵循的大綱

這是我的目標變量income.group,這里是初始狀態

str(train_gbW7HTd $ Income.Group)

chr [1:32561]“ <= 50K”“ <= 50K”“ <= 50K”“ <= 50K”“ <= 50K”“ <= 50K”“ <= 50K” ...

現在要應用決策樹,我將目標變量編碼為1級和2級,我使用以下代碼train $ Income.Group <-match(train $ Income.Group,unique(train $ Income.Group))我得到了

表(火車$ Income.Group)

1     2 

24720 7841

我建立這樣的決策樹set.seed(333)

適合<-rpart(Income.Group〜。,data =火車,method =“ class”,control = rpart。control(minsplit = 20,minbucket = 100,maxdepth = 10,xval = 5)+)

使預測pred <-預測(fit,test,type =“ class”)

pred_train <-預測(fit,train,type =“ class”)

confusionMatrix(pred_train,train $ Income.Group)

保存了我的文件solution.frame <-data.frame(ID = test $ ID,Income.Group = pred)

write.csv(solution.frame,file =“ final_solution.csv”)

但是我的最終csv文件具有代表最終預測的級別1和2,而不是我實際想要的<= 50k和> 50k。 請告訴我如何進行。 在此先感謝我已經使用了solution.frame $ Income.Group <-ifelse(solution.frame $ Income.Group ==“ 1”,“ <= 50k”,“> 50k”)

但它給整個收入列的單值> 5萬

請告訴我該怎么做,因為我在此步驟卡住了,無法完成我的模型提交。

您可以使用ifelse:

train$Income.Group<-ifelse(train$Income.Group=="1","<=50K",">50K")

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM