Função train_test_split
A função train_test_split()
faz parte do módulo sklearn.model_selection
da biblioteca Scikit-learn (sklearn) em Python. Essa função é amplamente utilizada na avaliação de algoritmos de aprendizado de máquina e é usada para dividir um conjunto de dados em bases de treinamento e teste.
Sintaxe
from sklearn.model_selection import train_test_split
X_train, X_test, y_train, y_test = train_test_split(X, Y, test_size=0.25, random_state=None)
Parâmetros:
-
X
: Array ou DataFrame com as features (atributos) do conjunto de dados. -
Y
: Array ou DataFrame com o target (variável de saída ou classe) correspondente às features. -
test_size
: Define a proporção do conjunto de teste em relação ao conjunto total. Pode ser um valor entre 0 e 1 ou um inteiro (representando o número absoluto de amostras de teste). -
random_state
: Parâmetro opcional para controlar a aleatoriedade da divisão. Se 0 for fornecido, garante que a divisão seja sempre a mesma, sendo útil para reproduzir resultados.
Retorno:
-
X_train
: Conjunto de dados de treinamento contendo as features. -
X_test
: Conjunto de dados de teste contendo as features. -
y_train
: Conjunto de dados de treinamento contendo o target correspondente às features. -
y_test
: Conjunto de dados de teste contendo o target correspondente às features.
Exemplo
from sklearn.model_selection import train_test_split
# Dados de atributos e rótulos
X = [[1, 2, 3], [4, 5, 6], [7, 8, 9], [10, 11, 12]]
y = [0, 1, 0, 1]
# Dividir os dados em conjuntos de treinamento e teste
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.25, random_state=42)
# Exibir os conjuntos de treinamento e teste
print("Conjunto de treinamento:")
print(X_train)
print(y_train)
print("\nConjunto de teste:")
print(X_test)
print(y_test)
Saída:
Conjunto de treinamento:
[[4, 5, 6],
[1, 2, 3],
[7, 8, 9]]
[1, 0, 0]
Conjunto de teste:
[[10, 11, 12]]
[1]
Conclusão
A função train_test_split()
é uma ferramenta importante para a avaliação de modelos de aprendizado de máquina. Ao dividir o conjunto de dados em bases de treinamento e teste, podemos estimar o desempenho do modelo em situações do mundo real e garantir que ele generalize bem para dados não vistos durante o treinamento. Essa função é amplamente utilizada na prática para garantir a eficiência e precisão dos modelos de aprendizado de máquina.