Як використовувати функцію createdatapartition() у r
Ви можете використовувати функцію createDataPartition() пакета каретки в R, щоб розділити кадр даних на навчальні та тестові набори для створення моделі.
Ця функція використовує такий базовий синтаксис:
createDataPartition(y, times = 1, p = 0,5, list = TRUE, …)
золото:
- y : вектор результатів
- times : кількість розділів для створення
- p : відсоток даних для використання в навчальному наборі
- list : зберігати результати в списку чи ні
У наступному прикладі показано, як використовувати цю функцію на практиці.
Приклад: використання createDataPartition() у R
Припустімо, що ми маємо фрейм даних у R з 1000 рядків, що містить інформацію про години, які студенти навчалися, і їхні відповідні оцінки на підсумковому іспиті:
#make this example reproducible
set. seeds (0)
#create data frame
df <- data. frame (hours=runif(1000, min=0, max=10),
score=runif(1000, min=40, max=100))
#view head of data frame
head(df)
hours score
1 8.966972 55.93220
2 2.655087 71.84853
3 3.721239 81.09165
4 5.728534 62.99700
5 9.082078 97.29928
6 2.016819 47.10139
Припустімо, ми хочемо підібрати просту модель лінійної регресії , яка використовує вивчені години для прогнозування підсумкової оцінки іспиту.
Припустімо, ми хочемо навчити модель на 80% рядків у кадрі даних і протестувати її на решті 20% рядків.
У наведеному нижче коді показано, як використовувати функцію createDataPartition() пакета каретки , щоб розділити кадр даних на навчальний і тестовий набори:
library (caret)
#partition data frame into training and testing sets
train_indices <- createDataPartition(df$score, times= 1 , p= .8 , list= FALSE )
#create training set
df_train <- df[train_indices, ]
#create testing set
df_test <- df[-train_indices, ]
#view number of rows in each set
nrow(df_train)
[1] 800
nrow(df_test)
[1] 200
Ми бачимо, що наш навчальний набір даних містить 800 рядків, що становить 80% вихідного набору даних.
Подібним чином ми бачимо, що наш тестовий набір даних містить 200 рядків, що становить 20% вихідного набору даних.
Ми також можемо візуалізувати перші рядки кожного набору:
#view head of training set
head(df_train)
hours score
1 8.966972 55.93220
2 2.655087 71.84853
3 3.721239 81.09165
4 5.728534 62.99700
5 9.082078 97.29928
7 8.983897 42.34600
#view head of testing set
head(df_test)
hours score
6 2.016819 47.10139
12 2.059746 96.67170
18 7.176185 92.61150
23 2.121425 89.17611
24 6.516738 50.47970
25 1.255551 90.58483
Потім ми можемо перейти до навчання регресійної моделі за допомогою навчального набору та оцінити її продуктивність за допомогою тестового набору.
Додаткові ресурси
У наступних посібниках пояснюється, як використовувати інші поширені функції в R:
Як виконати перехресну перевірку K-Fold у R
Як виконати множинну лінійну регресію в R
Як виконати логістичну регресію в R