在pandas python中随机排列数据框的行会带来不同的回归结果吗?

时间:2018-07-01 04:51:58

标签: python pandas dataframe random rows

我正在尝试对数据框中的行进行随机化-在应用线性回归之前将数据随机化,但是我意识到在对行进行随机化之后,回归结果会有所不同,不是这样吗?我尝试使用的代码:

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 :(得分:3)

方法2和4是否相同?

如果将相同类型的回归应用于相同数据(是否随机),则回归结果应该不会有所不同。您应该使用axis = 0来随机化数据帧的行,axis = 1来随机化数据列。