【发布时间】:2020-04-15 00:58:56
【问题描述】:
我正在为我的学校项目开发一个大数据项目。我的数据集如下所示: https://github.com/gindeleo/climate/blob/master/GlobalTemperatures.csv
我正在尝试预测“LandAverageTemperature”的下一个值。
首先,我已将 csv 导入 pandas 并将其命名为“df1”的 DataFrame。
在我第一次尝试 sklearn 时出错后,我将“dt”列从字符串转换为 datetime64,然后添加了一个名为“year”的列,该列仅显示日期值中的年份。-它可能是错误的-
df1["year"] = pd.DatetimeIndex(df1['dt']).year
在所有这些之后,我为回归准备了我的数据并调用了 RandomForestReggressor:
landAvg = df1[["LandAverageTemperature"]]
year = df1[["year"]]
from sklearn.ensemble import RandomForestRegressor
rf_reg=RandomForestRegressor(n_estimators=10,random_state=0)
rf_reg.fit(year,landAvg.values.ravel())
print("Random forest:",rf_reg.predict(landAvg))
我运行了代码,我看到了这个结果:
Random forest: [9.26558115 9.26558115 9.26558115 ... 9.26558115 9.26558115 9.26558115]
我没有收到任何错误,但我认为结果不正确-结果与您看到的完全相同-。此外,当我想获得下一个 10 年的预测时,我不知道该怎么做。我用这段代码只得到 1 个结果。你能帮我改进我的代码并得到正确的结果吗? 在此先感谢您的帮助。
【问题讨论】:
-
@CeliusStingher 在某种程度上。我从答案中理解了 rf 的架构和逻辑,但我仍然无法弄清楚如何将它应用到我的代码中。-可能是因为我缺乏英语。-
标签: python pandas bigdata random-forest sklearn-pandas