Comando train_test_split
train_test_split
es una función de la librería scikit-learn que se utiliza para dividir un conjunto de datos en dos subconjuntos: uno para entrenamiento y otro para prueba. Esta función es muy útil cuando se está entrenando un modelo de machine learning y se quiere evaluar su rendimiento en datos que no ha visto antes (conjunto de prueba).
Parámetros principales de train_test_split
:
- X: Características (features) del conjunto de datos.
- y: Etiquetas o valores objetivo (targets).
- test_size: Proporción o número absoluto de muestras que se asignarán al conjunto de prueba. Puede ser un valor entre 0 y 1 (porcentaje), o un número entero (número de muestras).
- train_size: Proporción o número de muestras que se asignarán al conjunto de entrenamiento.
- random_state: Controla la aleatoriedad del particionamiento de los datos. Si se fija un valor (e.g.,
random_state=42
), el resultado será reproducible. - shuffle: Si se debe barajar los datos antes de dividirlos (por defecto,
True
).
Ejemplo básico:
from sklearn.model_selection import train_test_split
from sklearn.datasets import load_iris
# Cargar el dataset Iris
iris = load_iris()
X = iris.data
y = iris.target
# Dividir el dataset en conjunto de entrenamiento y prueba (80% entrenamiento, 20% prueba)
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)
# Mostrar los tamaños de los conjuntos
print("Tamaño del conjunto de entrenamiento:", X_train.shape)
print("Tamaño del conjunto de prueba:", X_test.shape)
Explicación:
- X_train y y_train: Conjunto de datos de entrenamiento.
- X_test y y_test: Conjunto de datos de prueba.
- test_size=0.2: Indica que el 20% de los datos se usará para prueba y el 80% para entrenamiento.
- random_state=42: Garantiza que la partición sea la misma cada vez que se ejecute el código.