我想比較模型性能的一堆模型使用相同的預測,但不同的模型參數。這似乎是使用broom
來創建整齊輸出的地方,但我無法弄清楚。 下面是一些非工作的代碼,可以幫助有什麼建議我在想:整潔的方法測試模型參數
seq(1:10) %>%
do(fit = knn(train_Market, test_Market, train_Direction, k=.), score = mean(fit==test_Direction)) %>%
tidy()
更多情況下,這是ISLR實驗室,我們正試圖tidyverse-IFY的一個組成部分。在這裏可以看到整個實驗室:https://github.com/AmeliaMN/tidy-islr/blob/master/lab3/lab3.Rmd
[更新:可重複的例子]這是很難做出一個小例子,在這裏,因爲需要對數據進行模型擬合之前鬧得不可開交,但這應該是可重複:
library(ISLR)
library(dplyr)
train = Smarket %>%
filter(Year < 2005)
test = Smarket %>%
filter(Year >= 2005)
train_Market = train %>%
select(Lag1, Lag2)
test_Market = test %>%
select(Lag1, Lag2)
train_Direction = train %>%
select(Direction) %>%
.$Direction
set.seed(1)
knn_pred = knn(train_Market, test_Market, train_Direction, k=1)
mean(knn_pred==test_Direction)
knn_pred = knn(train_Market, test_Market, train_Direction, k=3)
mean(knn_pred==test_Direction)
knn_pred = knn(train_Market, test_Market, train_Direction, k=4)
mean(knn_pred==test_Direction)
等
謝謝你讓我說實話,亞歷克斯。 – AmeliaMN
你想堅持dplyr /'do'嗎?這似乎很適合list-loops la lapply或purrr的功能。 – aosmith
對不起Amelia。只是我正在瀏覽鏈接的文字,並且失去了我的注意力。 –