Oefening: lineaire regressie uitvoeren met Scikit Learn
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.
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'.
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_))
Voer de cel nu uit om een spreidingsplot met een regressielijn weer te geven.
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.