我正试图将线性回归应用于熊猫数据帧中的一系列变量,但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)
问题是:一旦我有了预测值的数组,我如何将它们追溯到每个玩家_id,以便知道预测值指的是哪个玩家?
示例:
max(network.predict(X))
指的是哪个player_id?
这是有效的:
for i, value in enumerate(list(y_hat.flatten())):
print (df.iloc[i]['player_id'])
df['prediction'].iloc[i] = value.astype('float32')
它将按与您提供的X相同的顺序返回值列表。因此,对于X中的第i行,y_hat的第i值是预测值。