Я хочу разделить категории данных на набор для обучения, тестирования и проверки. Например: если у нас есть 3 категории положительных, отрицательных и нейтральных в наборе данных. Положительная категория разделена на обучающую, тестовую и проверочную. То же самое и с двумя другими категориями. Коэффициент разделения составляет 80% данных для обучения и 20% для тестирования. Из 80% данных обучения разделите 10% на данные проверки. Но самое главное, что разбиение данных не должно происходить случайным образом.
Как разделить данные с помощью train_test_split в Python Numpy на набор данных для обучения, тестирования и проверки? Раскол не должен быть случайным
Ответы (1)
Для этого можно использовать параметр stratify
:
Например: если бы вы использовали для этого набор данных Iris.
from sklearn import cross_validation, datasets
X = iris.data[:,:2]
y = iris.target
cross_validation.train_test_split(X,y,stratify=y)
Вы можете прочитать больше здесь: https://scikit-learn.org/stable/modules/generated/sklearn.model_selection.train_test_split.html.
person
Sharath
schedule
21.11.2019
Неважно. Об этом позаботится переменная stratify. Может иметь любое количество классов.
- person Sharath; 21.11.2019
Добро пожаловать. Пожалуйста, отметьте это как ответ, чтобы другие тоже могли получить пользу
- person Sharath; 21.11.2019