Ejercicio: Regresión lineal con Scikit Learn

Completado

Otra biblioteca popular de Python que se usa ampliamente en la comunidad de investigación es scikit-learn, que se destaca en la creació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.

  1. 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.

  2. Agregue una celda Code y pegue el código siguiente.

    # 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_))
    
  3. 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 la línea de regresión calculada por sckikit-learn.

    Gráfico de dispersión con la línea de regresión calculada 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 al crear modelos sofisticados de aprendizaje automático.