En el momento en el que estás tomando una foto de un modelo y necesitas prepararla, claramente tienes un conjunto de datos. Sea como fuere, después de prepararlo, necesitamos probar el modelo en algún conjunto de datos de prueba. Para ello, tendrás un conjunto de datos que no es el mismo que el conjunto de preparación que utilizaste antes. Sea como fuere, en general no es concebible tener una cantidad tan grande de información durante la etapa de mejora.

En tales casos, la disposición clara es dividir el conjunto de datos que tiene en dos conjuntos, uno para preparar y otro para probar; y esto se hace antes de empezar a preparar el modelo.

En cualquier caso, la pregunta es, ¿cómo repartiría la información? No se puede de ninguna manera, forma o manera física dividir el conjunto de datos en dos. Además, tienes que asegurarte de dividir la información de forma irregular. Para ayudarnos en esta tarea, la biblioteca de SciKit nos da un aparato, llamado biblioteca de elección de modelos. Hay una clase en la biblioteca que se llama, apropiadamente, ‘train_test_split’. Utilizando esto podemos, sin mucho esfuerzo, dividir el conjunto de datos en la preparación y los conjuntos de datos de prueba en diferentes grados.

Hay un par de parámetros que tenemos que comprender antes de utilizar la clase:

tamaño_de_prueba – Este parámetro elige el tamaño de la información que debe formar parte del conjunto de datos de la prueba. Esto se da como una porción. Por ejemplo, en el caso de que pase 0,5 como valor, el conjunto de datos formará parte de la mitad como el conjunto de datos de prueba. En caso de que indique este parámetro, puede ignorar el siguiente parámetro.

train_size – Necesitas determinar este parámetro por si acaso no estás indicando el test_size. Esto es equivalente a test_size, pero en vez de eso le dices a la clase qué porcentaje del conjunto de datos necesitas separar como el conjunto de preparación.

random_state – Aquí se pasa un número entero, que será la semilla del generador de números arbitrarios durante la división. O por otro lado, puedes pasar también un caso de la clase RandomState, que terminará siendo el generador de números. En el caso de que no pases nada, se utilizará la ocurrencia RandomState utilizada por np.random.

Como ejemplo, consideremos el mismo conjunto de datos que hemos considerado en nuestros ejemplos anteriores

Dividimos esto en dos conjuntos de datos distintivos, uno para los puntos destacados libres – x, y uno para la variable dependiente – y (que es la última sección). Ahora dividiremos el conjunto de datos x en dos conjuntos separados – xTrain y xTest. Esencialmente, también dividiremos el conjunto de datos y en dos conjuntos: yTrain yTest. Hacer esto utilizando la biblioteca de Sklearn es básico. Deberíamos echar un vistazo al código:

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

Como debería ser obvio en el código, tenemos parte del conjunto de datos en una proporción de 80-20, que es una práctica típica en la ciencia de la información. Para variar, no daré el rendimiento aquí. Inténtelo usted mismo y perciba cómo son los nuevos conjuntos de datos.