Esercizio - Eseguire la regressione lineare con Scikit Learn
Un'altra libreria Python molto diffusa e ampiamente usata nella comunità dei ricercatori è scikit-learn, particolarmente efficiente nella creazione di modelli di Machine Learning per l'estrazione di informazioni dai dati. In questo esercizio si userà la libreria scikit-learn già importata nell'Unità 2 per calcolare una linea di tendenza per i dati sul clima della NASA.
Posizionare il cursore nella cella vuota nella parte inferiore del notebook. Modificare il tipo di cella in Markdown e immettere "Perform linear regression with scikit-learn" (Eseguire la regressione lineare con scikit-learn) come testo.
Aggiungere una cella Code (Codice) e incollare il codice seguente.
# Pick the Linear Regression model and instantiate it model = LinearRegression(fit_intercept=True) # Fit/build the model model.fit(yearsBase[:, np.newaxis], meanBase) mean_predicted = model.predict(yearsBase[:, np.newaxis]) # Generate a plot like the one in the previous exercise plt.scatter(yearsBase, meanBase) plt.plot(yearsBase, mean_predicted) plt.title('scatter plot of mean temp difference vs year') plt.xlabel('years', fontsize=12) plt.ylabel('mean temp difference', fontsize=12) plt.show() print(' y = {0} * x + {1}'.format(model.coef_[0], model.intercept_))
Eseguire ora la cella per visualizzare un grafico a dispersione con una linea di regressione.
Grafico a dispersione con linea di regressione calcolata da scikit-learn
L'output è quasi identico a quello dell'esercizio precedente. La differenza è che con scikit-learn le operazioni eseguite automaticamente sono di più. In particolare, non è stato necessario codificare una funzione di linea come si è fatto con NumPy. Questa operazione è stata eseguita dalla funzione LinearRegression
di scikit-learn. scikit-learn supporta numerosi tipi diversi di regressione, che risultano utili durante la creazione di sofisticati modelli di Machine Learning.