Ejercicio: Regresión lineal con Scikit Learn
Otra popular biblioteca de Python ampliamente usada entre la comunidad de investigadores es scikit-learn, magnífica para la compilación de modelos de aprendizaje automático para ayudar a extraer información de los datos. En este ejercicio se usa scikit-learn (que ya se ha importado en la unidad 2) para calcular una línea de tendencia para los datos climatológicos de la NASA.
Coloque el cursor en la celda vacía de la parte inferior del cuaderno. Cambie el tipo de celda a Markdown y escriba "Realizar regresión lineal con scikit-learn" como texto.
Agregue una celda de tipo Código y pegue el siguiente código.
# 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_))
Ahora ejecute la celda para mostrar un gráfico de dispersión con una línea de regresión.
Gráfico de dispersión con línea de regresión calculado por sckikit-learn
El resultado es casi idéntico al del ejercicio anterior. La diferencia es que scikit-learn ha realizado automáticamente la mayor parte del trabajo que correspondía al usuario. En concreto, no ha tenido que codificar una función de línea como ha hecho con NumPy; la función LinearRegression
de scikit-learn lo ha hecho automáticamente. scikit-learn admite muchos tipos diferentes de regresión, lo que resulta útil a la hora de compilar sofisticados modelos de aprendizaje automático.