неділя, 8 серпня 2021 р.

Розподіл даних на тестову та навчальну вибірки

Розподіл даних на на навчальний та тестовий набори є важливим кроком попередньої обробки даних який покращує ефективність та точність моделі.
  • Тренувальний набір (X_train): Підмножина набору даних відгуки яких (y_train) відомі і які використовуються для навчання моделі.
  • Тестовий набір ( X_test): підмножина набору даних для перевірки навченої моделі, відгуки яких (y_train) відомі і які використовуються для перевірки якості навченої моделі на тренувальних даних
Для розподілу використовується клас train_test_split sklearn-бібліотеки model_selection. Приклад розбиття
X, y = np.arange(16).reshape((-1, 2)),range(8)
X
array([[ 0,  1],
       [ 2,  3],
       [ 4,  5],
       [ 6,  7],
       [ 8,  9],
       [10, 11],
       [12, 13],
       [14, 15]])
list(y)
[0, 1, 2, 3, 4, 5, 6, 7]
from sklearn.model_selection import train_test_split
x_train, x_test, y_train, y_test = train_test_split(X, y,test_size = 0.2,random_state = 0)
[X_train, y_train]	
[array([[14, 15],
        [ 4,  5],
        [ 8,  9],
        [ 6,  7],
        [12, 13]]), [7, 2, 4, 3, 6]]
																														
[X_test, y_test]
[array([[ 2,  3],
        [10, 11],
        [ 0,  1]]), [1, 5, 0]]
В train_test_split() ми передали 4 параметри -- два масиви X, y наборами даних і відгуками, test_size -- частка даних яка виділяється на тестовий набір, у нашому випадку це 33%, за умовчанням цей параметр рівний $0.25.$ Останній параметр random_state є параметром для генератора випадкових випадків, який перемішує дані.

Немає коментарів:

Дописати коментар