- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
使用随机森林包:-
#install.packages("randomForest")
library(randomForest)
我使用在线代码在我的系统上运行随机森林。我得到了一个具有混淆矩阵和准确性等的模型。现在,我的数据采用训练集和验证集的形式。我从这里获取数据:- https://archive.ics.uci.edu/ml/machine-learning-databases/car/我按照70%-30%的比例划分(分别是训练-验证)。然后我在上面运行了一个模型。模型结果给了我一个答案,即对于运行随机森林的变量的一个特定值,大约 30 个观测值被错误分类。以下是示例数据:-
BuyingPrice Maintenance NumDoors NumPersons Bootspace Safety Condition
vhigh low 4 4 med low unacc
vhigh med 2 4 med high acc
vhigh med 2 more small high unacc
vhigh high 3 4 big high unacc
vhigh med 4 more small med unacc
low low 2 more med med acc
随机森林的运行是为了预测最后一个变量“条件”。以下是模型摘要
Call:
randomForest(formula = Condition ~ ., data = TrainSet, ntree = 500,
mtry = 6, importance = TRUE)
Type of random forest: classification
Number of trees: 500
No. of variables tried at each split: 6
OOB estimate of error rate: 2.48%
Confusion matrix:
acc good unacc vgood class.error
acc 244 4 6 2 0.04687500
good 3 44 1 0 0.08333333
unacc 11 1 843 0 0.01403509
vgood 2 0 0 47 0.04081633
如果我们取表格的第一行(就在我们上面的行),我们会看到值“acc”有 244 个正确的预测 (95%) 和 12 个错误的预测。同样,“good”有 44 次正确预测(91%)和 4 次错误预测。其他两个依此类推。错误预测总数为 30 (12+4+12+2)现在,从技术上讲,该模型的预测值应与实际值相差 30 个错误分类值。现在我尝试通过两种方法获取预测值:-
1. First method :- model2$predicted.
2. Second method :- predTrain <- predict(model2, TrainSet, type = "class")
第一种方法为我提供了一个与实际值有 30 个地方不同的预测值集,而第二种方法为我提供了一个与实际值完全相同的数据集。我认为第一种方法是正确的,但链接中的人使用了第二种方法。
https://www.r-bloggers.com/how-to-implement-random-forests-in-r/
不确定我的概念哪里出了问题请帮忙。PS:-我知道有人问过类似的问题,但我觉得这个问题和下面的答案对我来说都不够详细或容易解释。这就是为什么我问了一个新问题。
示例代码
set.seed(100)
train <- sample(nrow(data1),0.7*nrow(data1),replace=FALSE)
TrainSet <- data1[train,]
ValidSet <- data1[-train,]
model2 <- randomForest(Condition ~ ., data = TrainSet, ntree = 500, mtry=6,
importance = TRUE)
predTrain <- predict(model2, TrainSet, type = "class")
new1 <- data.frame(actual = TrainSet$Condition, predicted = predTrain)
new2 <- data.frame(actual = TrainSet$Condition, predicted =
model2$predicted)
new1$third <- 0
for(i in 1:nrow(new1))
{
if(new1[i,1] == new1[i,2])
{
new1[i,3] = 1
}else{
new1[i,3] = 0
}
}
new2$third <- 0
for(i in 1:nrow(new2))
{
if(new2[i,1] == new2[i,2])
{
new2[i,3] = 1
}else{
new2[i,3] = 0
}
}
谢谢,阿拜
最佳答案
根据 randomForest 函数的文档:预测:基于袋外样本的输入数据的预测值。
因此,观测值的预测值是通过不使用该观测值的模型获得的。
预测函数将学习到的模型应用于新数据,但不知道它们用于训练。因此任何观察都可用于学习和预测。
您应该使用预测输出,因为每个预测值都是在没有用于训练的相应观察值的情况下计算的。
关于r - 对于 R 中的随机森林模型,predict() 函数和 model$predicted 有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54644781/
我们正在运行 MarkLogic 9.0-11 版本 3 节点集群,并且 MarkLogic 安装在“/var/opt/MarkLogic/”目录中,我们创建了“/var/opt/MarkLogic/
我有一片任意高度的森林,大致像这样: let data = [ { "id": 2, "name": "AAA", "parent_id": null, "short_name": "A" },
已关闭。此问题不符合Stack Overflow guidelines 。目前不接受答案。 这个问题似乎与 help center 中定义的范围内的编程无关。 . 已关闭 7 年前。 Improve
我有一个巨大的深度字典,代表森林(许多非二叉树),我想处理森林并创建一个包含森林所有可能关系的文本文件,例如给定字典: {'a': {'b': {'c': {}, 'd': {}}, 'g': {}}
在我的 Android 应用程序中,我包含了谷歌地图。现在我想获取有关您周围地区的信息。例如,你是在公园/森林/海滩……所以我基本上想要一个用“水”回答输入坐标 53°33'40.9"N 10°00'
如果我有下表: Member_Key Member_Name col1 Mem1 col2 Mem2 col3 Mem3 col4
继续我的老问题: Writing nested dictionary (forest) of a huge depth to a text file 现在我想把森林遍历写成BFS风格:我有一个巨大的深
我有一个多域环境(事件目录林),例如subdomain1.mydomain.com, subdomain2.mydomain.com 其中 mydomain.com 是根 AD 域 (GC) 和 su
我想知道是否有可能在 Google map 或 Bing Mag 2D/3D map 上恢复地形类型(山脉、森林、水域、平原等...) 。为了根据玩家在现实世界中的位置生成 map !我认为可用 AP
我是一名优秀的程序员,十分优秀!