- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
sklearn SVM-Anova 的文档中有一个示例。我想进一步对 SVM 的超参数、i.d.、C 和 gamma 进行GridSearchCV
,对于示例中使用的每个百分位数的特征,如下所示:
transform = feature_selection.SelectPercentile(feature_selection.f_classif)
clf = Pipeline([('anova', transform),
('normal',preprocessing.StandardScaler()),
('svc', svm.SVC())])
parameters = {
'svc__gamma': (1e-3, 1e-4),
'svc__C': (1, 10, 100, 1000)
}
percentiles = (1, 3, 6, 10, 15, 20, 30, 40, 60, 80, 100)
for percentile in percentiles:
clf.set_params(anova__percentile=percentile)
search = GridSearchCV(clf, parameters,cv=StratifiedKFold(y,7,shuffle=True, random_state=5), scoring='roc_auc', n_jobs=1)
search.fit(X,y)
它工作得很好,通过这样做,我可以同时调整 Anova 和 SVM 的参数,并使用这样的参数对来构建我的最终模型。
但是,我对它的工作原理感到困惑。它是否首先拆分数据并通过管道?如果是这样,如果我想进一步了解这些选定的特征,如何确定 Anova 选择的特征?
比如说,我使用一对参数(Anova 的百分位数和 SVM 的 C/gamma)获得最佳 CV 分数,我如何才能准确地找出该设置中保留了哪些特征?因为每个参数设置都是在 CV 下进行测试的,每个参数都包含具有不同训练数据的折叠,因此需要通过 Anova 评估不同的特征集。
我可以得出的一种方法是对每个折叠中保留的功能集进行交叉,以获得性能最佳的一对参数,但我不知道如何修改代码来做到这一点。
对此方法的任何建议或疑问都表示赞赏和欢迎。
最佳答案
您可以摆脱百分位数的循环,只需将百分位数放入参数网格中即可。然后就可以查看search.best_estimator_
选择的特征,即search.best_estimator_.named_steps['anova'].get_support()
关于python - 网格搜索 SVM-anova 的超参数并在 Sklearn 中获取所选特征,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29732783/
我和我的一些学生已经在许多地方寻找解决这个问题的方法,但没有成功,而且实际上已经花费了几个月的时间。我一直被称为我不想使用的 lme 命令。提供的输出不是我的同事或我自己使用了超过 15 年的输出。此
我正在了解有关 lme4 包的更多信息,并且对 Bodo Winter's tutorial 表示赞赏和 this guide on Tufts .但是,这两个指南在建议确定固定效应显着性的方法时有所
我正在了解有关 lme4 包的更多信息,并且对 Bodo Winter's tutorial 表示赞赏和 this guide on Tufts .但是,这两个指南在建议确定固定效应显着性的方法时有所
我还没有完全了解 R 以及如何重新排列数据。我有一个需要重新排列的旧 SPSS 数据文件,以便我可以在 R 中进行方差分析。 我当前的数据文件具有以下格式: ONE <- matrix(c(1, 2,
我使用 car 包中的函数 Anova() 来执行类型 III 的测试。但是我不知道如何提取残差或如何获取参数估计的信息。 有没有什么方法可以做到这些,比如 residuals(model) 和 su
我希望能够将命名的模型列表(merMod 对象)传递给 anova() 并在输出中保留模型名称。这在使用 mclapply() 更有效地并行运行一批慢模型(如 glmers)的上下文中特别有用。我想出
我有一个问题。我想在一个脚本中运行 scipy.stats f_oneway() ANOVA,该脚本加载一个包含带有 numpy 数组的组的数据存档,如下所示: archive{'group1': a
我有一堆对数线性模型,就我们而言,它们只是 glm()对象调用 mx, my, mz .我想要一个格式很好的 xtable的偏差分析,所以我自然要执行 xtable(anova(mx, my, mz,
我已经引用了很多在线文献,但它增加了我的困惑。大部分讨论都过于技术性,涉及术语不平衡设计和 I、II 或 III 因子方差分析以及所有内容。 我只知道aov()用途 lm()在内部,对于带有因子的数据
我正在尝试在Matlab中使用4个因素进行重复测量方差分析,其中一个因素代表我希望作为随机因素的科目。 我的代码如下: [p,table,stats] = anovan(COORDS_SUBJ_II,
library(Matrix) library(lme4) data 。 (这应该记录在案,但我不能告诉。)对于您的示例, anova(model2,model1) 工作正常! “带有空指针的对象”错
library(Matrix) library(lme4) data 。 (这应该记录在案,但我不能告诉。)对于您的示例, anova(model2,model1) 工作正常! “带有空指针的对象”错
关闭。这个问题是off-topic .它目前不接受答案。 想改进这个问题吗? Update the question所以它是on-topic用于堆栈溢出。 关闭 10 年前。 Improve thi
我有一个相对较大的数据集(大约 273,744 条记录),其中包含人名和他们使用的屈光度: Name | Dioptric | Gender | Town | ------------------
我是 R 的新手。我正在处理一项任务。作业是创建 R 包来模拟方差分析表。我已经创建了任务中规定的所有必要功能。该函数计算出正确的值,但我无法像 R 内置的 anova() 函数那样显示方差分析表。这
关闭。这个问题是off-topic .它目前不接受答案。 想改善这个问题吗? Update the question所以它是 on-topic对于堆栈溢出。 8年前关闭。 Improve this q
在特征选择步骤下,我们要识别相关特征并去除冗余特征。 根据我的理解,冗余特征是依赖特征。 (所以我们只想将特征之间的独立特征留给它们自己) 我的问题是关于使用 sklearn 删除冗余特征和方差分析/
测试数据框: > foo x y z 1 0.191 0.324 0.620 2 0.229 0.302 0.648 3 0.191 0.351 0.626 4 0.229
我想知道如何在以下 MWE 中从 fm1 的输出中提取 Multivariate Tests: Site 部分。 library(car) fm1 F) Pillai 3
我正在查看 python 主题的统计数据。我用一只手就震惊了。 问题陈述: Perform ANOVA on the first linear model obtained while working
我是一名优秀的程序员,十分优秀!