首页 > 解决方案 > Pandas - 在对其他值应用线性回归后跟踪值

问题描述

我正在尝试将线性回归应用于我的 pandas 数据框中的一系列变量,除了 player_id,这只是一种跟踪被预测玩家的方法。

print (df.info())

player_id        1601 non-null int64
X1               1601 non-null float64
X2               1601 non-null float64
X3               1601 non-null float64
X4               1601 non-null float64
X5               1601 non-null float64
X6               1601 non-null float64
X7               1601 non-null float64
X8               1601 non-null float64
Y                1601 non-null float64

这就是我尝试声明变量的方式:

df = df[['X1', 'X2', 'X3', 'X4', 'X5', 'X6', 'X7', 'X8', 'Y']]

X = df.drop(axis=1, columns=['Y'])
# normalize data
X = X.astype('float32') / 255.

# independent variable
y = df['Y']
# normalize data
y = y.astype('float32') / 255.

model = LinearRegression()
model.fit(X, y)

y_hat = model.predict(X)

问题是:一旦我有了我的预测值数组,我如何将它们追溯到每个 player_id,以便知道预测值指的是哪个玩家?


例子:

player_idmax(network.predict(X))指的是哪个?

标签: pandaslinear-regression

解决方案


这有效:

for i, value in enumerate(list(y_hat.flatten())):
    print (df.iloc[i]['player_id'])
    df['prediction'].iloc[i] = value.astype('float32')

推荐阅读