Все о линейной регрессии с использованием Scikit

Опубликовано: 2022-09-08

На практике существует два основных алгоритма машинного обучения с учителем: 1. Классификация и 2. Регрессия. Классификация используется для прогнозирования дискретных выходных данных, а регрессия используется для прогнозирования непрерывного выходного значения.

В алгебре линейность означает прямую или линейную зависимость между несколькими переменными. Буквальное представление этого отношения было бы прямой линией.

Запишитесь на курс машинного обучения в лучших университетах мира. Заработайте программы Masters, Executive PGP или Advanced Certificate Programs, чтобы ускорить свою карьеру.

Линейная регрессия — это алгоритм машинного обучения, который выполняется под наблюдением. Это процесс поиска и отображения линии, подходящей для всех точек данных, доступных на указанном графике. Это регрессионная модель, которая помогает оценить значение между одной зависимой и одной независимой переменной с помощью прямой линии.

Модели линейной регрессии помогают построить линейную зависимость между этими независимыми переменными, которые имеют наименьшие затраты, на основе заданных зависимых переменных.

В математике у нас есть три способа описания модели линейной регрессии. Они следующие (у — зависимая переменная):

  • y = точка пересечения + (наклон x) + ошибка
  • y = константа + (коэффициент x) + ошибка
  • у = а + Ьх + е

Оглавление

Почему линейная регрессия необходима?

Модели линейной регрессии сравнительно проще и удобнее. Они упрощают процесс интерпретации математических данных/формул, способных генерировать прогнозы. Линейная регрессия может быть полезна в различных областях (например, в академических или бизнес-исследованиях).

Модель линейной регрессии — единственный научно доказанный метод точного прогнозирования будущего. Он используется в различных науках, от экологических, поведенческих, социальных и т. Д.

Свойства этих моделей очень хорошо изучены и, следовательно, легко поддаются обучению, поскольку это давно установленная статистическая процедура. Это также облегчает преобразование обширных наборов необработанных данных в полезную информацию.

Ключевые допущения эффективной линейной регрессии

  • Для каждой переменной следует учитывать количество достоверных случаев, среднее значение и стандартное отклонение.
  • Для каждой модели следует учитывать коэффициенты регрессии, матрицу корреляции, частичные и частные корреляции, стандартную ошибку оценки, таблицу дисперсионного анализа, прогнозируемые значения и остатки.
  • Графики : рассматриваются диаграммы рассеяния, гистограммы, частичные графики и графики нормальной вероятности.
  • Данные : необходимо убедиться, что зависимые и независимые переменные являются количественными. Категориальные переменные не нужно перекодировать в бинарные или фиктивные переменные или другие типы контрастных переменных.
  • Другие предположения : для каждого значения данной независимой переменной нам нужно нормальное распределение зависимой переменной. Дисперсия данного распределения зависимой переменной также должна поддерживаться постоянной для каждого значения независимой переменной. Связь между каждой зависимой независимой переменной должна быть линейной. Кроме того, все наблюдения должны быть независимыми.

Вот существующий пример простой линейной регрессии :

Набор данных в примере содержит информацию о глобальных погодных условиях каждого дня в течение определенного периода. Этот подробный список информации включает такие факторы, как осадки, снегопад, температура, скорость ветра, грозы или другие возможные погодные условия.

Эта задача направлена ​​на использование простой модели линейной регрессии для прогнозирования максимальной температуры при минимальной температуре в качестве входных данных.

Во-первых, все библиотеки должны быть импортированы.

импортировать панд как pd

импортировать numpy как np

импортировать matplotlib.pyplot как plt

импортировать Seaborn как SeabornInstance

из sklearn.model_selection импорта train_test_split

из sklearn.linear_model импортировать линейную регрессию

из показателей импорта sklearn

%matplotlib встроенный

Чтобы импортировать следующий набор данных с помощью pandas, необходимо применить следующую команду:

набор данных = pd.read_csv('/Users/nageshsinghchauhan/Documents/projects/ML/ML_BLOG_LInearRegression/Weather.csv')

Чтобы проверить количество строк и столбцов в наборе данных для изучения данных, необходимо применить следующую команду:

набор данных.shape

Полученный вывод должен быть (119040, 31), что означает, что данные содержат 119040 строк и 31 столбец.

Чтобы просмотреть статистические данные набора данных, можно использовать следующую команду:

описывать():

набор данных.describe()

Вот еще один пример , целью которого является демонстрация того, как можно извлекать и использовать различные библиотеки Python, которые следует использовать для применения линейной регрессии к заданным наборам данных:

