Machine learning 我如何预测未来几天的温度值?

Machine learning 我如何预测未来几天的温度值?,machine-learning,regression,random-forest,prediction,weather,Machine Learning,Regression,Random Forest,Prediction,Weather,希望你们没事,我基本上是机器学习新手,我需要你们的帮助。我想每小时预测未来3天的温度值,我该怎么做?有人能帮忙吗 import pandas as pd import numpy as np import datetime as dt from sklearn.model_selection import train_test_split from sklearn.preprocessing import StandardScaler from sklearn.ensemble import R

希望你们没事,我基本上是机器学习新手,我需要你们的帮助。我想每小时预测未来3天的温度值,我该怎么做?有人能帮忙吗

import pandas as pd
import numpy as np
import datetime as dt
from sklearn.model_selection import train_test_split
from sklearn.preprocessing import StandardScaler
from sklearn.ensemble import RandomForestRegressor
from sklearn import metrics
dataset = pd.read_csv(r"C:\Users\saadh\Desktop\The Weather Forecast\Rawalpindi.csv")
#print(dataset.head)
X = dataset[['moon_illumination','sunHour','date_time','mintempC','uvIndex','DewPointC','humidity','cloudcover','pressure','windspeedKmph']].values
Y = dataset['maxtempC'].values
X_train, X_test, Y_train, Y_test = train_test_split(X, Y, test_size=0.20, random_state=0)
regressor = RandomForestRegressor(n_estimators=300, random_state=0)
regressor.fit(X_train, Y_train)
predictData = regressor.predict(X_test)
#df = pd.DataFrame({'Actual': Y_test, 'Predicted': predictData})
#res = df.head()
#print(df)
print(predictData.astype(int))
print('Mean Absolute Error:', metrics.mean_absolute_error(Y_test, predictData))
print('Mean Squared Error:', metrics.mean_squared_error(Y_test, predictData))
print('Root Mean Squared Error:', np.sqrt(metrics.mean_squared_error(Y_test, predictData)))
输出: [43 40 41 40 39]

平均绝对误差:0.5561904761904758 均方误差:1.0668126984126995
均方根误差:1.0328662538841606

您需要获得要预测的值的特征,并将其提供给经过训练的模型。 就像在代码中一样,您对测试数据集X_test进行预测,它是存储在X中的特性的一部分

因此,要对其他数据进行预测,您需要在代码中获得与此行类似的特性

X = dataset[['mintempC','moon_illumination','date_time','uvIndex','sunHour','DewPointC','pressure','humidity','cloudcover']].values
然后像这样做预测

predictData = regressor.predict(X)

我不明白你的意思,你能解释一下吗。如果我做predictData=Regressionor.predictX_测试,那么在输出中,我有数组形式的值,这些值是预测值输出:[38 38 40 41 44 40…41]当前,您正在对X_测试数据进行预测。如果我正确理解你的问题,你现在想做其他预测,对吗?然后你需要将其他数据传递到你的模型中。我想每小时预测3天的未来温度。我只是想问我是如何完成这项任务的。。。。因为在输出中,我有很多值,我只想选择未来3天的日期和时间。好的,所以模型会对通过regressor.predictX传递给它的数据进行预测。在数据X中,有一个日期时间列。如果要预测未来3天,请查看该列中的日期,从数据中选择未来3天,然后将其传递到模型的预测函数中。输出只会是预测的温度值,没有日期标签,但应该是相同的顺序,所以你可以在以后重新分配日期。哦,非常感谢,伙计,我是多么愚蠢。。。。这对我帮助很大,再次感谢你,继续祝福我: