Упражнение. Выполнение линейной регрессии с помощью Scikit-learn

Завершено

Еще одна популярная библиотека Python, которая широко используется в сообществе исследователей — scikit-learn, которая является превосходным средством создания моделей машинного обучения для извлечения ценной информации из данных. В этом упражнении вы будете использовать scikit-learn (который мы уже импортировали во втором модуле) для вычисления линии тренда для данных NASA о климате.

  1. Поместите курсор в пустую ячейку внизу записной книжки. Измените тип ячейки на Markdown и введите "Выполнить линейную регрессию со scikit-learn" как текст.

  2. Добавьте ячейку для кода и вставьте следующий код.

    # 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. Запустите ячейку для отображения точечной диаграммы с линией регрессии.

    Точечная диаграмма с линией регрессии, вычисленной scikit-learn.

    Точечная диаграмма с линией регрессии, вычисленной scikit-learn

Выходные данные почти идентичны результатам в предыдущем упражнении. Разница в том, scikit-learn проделал за вас больше работы. В частности, не нужно писать код линейной функции, как в случае с NumPy; функция scikit-learn LinearRegression сделала это автоматически. scikit-learn поддерживает многие типы регрессии, и это удобно при построении сложных моделей машинного обучения.