No momento em que você está dando um tiro em um modelo e precisa prepará-lo, você claramente tem um conjunto de dados. Seja como for, na esteira da preparação, precisamos testar o modelo em algum conjunto de dados de teste. Para isso, você terá um conjunto de dados que não é o mesmo que o conjunto de preparação que você utilizou antes. Seja como for, pode não ser concebível ter uma quantidade tão grande de informação durante a fase de melhoria.

Nesses casos, a disposição clara é dividir o conjunto de dados que você tem em dois conjuntos, um para preparar e outro para testar; e você faz isso antes de começar a preparar seu modelo.

Em qualquer caso, o inquérito é, como você dividiria a informação? Você não pode, de forma alguma, formar ou dividir fisicamente o conjunto de dados em dois. Além disso, você também precisa garantir a divisão da informação de forma irregular. Para nos ajudar nesta tarefa, a biblioteca SciKit fornece um aparelho, chamado Model Choice library. Há uma classe na biblioteca que é, apropriadamente, chamada ‘train_test_split’. Utilizando isto, podemos, sem muito esforço, dividir o conjunto de dados na preparação e os conjuntos de dados de teste em diferentes extensões.

Há alguns parâmetros que temos de compreender antes de utilizarmos a classe:

test_size – Este parâmetro escolhe o tamanho das informações que devem fazer parte do conjunto de dados do teste. Isto é dado como uma porção. Por exemplo, caso você passe de 0,5 como valor, o conjunto de dados será parte da metade como o conjunto de dados do teste. Caso você esteja indicando este parâmetro, você pode desconsiderar o seguinte parâmetro.

train_size – Você precisa determinar este parâmetro caso não esteja indicando o tamanho do_teste. Isto é equivalente ao tamanho_teste, no entanto, você diz à classe qual porcentagem do conjunto de dados você precisa separar como o conjunto de preparação.

random_state – Aqui você passa um número inteiro, que será a semente para o gerador de números arbitrários durante a divisão. Ou por outro lado, você também pode passar um caso da classe RandomState, que vai acabar sendo o gerador de números. Caso você não passe nada, a ocorrência de RandomState utilizada pelo np.random será utilizada.

Como exemplo, vamos considerar o mesmo conjunto de dados que consideramos nos nossos exemplos anteriores

Dividimos isto em dois conjuntos de dados distintos, um para os destaques livres – x, e outro para a variável dependente – y (que é a última secção). Actualmente, vamos dividir o conjunto de dados x em dois conjuntos separados – xTrain e xTest. Essencialmente, vamos dividir o conjunto de dados y em dois conjuntos também – yTrain e yTest. Fazer isto utilizando a biblioteca de sklearn é básico. Devemos dar uma olhada no código:

de sklearn.model_selection import train_test_splitxTrain
, xTest, yTrain, yTest = train_test_split(x, y, test_size = 0.2, random_state = 0)

Como deve ser óbvio pelo código, temos parte do conjunto de dados numa proporção de 80-20, o que é uma prática típica na ciência da informação. Para variar, eu não vou dar o rendimento aqui. Dê uma chance a você mesmo e perceba como são os novos conjuntos de dados.