Übung: Durchführen einer linearen Regression mit Scikit-learn

Abgeschlossen

Eine andere beliebte und in Forscherkreisen weit verbreitete Python-Bibliothek ist Scikit-learn. Sie eignet sich sehr gut zum Erstellen von Machine Learning-Modellen, mit denen Informationen aus Daten extrahiert werden können. In dieser Übung verwenden Sie Scikit-learn (wurde bereits in Lerneinheit 2 importiert), um eine Trendlinie für die NASA-Klimadaten zu berechnen.

  1. Platzieren Sie den Cursor in die leere Zelle unten im Notebook. Ändern Sie den Zellentyp in Markdown, und geben Sie als Text „Perform linear regression with Scikit-learn“ (Lineare Regression mit Scikit-learn durchführen) ein.

  2. Fügen Sie eine Codezelle hinzu, und fügen Sie den folgenden Code ein.

    # 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. Führen Sie die Zelle nun aus, um ein Punktdiagramm mit einer Regressionsgeraden anzuzeigen.

    Scatter plot with regression line computed by sckikit-learn.

    Punktdiagramm mit Regressionsgerade, die von Scikit-learn berechnet wurde

Die Ausgabe ist fast identisch mit der Ausgabe in der vorherigen Übung. Der Unterschied besteht darin, dass Scikit-learn mehr Arbeit für Sie erledigt hat. Genauer gesagt mussten Sie im Vergleich zu NumPy keine Linienfunktion codieren, da die Funktion LinearRegression von Scikit-learn dies für Sie erledigt hat. Scikit-learn unterstützt viele verschiedene Arten von Regressionen, was beim Erstellen komplexer Machine Learning-Modelle nützlich ist.