r - 如何使用 regr.lm 任务在 mlr 中设置多项式(自定义)公式
问题描述
我正在尝试使用包将多项式函数(出于学习原因)拟合到BostonHousing
数据中mlr
。
我无法弄清楚如何为lm
使用的函数提供自定义公式,特别是我想将多项式函数添加到输入变量之一(用于测试目的)。
怎样才能最好地做到这一点?
library(mlr)
data("BostonHousing", package = "mlbench")
regr.task <- makeRegrTask(data = BostonHousing, target = "medv")
regr.learner <- makeLearner("regr.lm")
# I would like to specify the formula used by "regr.lm" myself, how can this be achieved?
regr.train <- train(regr.learner, regr.task)
lm.results <- getLearnerModel(regr.train)
summary(lm.results)
Call:
stats::lm(formula = f, data = d)
Residuals:
Min 1Q Median 3Q Max
-15.595 -2.730 -0.518 1.777 26.199
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 3.646e+01 5.103e+00 7.144 3.28e-12 ***
crim -1.080e-01 3.286e-02 -3.287 0.001087 **
zn 4.642e-02 1.373e-02 3.382 0.000778 ***
indus 2.056e-02 6.150e-02 0.334 0.738288
chas1 2.687e+00 8.616e-01 3.118 0.001925 **
nox -1.777e+01 3.820e+00 -4.651 4.25e-06 ***
rm 3.810e+00 4.179e-01 9.116 < 2e-16 ***
age 6.922e-04 1.321e-02 0.052 0.958229
dis -1.476e+00 1.995e-01 -7.398 6.01e-13 ***
rad 3.060e-01 6.635e-02 4.613 5.07e-06 ***
tax -1.233e-02 3.760e-03 -3.280 0.001112 **
ptratio -9.527e-01 1.308e-01 -7.283 1.31e-12 ***
b 9.312e-03 2.686e-03 3.467 0.000573 ***
lstat -5.248e-01 5.072e-02 -10.347 < 2e-16 ***
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Residual standard error: 4.745 on 492 degrees of freedom
Multiple R-squared: 0.7406, Adjusted R-squared: 0.7338
F-statistic: 108.1 on 13 and 492 DF, p-value: < 2.2e-16
解决方案
推荐阅读
- python - Python 请求不起作用,但 curl 请求可以
- php - 致命错误:未捕获的错误:调用 C:\xampp\htdocs\ 中 bool 上的成员函数 bind_param()
- javascript - 使用 Javascript 中过滤器的回调进行回调的问题
- testing - 使用 NestJS 队列时关闭 redis 连接
- reactjs - 理解 JSX 元素声明语法
- python - 如何在 tkinter 窗口中打印项目?
- reactjs - 类中的函数不能调用外部函数
- github - 在 Github 的 markdown 中在图像旁边添加文本
- flutter - flutter webview插件打开缩小窗口
- javascript - 如何获取当前位置以将 Expo 位置 API 与 React Native 结合使用?