如何生成简单线性回归的11-20月预测数据集?
生成11-20月的线性回归预测数据集
你只需要让训练好的mymodel直接接收11到20的月份数组作为输入,就能一次性得到所有预测值,再结合pandas整理成目标格式即可,具体实现如下:
完整代码
import numpy import pandas as pd # 原始10个月数据 x = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] y = [1, 4, 3, 9, 8, 3, 7, 10, 8, 20] # 训练1阶线性回归模型 mymodel = numpy.poly1d(numpy.polyfit(x, y, 1)) # 生成11到20的月份序列(替代手动输入) pred_months = numpy.arange(11, 21) # 左闭右开规则,所以终止值设为21 # 批量计算预测值并取整 pred_amounts = numpy.round(mymodel(pred_months)).astype(int) # 构建目标DataFrame df_results = pd.DataFrame({ 'months(x)': pred_months, 'amount(y)': pred_amounts }) print(df_results)
关键改动说明
- 用
numpy.arange(11,21)自动生成11-20的月份序列,比手动列值更高效且不易出错 mymodel支持直接传入数组参数,会批量计算每个月份的预测结果- 通过
numpy.round()对预测值取整,再转为整数类型,和你期望的结果格式完全匹配
运行后即可得到包含11到20月所有预测数据的DataFrame。
内容的提问来源于stack exchange,提问作者Deke Marquardt
相关产品推荐
相关产品推荐

