Oefening: lineaire regressie uitvoeren met Scikit Learn

Voltooid

Een andere populaire Python-bibliotheek die veel wordt gebruikt in de onderzoekswereld, is scikit-learn. Deze is uitermate geschikt voor het bouwen van Machine Learning-modellen om informatie uit gegevens te extraheren. In deze oefening gebruikt u scikit-learn. Scikit-learn is al geïmporteerd in deel twee om een trendlijn voor de NASA-klimaatgegevens te berekenen.

  1. Plaats de muisaanwijzer in de lege cel onderaan het notebook. Wijzig het type cel in Markdown en voer de volgende tekst in: 'Lineaire regressie met scikit-learn uitvoeren'.

  2. Voeg een codecel toe en plak hier de volgende code in.

    # 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. Voer de cel nu uit om een spreidingsplot met een regressielijn weer te geven.

    Scatter plot with regression line computed by sckikit-learn.

    Spreidingsplot met regressielijn berekend door scikit-learn

De uitvoer is vrijwel identiek aan de uitvoer in de vorige oefening. Het verschil is dat scikit-learn het meeste werk voor u heeft gedaan. Het grootste voordeel is dat u geen code voor een lijnfunctie hoeft te schrijven zoals in NumPy. De scikit-learn-functie LinearRegression heeft dit voor u gedaan. Scikit-learn biedt ondersteuning voor diverse verschillende typen regressie. Dit is met name handig wanneer u geavanceerde Machine Learning-modellen wilt bouwen.