Найти - Пользователи
Полная версия: Подскажите аналог sklearn.linear_model.LinearRegression
Начало » Python для новичков » Подскажите аналог sklearn.linear_model.LinearRegression
1
udeep
Дан файл “boston_houses.csv”
Задание: “Your task is to calculate the vector of the coefficients of the linear regression for the prediction of the first variable (the first column of data) by all the rest.”

“Нарисовал” два решения:
   
from numpy import loadtxt
from sklearn.linear_model import LinearRegression
  
  
x = loadtxt('boston_houses.csv', delimiter=',', skiprows=1)
  
r = LinearRegression().fit(x[:, 1 :], x[:, 0])
  
print(r.intercept_, *r.coef_)
    
и
  
from numpy import loadtxt
import statsmodels.api as sm
  
    
x = loadtxt('boston_houses.csv', delimiter=',', skiprows=1)
  
y = x[:, 0]
x = x[:, 1 :]
x = sm.add_constant(x)
model = sm.OLS(y, x)
   
print(*model.fit().params)

Но в тестовой среде модули sklearn и statsmodels не доступны…
- Прошу подсказать, чем еще можно воспользоваться?
FishHook
udeep
как мне кажется, суть задачи была именно в том, чтобы вы сами реализовали алгоритм линейной регрессии, а не использовали готовое решение
udeep
FishHook
udeepкак мне кажется, суть задачи была именно в том, чтобы вы сами реализовали алгоритм линейной регрессии, а не использовали готовое решение
Странно… и в условиях об этом умалчивается. - Модуль statsmodels реально не установлен, а вот sklearn вылетает c "Runtime error … UserWarning: Permission denied …“

+ Не встречал в курсе необходимости ”повторять" встроенные функции.
++ Не ясно, чему полезному я в таком случае научусь. Реализовывать на интерпретаторе решение системы уравнений?
FishHook
udeep
+ Не встречал в курсе необходимости ”повторять" встроенные функции.

В какое место они встроенные?
udeep
FishHook
В какое место они встроенные?

numpy и scipy почему-то доступны…
udeep
Решил:
   
from numpy import array, linalg, loadtxt 
  
  
x = loadtxt('boston_houses.csv', delimiter=',', skiprows=1)
  
y = array(x[:, 0])
x[:, 0] = [1.] * len(x)
t = x.T
  
print(*linalg.inv(t.dot(x)).dot(t).dot(y))
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB