Nel momento in cui si scatta una foto a un modello e bisogna prepararlo, si ha chiaramente un set di dati. Sia come sia, sulla scia della preparazione, abbiamo bisogno di testare il modello su alcuni dataset di prova. Per questo, avrete un dataset che non è lo stesso del set di preparazione che avete utilizzato prima. Sia come sia, potrebbe non essere generalmente concepibile avere una tale quantità di informazioni durante la fase di miglioramento.

In questi casi, la disposizione chiara è di dividere il set di dati che avete in due set, uno per la preparazione e l’altro per i test; e lo fate prima di iniziare a preparare il vostro modello.

In ogni caso, la domanda è: come dividereste le informazioni? Non è possibile in alcun modo, né forma né forma fisica, dividere fisicamente il set di dati in due. Inoltre, è necessario assicurarsi di dividere le informazioni in modo irregolare. Per assisterci in questa impresa, la biblioteca SciKit mette a disposizione un apparecchio, chiamato Model Choice. Nella libreria c’è una classe che è, appropriatamente, chiamata “train_test_split”. Usando questo possiamo, senza troppa fatica, suddividere il set di dati nella preparazione e nei set di dati di test in diverse estensioni.

Ci sono un paio di parametri che dobbiamo comprendere prima di utilizzare la classe:

test_size – Questo parametro sceglie la dimensione delle informazioni che devono far parte del set di dati del test. Questa è data come porzione. Per esempio, nel caso in cui si superi lo 0,5 come valore, il dataset sarà parte della metà del dataset di test. Nel caso in cui si indichi questo parametro, si può ignorare il seguente parametro.

train_size – È necessario determinare questo parametro nel caso in cui non si indichi il test_size. Questo equivale a test_size, ma piuttosto si dice alla classe quale percentuale del set di dati si deve separare come set di preparazione.

random_state – Qui si passa un numero intero, che andrà circa come il seme per il generatore di numeri arbitrari durante la divisione. Oppure, d’altra parte, si può anche passare un caso della classe RandomState, che finirà per essere il generatore di numeri. Nel caso in cui non si passa nulla, verrà utilizzata l’occorrenza RandomState utilizzata da np.random.

Per esempio, consideriamo lo stesso set di dati che abbiamo considerato nei nostri esempi precedenti

Abbiamo diviso questo in due set di dati distintivi, uno per le evidenziazioni libere – x, e uno per la variabile dipendente – y (che è l’ultima sezione). Attualmente divideremo il dataset x in due set separati – xTrain e xTest. Essenzialmente, divideremo il dataset y in due set anche – yTrain e yTest. Fare questo utilizzando la libreria sklearn è fondamentale. Dovremmo dare un’occhiata al codice:

da sklearn.model_selection importa train_test_splitxTrain
, xTest, yTest, yTest = train_test_split(x, y, test_size = 0.2, random_state = 0)

Come dovrebbe essere ovvio dal codice, abbiamo parte del set di dati in una proporzione di 80-20, che è una pratica tipica della scienza dell’informazione. Tanto per cambiare, non darò la resa qui. Date un’occhiata a questo e percepite come sono i nuovi dataset.