<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
		<id>http://neerc.ifmo.ru/wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=46.151.9.162&amp;*</id>
		<title>Викиконспекты - Вклад участника [ru]</title>
		<link rel="self" type="application/atom+xml" href="http://neerc.ifmo.ru/wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=46.151.9.162&amp;*"/>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=%D0%A1%D0%BB%D1%83%D0%B6%D0%B5%D0%B1%D0%BD%D0%B0%D1%8F:%D0%92%D0%BA%D0%BB%D0%B0%D0%B4/46.151.9.162"/>
		<updated>2026-06-12T10:29:21Z</updated>
		<subtitle>Вклад участника</subtitle>
		<generator>MediaWiki 1.30.0</generator>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=%D0%9B%D0%B8%D0%BD%D0%B5%D0%B9%D0%BD%D0%B0%D1%8F_%D1%80%D0%B5%D0%B3%D1%80%D0%B5%D1%81%D1%81%D0%B8%D1%8F&amp;diff=75158</id>
		<title>Линейная регрессия</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=%D0%9B%D0%B8%D0%BD%D0%B5%D0%B9%D0%BD%D0%B0%D1%8F_%D1%80%D0%B5%D0%B3%D1%80%D0%B5%D1%81%D1%81%D0%B8%D1%8F&amp;diff=75158"/>
				<updated>2020-11-28T22:45:40Z</updated>
		
		<summary type="html">&lt;p&gt;46.151.9.162: Пример кода на R&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''Линейная регрессия''' (англ. ''linear regression'') — метод восстановления зависимости одной (объясняемой, зависимой) переменной &amp;lt;tex&amp;gt; y &amp;lt;/tex&amp;gt; от другой или нескольких других переменных (факторов, регрессоров, независимых переменных) &amp;lt;tex&amp;gt; x &amp;lt;/tex&amp;gt; с линейной функцией зависимости. Данный метод позволяет предсказывать значения зависимой переменной &amp;lt;tex&amp;gt; y &amp;lt;/tex&amp;gt; по значениям независимой переменной &amp;lt;tex&amp;gt; x &amp;lt;/tex&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
== Задача ==&lt;br /&gt;
&lt;br /&gt;
==== Дано ====&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;tex&amp;gt; f_1(x), \dots ,f_n(x) &amp;lt;/tex&amp;gt; — числовые признаки;&lt;br /&gt;
* модель многомерной линейной регрессии: &amp;lt;br&amp;gt; &amp;lt;tex&amp;gt; f(x,\alpha) = \sum\limits_{j=1}^n \alpha_j f_j(x) &amp;lt;/tex&amp;gt;, &amp;lt;br&amp;gt; где &amp;lt;tex&amp;gt; a \in R^n &amp;lt;/tex&amp;gt;;&lt;br /&gt;
* обучающая выборка: множество из пар &amp;lt;tex&amp;gt;(x_i, y_i)_{i=1 \dots n}&amp;lt;/tex&amp;gt;;&lt;br /&gt;
* &amp;lt;tex&amp;gt; x_i &amp;lt;/tex&amp;gt; — объекты из множества &amp;lt;tex&amp;gt; X = R^n &amp;lt;/tex&amp;gt;;&lt;br /&gt;
* &amp;lt;tex&amp;gt; y_i &amp;lt;/tex&amp;gt; — объекты из множества &amp;lt;tex&amp;gt; X = R &amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==== Матричные обозначения ====&lt;br /&gt;
&lt;br /&gt;
Перейдем к матричным обозначениям:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt;&lt;br /&gt;
\underset{l \times n}{F} = &lt;br /&gt;
\begin{pmatrix}&lt;br /&gt;
  f_1(x_1) &amp;amp; \dots &amp;amp; f_n(x_1) \\&lt;br /&gt;
  \dots &amp;amp; \dots &amp;amp; \dots \\&lt;br /&gt;
  f_1(x_l) &amp;amp; \dots &amp;amp; f_n(x_l)&lt;br /&gt;
\end{pmatrix}&lt;br /&gt;
,&lt;br /&gt;
&lt;br /&gt;
\underset{l \times 1}{y} = &lt;br /&gt;
\begin{pmatrix}&lt;br /&gt;
  y_1 \\&lt;br /&gt;
  \dots \\&lt;br /&gt;
  y_l&lt;br /&gt;
\end{pmatrix},&lt;br /&gt;
&lt;br /&gt;
\underset{n \times 1}{\alpha} = &lt;br /&gt;
\begin{pmatrix}&lt;br /&gt;
  \alpha_1 \\&lt;br /&gt;
  \dots \\&lt;br /&gt;
  \alpha_n&lt;br /&gt;
\end{pmatrix}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/tex&amp;gt;,&lt;br /&gt;
&lt;br /&gt;
где&lt;br /&gt;
* &amp;lt;tex&amp;gt; F &amp;lt;/tex&amp;gt; — матрица объектов-признаков, где строки соответствуют объектам а столбцы — признакам;&lt;br /&gt;
* &amp;lt;tex&amp;gt; y &amp;lt;/tex&amp;gt; — вектор ответов, или целевой вектор;&lt;br /&gt;
* &amp;lt;tex&amp;gt; \alpha &amp;lt;/tex&amp;gt; — вектор коэффициентов.&lt;br /&gt;
&lt;br /&gt;
==== Постановка задачи ====&lt;br /&gt;
&lt;br /&gt;
В этих трех векторно-матричных обозначениях очень удобно расписать постановку задачи наименьших квадратов:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt; Q(\alpha, X^l) = \sum\limits_{i=1}^n (f(x_i, \alpha) - y_i)^2 = || F\alpha - y ||^2 \rightarrow \underset{\alpha}{min} &amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Необходимо найти вектор &amp;lt;tex&amp;gt; \alpha &amp;lt;/tex&amp;gt; при известной матрице &amp;lt;tex&amp;gt; F &amp;lt;/tex&amp;gt; и известном вектор-столбце &amp;lt;tex&amp;gt; y &amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Решение ==&lt;br /&gt;
&lt;br /&gt;
=== Нормальная система уравнений ===&lt;br /&gt;
&lt;br /&gt;
Запишем необходимые условия минимума в матричном виде:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt; \frac{\partial Q }{\partial \alpha } (\alpha) = 2F^T (F\alpha - y) = 0 &amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Отсюда следует нормальная система задачи МНК:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt; F^T F \alpha = F^T y &amp;lt;/tex&amp;gt;,&lt;br /&gt;
&lt;br /&gt;
где &amp;lt;tex&amp;gt; F^T F — n \times n &amp;lt;/tex&amp;gt; матрица.&lt;br /&gt;
&lt;br /&gt;
Мы получили систему уравнений, откуда можем выразить искомый вектор &amp;lt;tex&amp;gt; \alpha &amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==== Решение системы ====&lt;br /&gt;
&amp;lt;tex&amp;gt; \alpha^* = (F^T F)^{-1} F^T y = F^+ y &amp;lt;/tex&amp;gt;, &amp;lt;br&amp;gt; где &amp;lt;tex&amp;gt; F^+ &amp;lt;/tex&amp;gt; — псевдо-обратная матрица.&lt;br /&gt;
&lt;br /&gt;
Значение функционала: &amp;lt;tex&amp;gt; Q(\alpha^*) = ||P_F y - y||^2 &amp;lt;/tex&amp;gt;, &amp;lt;br&amp;gt; где &amp;lt;tex&amp;gt; P_F = F F^+ = F (F^T F)^{-1} F^T &amp;lt;/tex&amp;gt; — ''проекционная матрица''.&lt;br /&gt;
&lt;br /&gt;
==== Проблемы ====&lt;br /&gt;
&lt;br /&gt;
В случае мультиколлинеарности (столбцы матрицы &amp;lt;tex&amp;gt; F &amp;lt;/tex&amp;gt; линейно-зависимы) нам не удастся найти обратную матрицу к &amp;lt;tex&amp;gt; F^T F &amp;lt;/tex&amp;gt; (она будет вырождена).&lt;br /&gt;
&lt;br /&gt;
Если же столбцы матрицы &amp;lt;tex&amp;gt; F &amp;lt;/tex&amp;gt; почти линейно-зависимы, то у нас возникнет масса вычислительных проблем с обращением этой матрицы.&lt;br /&gt;
&lt;br /&gt;
=== Решение МНК через сингулярное разложение ===&lt;br /&gt;
&lt;br /&gt;
Воспользуемся понятием [[ Сингулярное разложение | сингулярного разложения ]], которое позволяет произвольную прямоугольную матрицу представить в виде произведения трех матриц:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;tex&amp;gt; F = V D U^T &amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Найдем псевдо-обратную матрицу: &amp;lt;br&amp;gt; &amp;lt;tex&amp;gt; F^+ = (U D V^T V D U^T)^{-1} U D V^T = U D^{-1} V^T = \sum\limits_{j=1}^n \frac{ 1 }{ \sqrt{ \lambda_j } } u_j v_j^T &amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Теперь, зная псевдо-обратную матрицу, найдем решение задачи наименьших квадратов: &amp;lt;br&amp;gt; &amp;lt;tex&amp;gt; \alpha^* = F^+ y = U D^{-1} V^T y = \sum\limits_{j=1}^n \frac{ 1 }{ \sqrt{ \lambda_j } } u_j (v_j^T y) &amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Найдем вектор, которым наша линейная модель аппроксимирует целевой вектор &amp;lt;tex&amp;gt; y &amp;lt;/tex&amp;gt;: &amp;lt;br&amp;gt; &amp;lt;tex&amp;gt; F \alpha^* = P_F y = (V D U^T) U D^{-1} V^T y = V V^T y = \sum\limits_{j=1}^n v_j (v_j^T y) &amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Квадрат нормы вектора коэффициентов: &amp;lt;br&amp;gt; &amp;lt;tex&amp;gt; || \alpha^* ||^2 = ||D^{-1} V^T y||^2 = \sum\limits_{j=1}^n \frac{ 1 }{ \lambda_j } (v_j^T y)^2 &amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
В 3-х из 4-х формул сингулярные числа оказались в знаменателе. Если имеются сингулярные числа приближающиеся к 0, то мы получаем проблему мультиколлинеарности. Близкие к 0 собственные значения или сингулярные числа — показатель того, что среди признаков есть почти линейно-зависимый.&lt;br /&gt;
&lt;br /&gt;
== Проблема мультиколлинеарности и переобучения ==&lt;br /&gt;
&lt;br /&gt;
Если имеются сингулярные числа близкие к 0, то:&lt;br /&gt;
&lt;br /&gt;
* матрица &amp;lt;tex&amp;gt; \sum = F^T F &amp;lt;/tex&amp;gt; плохо обусловлена;&lt;br /&gt;
* решение становится неустойчивым и неинтерпретируемым, слишком большие коэффициенты &amp;lt;tex&amp;gt; || \alpha_j || &amp;lt;/tex&amp;gt; разных знаков;&lt;br /&gt;
* возникает переобучение: &amp;lt;br&amp;gt; на обучении &amp;lt;tex&amp;gt; Q( \alpha^*, X^l ) = ||F \alpha^* - y||^2 &amp;lt;/tex&amp;gt; мало; &amp;lt;br&amp;gt; на контроле &amp;lt;tex&amp;gt; Q( \alpha^*, X^k ) = ||F' \alpha^* - y'||^2 &amp;lt;/tex&amp;gt; велико.&lt;br /&gt;
&lt;br /&gt;
Стратегии устранения мультиколлинеарности и переобучения:&lt;br /&gt;
&lt;br /&gt;
* отбор признаков, то есть выкидываем те признаки, которые могут оказаться линейно-зависимыми: &amp;lt;br&amp;gt; &amp;lt;tex&amp;gt; f_1, \dots, f_n \rightarrow f_{j_1} \dots, f_{j_m}, m \leq n &amp;lt;/tex&amp;gt;;&lt;br /&gt;
* регуляризация (накладываем дополнительные ограничения на вектор коэффициентов): &amp;lt;br&amp;gt; &amp;lt;tex&amp;gt; || \alpha || \rightarrow min &amp;lt;/tex&amp;gt;;&lt;br /&gt;
* преобразование признаков, чтобы в новом признаковом пространстве признаков оказалось меньше, но они хорошо восстанавливали бы исходные: &amp;lt;br&amp;gt; &amp;lt;tex&amp;gt; f_1, \dots, f_n \rightarrow g_1 \dots, g_m, m \ll n &amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
==Примеры кода==&lt;br /&gt;
=== Пример кода для Scikit-learn ===&lt;br /&gt;
&lt;br /&gt;
 '''import''' matplotlib.pyplot '''as''' plt&lt;br /&gt;
 '''from''' sklearn '''import''' datasets, linear_model&lt;br /&gt;
 &lt;br /&gt;
 &amp;lt;font color = green&amp;gt;# generate dataset&amp;lt;/font&amp;gt;&lt;br /&gt;
 X, y = datasets.make_regression(n_samples=1_000, n_features=1, noise=8, shuffle=True)&lt;br /&gt;
 &lt;br /&gt;
 &amp;lt;font color = green&amp;gt;# test and train data sizes&amp;lt;/font&amp;gt;&lt;br /&gt;
 train_size = 700&lt;br /&gt;
 test_size = 300&lt;br /&gt;
 &lt;br /&gt;
 &amp;lt;font color = green&amp;gt;# split the data into training/testing sets&amp;lt;/font&amp;gt;&lt;br /&gt;
 X_train = X[:-train_size]&lt;br /&gt;
 X_test = X[-test_size:]&lt;br /&gt;
 &lt;br /&gt;
 &amp;lt;font color = green&amp;gt;# split the targets into training/testing sets&amp;lt;/font&amp;gt;&lt;br /&gt;
 y_train = y[:-train_size]&lt;br /&gt;
 y_test = y[-test_size:]&lt;br /&gt;
 &lt;br /&gt;
 &amp;lt;font color = green&amp;gt;# create linear regression object&amp;lt;/font&amp;gt;&lt;br /&gt;
 regr = linear_model.LinearRegression()&lt;br /&gt;
 &lt;br /&gt;
 &amp;lt;font color = green&amp;gt;# train the model using the training sets&amp;lt;/font&amp;gt;&lt;br /&gt;
 regr.fit(X_train, y_train)&lt;br /&gt;
 &lt;br /&gt;
 &amp;lt;font color = green&amp;gt;# make predictions using the testing set&amp;lt;/font&amp;gt;&lt;br /&gt;
 y_pred = regr.predict(X_test)&lt;br /&gt;
 &lt;br /&gt;
 &amp;lt;font color = green&amp;gt;# plot outputs&amp;lt;/font&amp;gt;&lt;br /&gt;
 plt.scatter(X_test, y_test, color='red', s=5)&lt;br /&gt;
 plt.plot(X_test, y_pred, color='blue', linewidth=2)&lt;br /&gt;
  &lt;br /&gt;
 plt.xticks(())&lt;br /&gt;
 plt.yticks(())&lt;br /&gt;
 &lt;br /&gt;
 plt.show()&lt;br /&gt;
&lt;br /&gt;
Возможный результат исполнения программы:&lt;br /&gt;
&lt;br /&gt;
[[Файл: Linear_regression_example.png]]&lt;br /&gt;
&lt;br /&gt;
===Пример на языке Java===&lt;br /&gt;
Пример линейной регресии с применением &amp;lt;code&amp;gt;weka.classifiers.functions.LinearRegression&amp;lt;/code&amp;gt;&amp;lt;ref&amp;gt;[http://weka.sourceforge.net/doc.dev/weka/classifiers/functions/LinearRegression.html/ Weka, Linear Regression]&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;Maven&amp;lt;/code&amp;gt; зависимомсть:&lt;br /&gt;
  &amp;lt;dependency&amp;gt;&lt;br /&gt;
    &amp;lt;groupId&amp;gt;nz.ac.waikato.cms.weka&amp;lt;/groupId&amp;gt;&lt;br /&gt;
    &amp;lt;artifactId&amp;gt;weka-stable&amp;lt;/artifactId&amp;gt;&lt;br /&gt;
    &amp;lt;version&amp;gt;3.8.0&amp;lt;/version&amp;gt;&lt;br /&gt;
  &amp;lt;/dependency&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  '''import''' weka.classifiers.functions.LinearRegression;&lt;br /&gt;
  '''import''' weka.core.Instance;&lt;br /&gt;
  '''import''' weka.core.Instances;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;font color=&amp;quot;green&amp;quot;&amp;gt;//Load Data set&amp;lt;/font&amp;gt;&lt;br /&gt;
  '''var''' data = new Instances(new BufferedReader(new FileReader(&amp;quot;dataset/house.arff&amp;quot;)));&lt;br /&gt;
  data.setClassIndex(data.numAttributes() - 1);&lt;br /&gt;
  &amp;lt;font color=&amp;quot;green&amp;quot;&amp;gt;//Build model&amp;lt;/font&amp;gt;&lt;br /&gt;
  '''var''' model = new LinearRegression();&lt;br /&gt;
  '''try''' { model.buildClassifier(data); }&lt;br /&gt;
  '''catch''' (Exception e) { e.printStackTrace(); }&lt;br /&gt;
  &amp;lt;font color=&amp;quot;green&amp;quot;&amp;gt;//output model&amp;lt;/font&amp;gt;&lt;br /&gt;
  System.out.printf(&amp;quot;model parameters: %s%n&amp;quot;, model);&lt;br /&gt;
  &amp;lt;font color=&amp;quot;green&amp;quot;&amp;gt;// Now Predicting the cost&amp;lt;/font&amp;gt;&lt;br /&gt;
  '''var''' myHouse = data.lastInstance();&lt;br /&gt;
  '''var''' price  = model.classifyInstance(myHouse);&lt;br /&gt;
  System.out.printf(&amp;quot;predicted price = %s%n&amp;quot;, price)&lt;br /&gt;
&lt;br /&gt;
===Пример на языке R===&lt;br /&gt;
==== Линейная регрессия ====&lt;br /&gt;
{{Main|Линейная регрессия|ll=Линейная регрессия}}&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;font color=&amp;quot;gray&amp;quot;&amp;gt;# reading data&amp;lt;/font&amp;gt;&lt;br /&gt;
 data &amp;lt;- read.csv(&amp;lt;font color=&amp;quot;green&amp;quot;&amp;gt;&amp;quot;input.csv&amp;quot;&amp;lt;/font&amp;gt;, &amp;lt;font color=&amp;quot;#660099&amp;quot;&amp;gt;sep&amp;lt;/font&amp;gt; = &amp;lt;font color=&amp;quot;green&amp;quot;&amp;gt;','&amp;lt;/font&amp;gt;, &amp;lt;font color=&amp;quot;#660099&amp;quot;&amp;gt;header&amp;lt;/font&amp;gt; = FALSE)&lt;br /&gt;
 &lt;br /&gt;
 &amp;lt;font color=&amp;quot;gray&amp;quot;&amp;gt;# evaluating linear regression model&amp;lt;/font&amp;gt;&lt;br /&gt;
 model &amp;lt;- lm(data$&amp;lt;strong&amp;gt;&amp;lt;font color=&amp;quot;#660E7A&amp;quot;&amp;gt;x&amp;lt;/font&amp;gt;&amp;lt;/strong&amp;gt; ~ data$&amp;lt;strong&amp;gt;&amp;lt;font color=&amp;quot;#660E7A&amp;quot;&amp;gt;y&amp;lt;/font&amp;gt;&amp;lt;/strong&amp;gt;)&lt;br /&gt;
 &lt;br /&gt;
 &amp;lt;font color=&amp;quot;gray&amp;quot;&amp;gt;# getting summary&amp;lt;/font&amp;gt;&lt;br /&gt;
 print(summary(model))&lt;br /&gt;
 &lt;br /&gt;
 &amp;lt;font color=&amp;quot;gray&amp;quot;&amp;gt;# visualizing data&amp;lt;/font&amp;gt;&lt;br /&gt;
 plot(data$&amp;lt;strong&amp;gt;&amp;lt;font color=&amp;quot;#660E7A&amp;quot;&amp;gt;y&amp;lt;/font&amp;gt;&amp;lt;/strong&amp;gt;, data$&amp;lt;strong&amp;gt;&amp;lt;font color=&amp;quot;#660E7A&amp;quot;&amp;gt;x&amp;lt;/font&amp;gt;&amp;lt;/strong&amp;gt;)&lt;br /&gt;
 lines(data$&amp;lt;strong&amp;gt;&amp;lt;font color=&amp;quot;#660E7A&amp;quot;&amp;gt;y&amp;lt;/font&amp;gt;&amp;lt;/strong&amp;gt;, predict(fit), &amp;lt;font color=&amp;quot;#660099&amp;quot;&amp;gt;col&amp;lt;/font&amp;gt; = &amp;lt;font color=&amp;quot;green&amp;quot;&amp;gt;'red'&amp;lt;/font&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
==== Множественная регрессия ====&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;font color=&amp;quot;gray&amp;quot;&amp;gt;# reading data&amp;lt;/font&amp;gt;&lt;br /&gt;
 rdata &amp;lt;- read.csv(&amp;lt;font color=&amp;quot;green&amp;quot;&amp;gt;&amp;quot;input.csv&amp;quot;&amp;lt;/font&amp;gt;, &amp;lt;font color=&amp;quot;#660099&amp;quot;&amp;gt;sep&amp;lt;/font&amp;gt; = &amp;lt;font color=&amp;quot;green&amp;quot;&amp;gt;','&amp;lt;/font&amp;gt;, &amp;lt;font color=&amp;quot;#660099&amp;quot;&amp;gt;header&amp;lt;/font&amp;gt; = FALSE)&lt;br /&gt;
 &lt;br /&gt;
 &amp;lt;font color=&amp;quot;gray&amp;quot;&amp;gt;# evaluating regression model&amp;lt;/font&amp;gt;&lt;br /&gt;
 model &amp;lt;- lm(target ~ x + y + z, &amp;lt;font color=&amp;quot;#660099&amp;quot;&amp;gt;data&amp;lt;/font&amp;gt; = rdata)&lt;br /&gt;
 &lt;br /&gt;
 &amp;lt;font color=&amp;quot;gray&amp;quot;&amp;gt;# getting summary&amp;lt;/font&amp;gt;&lt;br /&gt;
 print(summary(model))&lt;br /&gt;
&lt;br /&gt;
==== Логистическая регрессия ====&lt;br /&gt;
{{Main|Логистическая регрессия|ll=Логистическая регрессия}}&lt;br /&gt;
Логистическая регрессия – это модель регрессии, в которой переменная ответа принимает значения 0 или 1 (True или False). Реализация на языке &amp;lt;code&amp;gt;R&amp;lt;/code&amp;gt; представлена в следующем фрагменте: &lt;br /&gt;
&lt;br /&gt;
 &amp;lt;font color=&amp;quot;gray&amp;quot;&amp;gt;# reading data&amp;lt;/font&amp;gt;&lt;br /&gt;
 rdata &amp;lt;- read.csv(&amp;lt;font color=&amp;quot;green&amp;quot;&amp;gt;&amp;quot;input.csv&amp;quot;&amp;lt;/font&amp;gt;, &amp;lt;font color=&amp;quot;#660099&amp;quot;&amp;gt;sep&amp;lt;/font&amp;gt; = &amp;lt;font color=&amp;quot;green&amp;quot;&amp;gt;','&amp;lt;/font&amp;gt;, &amp;lt;font color=&amp;quot;#660099&amp;quot;&amp;gt;header&amp;lt;/font&amp;gt; = FALSE)&lt;br /&gt;
 &lt;br /&gt;
 &amp;lt;font color=&amp;quot;gray&amp;quot;&amp;gt;# evaluating model&amp;lt;/font&amp;gt;&lt;br /&gt;
 model = glm(&amp;lt;font color=&amp;quot;#660099&amp;quot;&amp;gt;formula&amp;lt;/font&amp;gt; = target ~ x + y + z, &amp;lt;font color=&amp;quot;#660099&amp;quot;&amp;gt;data&amp;lt;/font&amp;gt; = rdata, &amp;lt;font color=&amp;quot;#660099&amp;quot;&amp;gt;family&amp;lt;/font&amp;gt; = binomial)&lt;br /&gt;
 &lt;br /&gt;
 &amp;lt;font color=&amp;quot;gray&amp;quot;&amp;gt;# printing summary&amp;lt;/font&amp;gt;&lt;br /&gt;
 print(summary(model))&lt;br /&gt;
&lt;br /&gt;
==Применение==&lt;br /&gt;
&lt;br /&gt;
Перечислим несколько примеров реального применения линейной регрессии:&lt;br /&gt;
&lt;br /&gt;
* для предсказания скидки на продукты на основе поведения покупателей в прошлом;&lt;br /&gt;
* экономисты использую линейную регрессия для предсказания экономического роста страны или региона;&lt;br /&gt;
* застройщики при помощи данного метода могут предсказать, сколько домов он продаст в ближайшие месяцы и по какой цене;&lt;br /&gt;
* цены на нефть могут быть предсказаны с использованием линейной регрессии.&lt;br /&gt;
&lt;br /&gt;
==См. также==&lt;br /&gt;
&lt;br /&gt;
* [[Общие понятия]]&lt;br /&gt;
* [[Вариации регрессии]]&lt;br /&gt;
* [[Логистическая регрессия]]&lt;br /&gt;
* [[Обзор библиотек для машинного обучения на Python]]&lt;br /&gt;
* [[Переобучение]]&lt;br /&gt;
&lt;br /&gt;
==Источники информации==&lt;br /&gt;
* [http://www.machinelearning.ru/wiki/index.php?title=%D0%9C%D0%BD%D0%BE%D0%B3%D0%BE%D0%BC%D0%B5%D1%80%D0%BD%D0%B0%D1%8F_%D0%BB%D0%B8%D0%BD%D0%B5%D0%B9%D0%BD%D0%B0%D1%8F_%D1%80%D0%B5%D0%B3%D1%80%D0%B5%D1%81%D1%81%D0%B8%D1%8F machinelearning.ru {{---}} Многомерная линейная регрессия]&lt;br /&gt;
* [http://www.machinelearning.ru/wiki/index.php?title=%D0%9B%D0%B8%D0%BD%D0%B5%D0%B9%D0%BD%D0%B0%D1%8F_%D1%80%D0%B5%D0%B3%D1%80%D0%B5%D1%81%D1%81%D0%B8%D1%8F_%28%D0%BF%D1%80%D0%B8%D0%BC%D0%B5%D1%80%29 machinelearning.ru {{---}} Линейная регрессия (пример)]&lt;br /&gt;
* [https://www.coursera.org/learn/vvedenie-mashinnoe-obuchenie/home/info Coursera {{---}} &amp;quot;Введение в машинное обучение&amp;quot;, Неделя 4, ]&lt;br /&gt;
* [http://www.ccas.ru/voron/download/Regression.pdf Лекции по алгоритмам восстановления регрессии К. В. Воронцов]&lt;br /&gt;
* [https://scikit-learn.org/stable/auto_examples/linear_model/plot_ols.html#sphx-glr-auto-examples-linear-model-plot-ols-py Scikit-Learn {{---}} Linear Regression Example]&lt;br /&gt;
* [https://www.quora.com/What-are-some-real-world-applications-of-simple-linear-regression What are some real-world applications of &amp;quot;simple&amp;quot; linear regression?]&lt;br /&gt;
&lt;br /&gt;
[[Категория: Машинное обучение]]&lt;br /&gt;
[[Категория: Регрессия]]&lt;/div&gt;</summary>
		<author><name>46.151.9.162</name></author>	</entry>

	</feed>