我有一個dataframe
來預測能源消耗。列。是Timestamp
和Daily KWH system
。無法在SVM模型中使用日期時間數據
當SVM模型中,我下面讓Value error
: ValueError: Unknown label type: array([ 0. , 127.2264855 , 80.74373643, ..., 7.67569729, 3.32998307, 2.08538807])
數據集包括能耗從9至12月 每半小時這裏有一個樣本數據集
Timestamp Daily_KWH_System
0 2016-09-07 19:47:07 148.978580
1 2016-09-07 19:47:07 104.084760
2 2016-09-07 19:47:07 111.850947
3 2016-09-07 19:47:07 8.421390
4 2016-12-15 02:48:07 13.778317
5 2016-12-15 02:48:07 0.637790
到目前爲止我已經完成:
閱讀CSV
data = pd.read_csv('C:/Users/anagha/Documents/Python Scripts/Half_Ho.csv')
索引
data['Timestamp'] = pd.to_datetime(data['Timestamp'])
data.index = data['Timestamp']
del data['Timestamp']
data
繪製圖形
data.resample('D', how='mean').plot()
分成訓練和測試
from sklearn.utils import shuffle
test = shuffle(test)
train = shuffle(train)
trainData = train.drop('Daily_KWH_System' , axis=1).values
trainLabel = train.Daily_KWH_System.values
testData = test.drop('Daily_KWH_System' , axis=1).values
testLabel = test.Daily_KWH_System.values
SVM模型
from sklearn import svm
model = svm.SVC(kernel='linear', gamma=1)
model.fit(trainData,trainLabel)
model.score(trainData,trainLabel)
Predict Output
predicted= model.predict(testData)
print(predicted)
我認爲你需要分解的日期時間爲單個日期等元素。月,工作日,小時等 – josh
那麼它不會是時間序列問題吧?任何其他方式? – Anagha
這將是。也許有通讀這個:https://www.analyticsvidhya.com/blog/2016/06/winners-mini-datahack-time-series-approach-codes-solutions/。這是一個時間序列比賽,日期時間分解與XGBoost而不是SVM很好地結合。然而,我每天都在SVR上使用這種方法處理所有類型的能源數據,並且效果很好。 – josh