【发布时间】:2021-07-19 18:12:31
【问题描述】:
我需要更改以下方法来计算并返回线性回归预测 (对于多变量或单变量情况)。
注意:'predict' 方法应该用于测试集的预测, 以及在训练过程中。
输入参数:
-
x_feature_vectors - 一个包含我们想要预测 y_predicted 值的所有特征向量的数据帧, 使用线性回归模型的权重。
注意:预计 x_feature_vectors 包含虚构的特征列,其中 常数值 1,表示 x_0 虚构特征(称为“x_0”)。
-
trained_w - 训练后的 w 向量,即训练后的权重向量(或训练中某个步骤的权重向量)。
注意:预计trained_w 系列包含w_0 单元格作为第一个单元格。 所有单元格的索引都应适合“列”(即列标题 是“x_feature_vectors”数据帧的列索引),包括“x_0” 虚构的专栏。
返回值:
- y_predicted - 每个输入特征向量实例的一系列预测
我的代码:
def predict(x_featureVectors,trained_w):
y_predicted = pd.Series(index=x_featureVectors.index, dtype=float)
for index in x_featureVectors.index:
y_predicted[index] = 0
for col in x_featureVectors.columns:
y_predicted[index] += trained_w[col] * x_featureVectors.loc[index, col]
return y_predicted
我怎样才能更有效地做到这一点?我可以用一个 for 循环来做到这一点吗?
【问题讨论】:
-
您能否提供一个完整的可运行示例,包括输入和输出数据?谢谢
标签: python pandas numpy machine-learning linear-regression