Перестановка строк в фрейме данных в Python Python приводит к различным результатам регрессии? - PullRequest
0 голосов
/ 01 июля 2018

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

Without row randomisation: 
data 
X = data[feature_col]
y = data['median_price']
lr = LinearRegression()
lr.fit(X, y)

With row randomisation: 
Method 1: 
data = data.sample(frac=1)

Method 2:
data = data.sample(frac=1, axis=1)

Method 3: 
from sklearn.utils import shuffle
data = shuffle(data)

Method 4: 
data = data.sample(frac=1, axis=1).reset_index(drop=True)

Из 4 методов рандомизации строк, которые я пробовал, только метод 4 дает те же результаты, что и метод, в котором рандомизация не применяется. Я думал, что рандомизация строк не влияет на результаты регрессии в любом случае?

1 Ответ

0 голосов
/ 01 июля 2018

Методы 2 и 4 идентичны?

Результаты регрессии не должны отличаться, если вы применяете регрессию одного и того же типа к одним и тем же данным (рандомизированным или нет). Вы должны использовать axis = 0 для рандомизации строк данных, axis = 1 рандомизирует столбцы.

...