Concetti di Scikit-Learn
La libreria scikit-learn (importata come sklearn
) offre diverse funzioni e classi per la preprocessazione dei dati e la modellazione. Gli oggetti principali di sklearn
sono estimator, transformer, predictor e model.
Estimator
Ogni classe di sklearn
che possiede il metodo .fit()
è considerata un estimator. Il metodo .fit()
consente a un oggetto di apprendere dai dati.
In altre parole, il metodo .fit()
serve per addestrare un oggetto. Accetta i parametri X
e y
(y
è opzionale per i compiti di apprendimento non supervisionato).
estimator.fit(X, y) # For supervised learning tasks
estimator.fit(X) # For unsupervised learning tasks
Non è molto utile se un oggetto apprende dai dati senza produrre alcun risultato. Più pratici sono i due tipi di oggetti che ereditano dall'estimator: il transformer e il predictor.
Trasformatore
Un trasformatore dispone del metodo .fit()
e del metodo .transform()
che trasforma i dati in qualche modo.
Di solito, i trasformatori devono apprendere qualcosa dai dati prima di trasformarli, quindi è necessario applicare .fit()
e poi .transform()
. Per evitare questo passaggio, i trasformatori dispongono anche del metodo .fit_transform()
.
.fit_transform()
produce lo stesso risultato dell'applicazione sequenziale di .fit()
e .transform()
, ma talvolta è più veloce, quindi è preferibile rispetto a .fit().transform()
.
transformer.fit(X) # Train the transformer
transformer.transform(X) # Transform the data using an already trained transformer
transformer.fit_transform(X) # Train the transformer and transform the data
I trasformatori sono solitamente utilizzati per trasformare l'array X
. Tuttavia, come vedremo nell'esempio di LabelEncoder
, alcuni trasformatori sono progettati per l'array y
.
I valori nan
mostrati nel set di addestramento nell'immagine indicano dati mancanti in Python.
Predittore
Un predittore è un estimatore (possiede il metodo .fit()
) che dispone anche del metodo .predict()
. Il metodo .predict()
viene utilizzato per effettuare previsioni.
predictor.fit(X, y) # Training the predictor
predictor.predict(X_new) # Predicting the target for new instances once the predictor is trained.
Modello
Un modello è un tipo di predittore che include anche il metodo .score()
. Questo metodo calcola un punteggio (metrica) per misurare le prestazioni del predittore.
model.fit(X, y) # Train the model
model.score(X, y) # Calculate a score for the trained model on X, y set.
Come menzionato nel capitolo precedente, accuracy è una metrica che rappresenta la percentuale di previsioni corrette.
La fase di preprocessing prevede l'utilizzo di trasformatori, mentre nella fase di modellazione si lavora con predittori (più precisamente con modelli).
Grazie per i tuoi commenti!
Chieda ad AI
Chieda ad AI
Chieda pure quello che desidera o provi una delle domande suggerite per iniziare la nostra conversazione
Can you explain the difference between a transformer and a predictor?
What are some common examples of transformers and predictors in scikit-learn?
How do I choose which scikit-learn object to use for my task?
Awesome!
Completion rate improved to 3.13
Concetti di Scikit-Learn
Scorri per mostrare il menu
La libreria scikit-learn (importata come sklearn
) offre diverse funzioni e classi per la preprocessazione dei dati e la modellazione. Gli oggetti principali di sklearn
sono estimator, transformer, predictor e model.
Estimator
Ogni classe di sklearn
che possiede il metodo .fit()
è considerata un estimator. Il metodo .fit()
consente a un oggetto di apprendere dai dati.
In altre parole, il metodo .fit()
serve per addestrare un oggetto. Accetta i parametri X
e y
(y
è opzionale per i compiti di apprendimento non supervisionato).
estimator.fit(X, y) # For supervised learning tasks
estimator.fit(X) # For unsupervised learning tasks
Non è molto utile se un oggetto apprende dai dati senza produrre alcun risultato. Più pratici sono i due tipi di oggetti che ereditano dall'estimator: il transformer e il predictor.
Trasformatore
Un trasformatore dispone del metodo .fit()
e del metodo .transform()
che trasforma i dati in qualche modo.
Di solito, i trasformatori devono apprendere qualcosa dai dati prima di trasformarli, quindi è necessario applicare .fit()
e poi .transform()
. Per evitare questo passaggio, i trasformatori dispongono anche del metodo .fit_transform()
.
.fit_transform()
produce lo stesso risultato dell'applicazione sequenziale di .fit()
e .transform()
, ma talvolta è più veloce, quindi è preferibile rispetto a .fit().transform()
.
transformer.fit(X) # Train the transformer
transformer.transform(X) # Transform the data using an already trained transformer
transformer.fit_transform(X) # Train the transformer and transform the data
I trasformatori sono solitamente utilizzati per trasformare l'array X
. Tuttavia, come vedremo nell'esempio di LabelEncoder
, alcuni trasformatori sono progettati per l'array y
.
I valori nan
mostrati nel set di addestramento nell'immagine indicano dati mancanti in Python.
Predittore
Un predittore è un estimatore (possiede il metodo .fit()
) che dispone anche del metodo .predict()
. Il metodo .predict()
viene utilizzato per effettuare previsioni.
predictor.fit(X, y) # Training the predictor
predictor.predict(X_new) # Predicting the target for new instances once the predictor is trained.
Modello
Un modello è un tipo di predittore che include anche il metodo .score()
. Questo metodo calcola un punteggio (metrica) per misurare le prestazioni del predittore.
model.fit(X, y) # Train the model
model.score(X, y) # Calculate a score for the trained model on X, y set.
Come menzionato nel capitolo precedente, accuracy è una metrica che rappresenta la percentuale di previsioni corrette.
La fase di preprocessing prevede l'utilizzo di trasformatori, mentre nella fase di modellazione si lavora con predittori (più precisamente con modelli).
Grazie per i tuoi commenti!