私はエネルギー消費を予測するためにdataframe
を持っています。列。 Timestamp
とDaily KWH system
です。SVMモデルで日時データを使用できません
、私は以下のようにValue error
を取得しています: ValueError: Unknown label type: array([ 0. , 127.2264855 , 80.74373643, ..., 7.67569729, 3.32998307, 2.08538807])
データセットが12月 に9月から半時間ごとのためのエネルギー消費で構成ここではサンプルデータセット
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['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)
予測出力
predicted= model.predict(testData)
print(predicted)
私はあなたのような個々の日付要素にあなたの日付時刻を分解する必要があると思います。月、平日、時など – josh
それは時系列の問題ではないでしょうか?その他の方法で? – Anagha
それはそうでしょう。 https://www.analyticsvidhya.com/blog/2016/06/winners-mini-datahack-time-series-approach-code-solutions/を読んでください。これは、SVMの代わりにXGBoostで日時分解が非常にうまくいった時系列の競合です。しかし、私は毎日この方法をSVRであらゆる種類のエネルギーデータに使用しており、うまくいきます。 – josh