Exercício – Efetuar uma Regressão Linear com a Scikit Learn
Outra biblioteca Python popular que é muito utilizada na comunidade de investigação é a scikit-learn, que é ideal para criar modelos de machine learning para ajudar na extração de informações a partir dos dados. Neste exercício, irá utilizar a scikit-learn (que já foi importada na Unidade 2) para calcular uma linha de tendência a partir dos dados climáticos da NASA.
Coloque o cursor numa célula vazia na parte inferior do bloco de notas. Altere o tipo da célula para Markdown e introduza "Perform linear regression with scikit-learn" ("Efetuar uma regressão linear com a scikit-learn") como o texto.
Adicione uma célula do tipo Code (Código) e cole o seguinte 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_))
Agora, execute a célula para apresentar um gráfico de dispersão com uma linha de regressão.
Gráfico de dispersão com linha de regressão calculada pela sckikit-learn
O resultado é quase idêntico ao resultado do exercício anterior. A diferença é que a scikit-learn fez mais trabalho por si. Especificamente, não teve de codificar uma função de linha como fez com a NumPy; a função LinearRegression
da scikit-learn fê-lo por si. A scikit-learn suporta vários tipos diferentes de regressão, o que se revela útil ao criar modelos de machine learning sofisticados.