首页 > 解决方案 > python - pandas python中数据帧的随机行会带来不同的回归结果?

问题描述

我试图在数据框中随机化我的行 - 应用线性回归之前的数据,但我意识到回归结果在行被随机化后会有所不同,这不应该是这种情况吗?我尝试使用的代码:

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 给出了与未应用随机化的结果相同的结果。我认为行随机化无论如何都不会影响回归结果?

标签: pythonpandasdataframerandomrows

解决方案


方法2和4是一样的吗?

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


推荐阅读