title += "RMSE = {:.2f}, estimator.coef_ = {:.2f}%, {:.2f}%, {:.2f}%, {:.2f}%, estimator.intercept_ = {:.2f}%".format(rmse, estimator.coef_[0][1][2][3], estimator.intercept_) IndexError: invalid index to scalar variable.
时间: 2024-02-25 17:53:14 浏览: 88
这个错误的原因是格式化字符串中的`{:.2f}%`位置指定了超过一个参数(即`estimator.intercept_`前面的四个参数),导致索引错误。你可以将格式化字符串中的`{:.2f}%`改为`{:.2f}%, {:.2f}%, {:.2f}%, {:.2f}%, {:.2f}%`,其中的五个占位符分别对应五个参数。修改后的代码如下所示:
```python
title += "RMSE = {:.2f}, estimator.coef_ = {:.2f}%, {:.2f}%, {:.2f}%, {:.2f}%, estimator.intercept_ = {:.2f}%".format(rmse, estimator.coef_[0][1][2][3], estimator.intercept_[0], estimator.intercept_[1], estimator.intercept_[2], estimator.intercept_[3])
```
这样就可以正确地将RMSE、回归系数和偏置系数等信息添加到图表的标题中了。
相关问题
title += "RMSE = {:.2f}, estimator.coef_ = {:.2f}%, estimator.intercept_ = {:.2f}%, {:.2f}%, {:.2f}%,{:.2f}%".format(rmse, estimator.coef_[0][1][2][3], estimator.intercept_) IndexError: invalid index to scalar variable.
这个错误是由于格式化字符串中的`{:.2f}%`位置指定了超过一个参数(即`estimator.intercept_`后面的三个参数),导致索引错误。你可以将格式化字符串中的`{:.2f}%`改为`{:.2f}%, {:.2f}%, {:.2f}%, {:.2f}%`,其中的四个占位符分别对应四个参数。修改后的代码如下所示:
```python
title += "RMSE = {:.2f}, estimator.coef_ = {:.2f}%, estimator.intercept_ = {:.2f}%, {:.2f}%, {:.2f}%, {:.2f}%".format(rmse, estimator.coef_[0][1][2][3], estimator.intercept_[0], estimator.intercept_[1], estimator.intercept_[2], estimator.intercept_[3])
```
这样就可以正确地将RMSE、回归系数和偏置系数等信息添加到图表的标题中了。
优化代码: plt.title(f"The predicted values of test samples in LinearRegression\nRMSE = {rmse:.2f}, " f"estimator.coef = {estimator.coef:.2f}%" f"estimator.intercept = {estimator.intercept:.2f}%")
可以将代码进行分行,使代码更易读,同时在格式化字符串中使用大括号{}作为占位符,将变量传入format()函数中。
改进后的代码如下:
```
title = "The predicted values of test samples in LinearRegression\n"
title += "RMSE = {:.2f}, estimator.coef = {:.2f}%, estimator.intercept = {:.2f}%".format(rmse, estimator.coef, estimator.intercept)
plt.title(title)
```
阅读全文