Exercício – Efetuar uma Regressão Linear com a Scikit Learn

Concluído

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.

  1. 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.

  2. 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_))
    
  3. Agora, execute a célula para apresentar um gráfico de dispersão com uma linha de regressão.

    Scatter plot with regression line computed by sckikit-learn.

    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.