y_pred_i = y_pred[i] y_test_i = y_test[i] mse_i = ((y_test_i - y_pred_i) ** 2).mean(axis=None) new_prob_i = 1 / (1 + mse_i - ((y_pred_i - y_test_i) ** 2).mean(axis=None))重复的代码段(5 行长)怎么改
时间: 2023-12-07 13:04:31 浏览: 316
kaggle_house_pred-数据集
可以将这段重复的代码封装成一个函数,然后在需要重新计算 Probability 值时调用该函数即可。具体修改如下:
```python
def calculate_prob(y_pred_i, y_test_i):
mse_i = ((y_test_i - y_pred_i) ** 2).mean(axis=None)
new_prob_i = 1 / (1 + mse_i - ((y_pred_i - y_test_i) ** 2).mean(axis=None))
return new_prob_i
# 重新计算低于1.2的 Probability 值
low_prob_indices = y_pred_filtered[y_pred_filtered['Probability'] < 1.2].index
for i in low_prob_indices:
y_pred_i = y_pred[i]
y_test_i = y_test[i]
new_prob_i = calculate_prob(y_pred_i, y_test_i)
y_pred_filtered.at[i, 'Probability'] = new_prob_i
# 打印带有概率的预测结果
print('Predicted values with probabilities:')
print(y_pred_filtered)
```
这样就将重复的代码段封装成了一个名为 `calculate_prob` 的函数,并在需要重新计算 Probability 值时调用它,避免了代码重复。
阅读全文