У меня есть набор данных Iris (можно найти здесь: https://www.kaggle.com/uciml/iris), который я должен разделить на тестовый и тренировочный набор.Однако мне нужно разделить его так, чтобы распределение классов в обучающем и тестовом наборе было таким же, как в полном наборе данных.
Я видел лучший ответ в этом вопросе: как разделить набор данных на соотношения между учебными и проверочными наборами между классами? но так как я новичок и в науке о данных, и в PythonЯ совершенно потерян.
Для набора данных Iris первые 50 строк представляют собой один вид цветов, следующие 50 - второй вид, а последние 50 - третий вид цветов.Как мне написать, чтобы я получил например.50% тестовых данных от каждого третьего?Я не могу понять, где и как они сделали это в вопросе, связанном выше.Если бы вы могли объяснить это, как вы, ребенку, я был бы очень признателен.
И представляет ли x_train 4 различных свойства цветка, а y_train - тот цветок, который у нас есть?
Заранее спасибо!
РЕДАКТИРОВАТЬ: я пробовал это
x_train, x_test, y_train, y_test = train_test_split (x, y, test_size = 0.5, random_state = 65)
но разве это справедливый способ сделать это?Я выбирал разные числа случайного состояния, пока не получил ровно 25 цветов каждого типа в тестовом и тренировочном наборе (это всегда было около 1/3, но с 65 я получил это точно).Это похоже на обман, хотя ...