楼主: cremate
1641 3

[统计软件] 随机森林模型的求助贴 [推广有奖]

  • 2关注
  • 0粉丝

等待验证会员

硕士生

18%

还不是VIP/贵宾

-

威望
0
论坛币
10 个
通用积分
0.0868
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
693 点
帖子
78
精华
0
在线时间
136 小时
注册时间
2016-10-5
最后登录
2019-5-15

楼主
cremate 发表于 2017-1-25 21:12:22 来自手机 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
本人最近用r写随机森林,因为不是学计算机所以基本小白靠抄代码,最终弄出了预测结果。但是基本上预测结果应该是用输入的数据根据随机森林预测的拟合数据,那么如果我活的了新的数据还想使用这个生成的森林来继续预测是如何实现的呢?请教大神们!~
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:随机森林 林模型 学计算机 如何实现 计算机 学计算机 模型 森林 如何

回帖推荐

cheng334 发表于2楼  查看完整内容

我使用r自身所內建資料iris做說明,以利您可重複執行。代碼如下: #隨機森林建構及預測步驟: #1.叫入資料並進行資料切割 data=sample(nrow(iris),0.8*nrow(iris)) #抽取80%資料做訓練 train=iris[data,] #訓練集 test=iris[-data,] #測試集 #2.隨機森林建構 library(randomForest) rf=randomForest(Species~.,data=train,ntree=100,proximity=T) #3.模型表現 table(predict(rf),train$Species) #訓練集混淆矩陣 ...

沙发
cheng334 发表于 2017-1-26 00:17:48
我使用r自身所內建資料iris做說明,以利您可重複執行。代碼如下:
#隨機森林建構及預測步驟:
#1.叫入資料並進行資料切割
data=sample(nrow(iris),0.8*nrow(iris))  #抽取80%資料做訓練
train=iris[data,]  #訓練集
test=iris[-data,]  #測試集
#2.隨機森林建構
library(randomForest)
rf=randomForest(Species~.,data=train,ntree=100,proximity=T)
#3.模型表現
table(predict(rf),train$Species)        #訓練集混淆矩陣

table(predict(rf,newdata=test),test$Species)        #測試集混淆矩陣,predict即為預測,使用測試集做預測

A=predict(rf,newdata=test)        #預測結果
cbind("樣本"=rownames(test),"預測分類"=A,"實際分類"=test$Species)  #比較實際分類與預測分類

其中的test可改為您所說的新數據,即可進行預測。預測表現可看測試集混淆矩陣或自行繪製誤差圖或ROC圖等。

藤椅
cremate 发表于 2017-1-26 11:22:12
cheng334 发表于 2017-1-26 00:17
我使用r自身所內建資料iris做說明,以利您可重複執行。代碼如下:
#隨機森林建構及預測步驟:
#1.叫入資料並 ...
大神我是计算机小白,有些代码还看不大懂,实际操作过程也遇到了些问题,我的外部数据是一个22*1020的csv,其中一列为因变量。
我让您先看下我写的吧:
library(randomForest)
> GC <- read.csv("d:/nba.csv",header = TRUE)
>  GC_rf <- randomForest(人数.单位.万人次.~.,data = GC,keep.forest = TRUE,ntree = 500)
这里我引用的是外部数据,所以并不能直接使用data函数,这一步是请教别人的才把外部数据引入,所以这一步我对不上您写的iris数据集。还想请教怎么改正?

板凳
cheng334 发表于 2017-1-27 21:52:18
我所謂的iris是r自身所帶的數據,可直接讀取,而您的數據來自外部,故使用read.csv讀取。這只是數據的來源不同所致,並不影響您的分析。我開始的第一步是數據切割,是為了將數據分為訓練集及測試集所做的,假如您欲與我相同,以80%資料做訓練集,20%資料做測試集,則直接把GC做為iris 的替代,即data=sample(nrow(GC),0.8*nrow(GC)),下面的train及test可直接使用,數據集就被切成兩個數據集了,一個是train,用於建模,另一個是測試用的,也就是理論上未知的預測數據。第二步的建構隨機森林模型,就把您的data=GC,改為data=train,您可以考慮把GC_rf改為rf,那麼之後的代碼就可直接沿用了!
順帶說明,以抽樣的方式(sample)決定訓練集與測試集並不是一定的,端視您的數據切割策略而定。還有,如果您自認對代碼輸入頭疼,建議您使用r的rattle套件,它是r的數據挖掘視窗版,按一按就能執行分析。

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
jg-xs1
拉您进交流群
GMT+8, 2025-12-9 08:55