1. Импорт всех необходимых библиотек

импортировать numpy как np

импортировать панд как pd

импортировать Seaborn как sns

импортировать matplotlib.pyplot как plt

предварительная обработка импорта из sklearn, svm

из sklearn.model_selection импорта train_test_split

из sklearn.linear_model импортировать линейную регрессию

2. Чтение набора данных

cd C:\Users\Dev\Desktop\Kaggle\Salinity

# Изменение места чтения файла на расположение набора данных

df = pd.read_csv('бутылка.csv')

df_binary = df[['Соленый', 'T_degC']]

# Берем только два выбранных атрибута из набора данных

df_binary.columns = ['Солнце', 'Температура']

# Переименование столбцов для облегчения написания кода

df_binary.head()

# Отображение только 1-й строки вместе с именами столбцов

2. Изучение разброса данных

sns.lmplot(x = «Sal», y = «Temp», data = df_binary, order = 2, ci = None)

# График разброса данных

3. Очистка данных

# Устранение NaN или отсутствующих входных чисел

df_binary.fillna (метод = 'ffill', inplace = True)

4. Обучение модели

X = np.array(df_binary['Sal']).reshape(-1, 1)

y = np.array(df_binary['Temp']).reshape(-1, 1)

# Разделение данных на независимые и зависимые переменные

# Преобразование каждого фрейма данных в пустой массив

# так как каждый фрейм данных содержит только один столбец

df_binary.dropna (на месте = Истина)

# Удаление любых строк со значениями Nan

X_train, X_test, y_train, y_test = train_test_split (X, y, test_size = 0,25)

# Разделение данных на обучающие и тестовые данные

regr = линейная регрессия ()

regr.fit (X_train, y_train)

печать (regr.score (X_test, y_test))

5. Изучение результатов

y_pred = regr.predict(X_test)

plt.scatter (X_test, y_test, цвет = 'b')

plt.plot (X_test, y_pred, цвет = 'k')

plt.show()

# Разброс данных предсказанных значений

6. Работа с меньшим набором данных

df_binary500 = df_binary[:][:500]

# Выбор первых 500 строк данных

sns.lmplot(x = "Sal", y = "Temp", data = df_binary500,

порядок = 2, ci = нет)

Популярные блоги о машинном обучении и искусственном интеллекте

Интернет вещей: история, настоящее и будущее Учебное пособие по машинному обучению: Изучите машинное обучение Что такое алгоритм? Просто и легко
Заработная плата инженера-робототехника в Индии: все роли Один день из жизни инженера по машинному обучению: что они делают? Что такое IoT (Интернет вещей)
Перестановка против комбинации: разница между перестановкой и комбинацией 7 основных тенденций в области искусственного интеллекта и машинного обучения Машинное обучение с R: все, что вам нужно знать

Если вы заинтересованы в изучении полноценного машинного обучения, мы рекомендуем присоединиться к магистратуре UpGrad в области машинного обучения и искусственного интеллекта . 20-месячная программа предлагается совместно с IIIT Bangalore и Liverpool John Moores University. Он разработан, чтобы помочь вам развить компетентность в отраслевых языках программирования, инструментах и ​​​​библиотеках, таких как Python, Keras, Tensor Flow, MySql, Flask, Kubernetes и т. д.

Программа может помочь вам освоить передовые концепции науки о данных благодаря практическому опыту и развитию навыков. Кроме того, вы получаете преимущество upGrad с доступом к всестороннему консультированию по вопросам карьеры, сетевому пулу из более чем 40 000 платных учащихся и множеству возможностей для сотрудничества!

Забронируйте место сегодня!

Для чего используется линейная регрессия

Этот вид анализа обычно используется для прогнозирования значения одной переменной на основе другой известной переменной. Переменные, используемые для нахождения значения другого, называются соответственно зависимыми и независимыми переменными.

Как установить scikit учиться?

Сначала необходимо установить версию линейной регрессии Scikit, предоставляемую соответствующей операционной системой или дистрибутивом Python. Это самый быстрый вариант для людей, у которых есть эта опция. Затем необходимо установить официально выпущенную и последнюю обновленную версию.

Как работает scikit?

Scikit Learn линейной регрессии выдает ряд контролируемых и неконтролируемых алгоритмов через интерфейс Python, который всегда непротиворечив. Он распространяется под допустимой лицензией BSD. Распространяется под разными операторами Linux. Использование этих алгоритмов широко поощряется в бизнесе и образовании.