![](/img/trans.png)
[英]How does randomForest() predict for new factor levels not in training data?
[英]How to handle with categorical values over 53 factor levels using randomForest?
我有一個訓練數據集,如下所示:
'data.frame': 229907 obs. of 19 variables:
$ categories : Factor w/ 2061 levels "","Accessories,Fashion,Shopping,Cosmetics & Beauty Supply,Beauty & Spas",..: 253 1541 1720 1647 38 396 522 1727 482 641 ...
$ city : Factor w/ 61 levels "Ahwatukee","Anthem",..: 18 38 38 38 38 38 38 51 31 43 ...
$ latitude : num 33.3 33.5 33.5 33.5 33.5 ...
$ longitude : num -112 -112 -112 -112 -112 ...
$ open : Factor w/ 2 levels "False","True": 2 2 2 2 2 2 2 2 2 2 ...
$ review_count.x : int 26 127 130 26 8 229 453 24 3 126 ...
$ stars.x : num 4.5 3.5 4 4 4.5 3.5 4 4 2.5 3.5 ...
$ state : Factor w/ 4 levels "AZ","CA","CO",..: 1 1 1 1 1 1 1 1 1 1 ...
$ date : Factor w/ 2504 levels "2005-03-07","2005-03-08",..: 2031 1649 1936 1936 2001 1936 1936 2312 2056 1874 ...
$ stars.y : int 5 4 4 5 4 3 5 5 1 4 ...
$ votes_cool : int 0 0 1 0 0 0 1 1 0 0 ...
$ votes_funny : int 0 0 1 0 0 0 1 1 1 0 ...
$ votes_useful : int 0 0 1 0 1 0 2 1 2 0 ...
$ average_stars : num 5 4.67 4.43 4.43 4.43 4.43 4.43 4.43 2.75 3.65 ...
$ name.y : Factor w/ 8323 levels "a","a.","A","A.",..: 3841 6354 7263 7263 7263 7263 7263 7263 5372 6556 ...
$ review_count.y : int 2 4 7 7 7 7 7 7 4 20 ...
$ Total_votes_cool_user : int 1 0 4 4 4 4 4 4 0 7 ...
$ Total_votes_funny_user : int 0 0 3 3 3 3 3 3 1 5 ...
$ Total_votes_useful_user: int 2 0 6 6 6 6 6 6 3 32 ...
我的目標是應用randomForest算法,但是randomForest僅包含直到53級的因素。有什么建議可以解決這個問題? 我曾考慮過將所有分類值都轉換為整數,但我認為這對以后所需的預測效率沒有幫助。 我也有NA值的問題。 我用rfImput替換了它們,但我也遇到了同樣的問題。
謝謝,
您的許多“因素”根本不是真正的因素。 date
不是一個因素,應該轉換為日期。 name
應為字符串。 可能被視為一個因素的唯一category
是category
但現在不是。 您需要解析它並分離所有類別。 可能會幫助您的鏈接: https : //www.stat.berkeley.edu/classes/s133/factors.html 。 userid
不是一個因素(因為每個觀察值可能都有不同的值),依此類推。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.