- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个机器学习问题:88 个实例,2 个类(40 个“FR”类实例,48 个“RF”类实例)。我自己尝试了几种不同的算法,并通过交叉验证和留一法评估结果,我无法达到超过 0.6 的准确度。以下是 csv 格式数据集的链接:https://drive.google.com/open?id=1lhCOP3Aywk4kGDEStAwL6Uq1H3twSJWS
尝试使用 H2O AutoML 进行 10 倍交叉验证,我得到了或多或少相同的结果:cross-validation-leaderbord 。但是当我尝试留一法时,我意外地得到了更好的结果:leave-one-out-leaderboard
我通过 fold_column 参数执行留一验证,为每个实例分配不同的折叠,代码如下:
train <- read.csv("training_set.csv", header = TRUE)
train$ID <- seq.int(nrow(train))
# Identify predictors and response
y <- "class"
x <- setdiff(setdiff(names(train), y), "ID")
# For binary classification, response should be a factor
train[,y] <- as.factor(train[,y])
# Run AutoML for 20 base models
aml <- h2o.automl(x = x, y = y,
fold_column = "ID",
keep_cross_validation_predictions = TRUE,
keep_cross_validation_fold_assignment = TRUE,
sort_metric = "logloss",
training_frame = as.h2o(train),
max_models = 20,
seed = 1)
# View the AutoML Leaderboard
lb <- aml@leaderboard
print(lb, n = nrow(lb))
首先,我不知道这是否是执行留一法的正确方法,我还尝试将 n_folds 设置为 88,但我得到了或多或少相同的结果。这里是在aml@leader@model[["cross_validation_metrics"]]中找到的信息:
H2OBinomialMetrics: stackedensemble
** Reported on cross-validation data. **
** 88-fold cross-validation on training data (Metrics computed for combined holdout predictions) **
MSE: 0.1248958
RMSE: 0.353406
LogLoss: 0.4083967
Mean Per-Class Error: 0.075
AUC: 0.8635417
pr_auc: 0.7441933
Gini: 0.7270833
Confusion Matrix (vertical: actual; across: predicted) for F1-optimal threshold:
FR RF Error Rate
FR 34 6 0.150000 =6/40
RF 0 48 0.000000 =0/48
Totals 34 54 0.068182 =6/88
Maximum Metrics: Maximum metrics at their respective thresholds
metric threshold value idx
1 max f1 0.712894 0.941176 53
2 max f2 0.712894 0.975610 53
3 max f0point5 0.712894 0.909091 53
4 max accuracy 0.712894 0.931818 53
5 max precision 0.712894 0.888889 53
6 max recall 0.712894 1.000000 53
7 max specificity 0.739201 0.975000 0
8 max absolute_mcc 0.712894 0.869227 53
9 max min_per_class_accuracy 0.715842 0.850000 46
10 max mean_per_class_accuracy 0.712894 0.925000 53
虽然这些信息看起来是一致的,但另一件让我认为有问题的事情是上面的混淆矩阵与 h2o.confusionMatrix(aml@leader) 获得的混淆矩阵之间的差异:
Confusion Matrix (vertical: actual; across: predicted) for max f1 @ threshold = 0.117307738035598:
FR RF Error Rate
FR 18 22 0.550000 =22/40
RF 3 45 0.062500 =3/48
Totals 21 67 0.284091 =25/88
为什么两个混淆矩阵不同?难道他们不应该找到相同的 F1 最佳阈值吗?
有什么问题吗,还是只是 Stacked Ensemble 更好?
最佳答案
对于你的问题:为什么两个混淆矩阵不同?难道他们不应该找到相同的 F1 最佳阈值吗?
两个混淆矩阵都使用最大 F1 阈值。差异可能在于用于计算 F1 的数据集。您可以在表“最大指标:各自阈值处的最大指标”表的第一行看到阈值。
aml@leader@model[["cross_validation_metrics"]]
看起来正在使用验证数据,而 h2o.confusionMatrix(aml@leader)
正在使用训练数据。您可以尝试 aml@leader@model[["training_metrics"]]
看看它是否与 h2o.confusionMatrix(aml@leader)
匹配。
关于r - H2O AutoML 留一法的性能比 10 倍交叉验证好太多,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59359438/
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。 想改进这个问题?将问题更新为 on-topic对于堆栈溢出。 6年前关闭。 Improve this qu
我有实体: @Entity @Table(name = "CARDS") public class Card { @ManyToOne @JoinColumn(name = "PERSON_I
我正在尝试计算二维多边形的表面法线。我正在使用 OpenGL wiki 中的 Newell 方法来计算表面法线。 https://www.opengl.org/wiki/Calculating_a_S
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。 这个问题似乎与 help center 中定义的范围内的编程无关。 . 关闭 7 年前。 Improve
关闭。这个问题是off-topic .它目前不接受答案。 想改进这个问题吗? Update the question所以它是on-topic用于堆栈溢出。 关闭 9 年前。 Improve this
我这里有以下 XML: Visa, Mastercard, , , , 0, Discover, American Express siteonly, Buyer Pay
即将发生的 Google 政策变更迫使我们实现一个对话框,以通知欧盟用户有关 Cookie/设备标识符用于广告和分析的情况。我只想向欧盟用户显示此对话框。我不想使用额外的权限(例如 android.p
本文分享自华为云社区《华为大咖说 | 企业应用AI大模型的“道、法、术” ——道:认知篇》,作者:华为云PaaS服务小智。 本期核心观点 上车:AGI是未来5~10年内,每个人都无法回避的技
我有一个与酒精相关的网站,需要先验证年龄,然后才能让他们进入该网站。我使用 HttpModule 来执行此操作,该模块检查 cookie,如果未设置,我会将它们重定向到验证页面。我验证他们的年龄并存储
在欧盟,我们有一项法律,要求网页请求存储 cookie 的许可。我们大多数人都了解 cookie 并同意它们,但仍然被迫在任何地方明确接受它们。所以我计划编写这个附加组件(ff & chrome),它
以下在 C 和/或 C++ 中是否合法? void fn(); inline void fn() { /*Do something here*/ } 让我担心的是,第一个声明看起来暗示函数将被定义
我是一名优秀的程序员,十分优秀!