Exercício – Efetuar uma Regressão Linear com a Scikit Learn
Outra biblioteca Python popular que é amplamente utilizada na comunidade de pesquisa é o scikit-learn, que se destaca na construção de modelos de aprendizado de máquina para ajudar a extrair informações de 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 de célula para Markdown e digite "Executar regressão linear com scikit-learn" como texto.
Adicione uma célula de Código e cole o código a seguir.
# 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 por 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. O Scikit-Learn suporta muitos tipos diferentes de regressão, o que é útil ao construir modelos sofisticados de aprendizado de máquina.