日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

家用电器用户行为分析与事件识别

發布時間:2024/3/26 编程问答 20 豆豆
生活随笔 收集整理的這篇文章主要介紹了 家用电器用户行为分析与事件识别 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

挖掘目標

1 根據熱水器采集到的數據,劃分一次完整的用水事件。
2 在劃分好的一次完整的用水事件中,識別出洗浴事件。

分析方法、過程


1 對熱水用戶的歷史用水數據進行選擇性抽取,構建專家樣本。
2 對步驟1形成的數據集進行數據探索與預處理。包括探索用水時間時間間隔的分布,規約冗余屬性、識別用水數據的缺失值,并對缺失值進行處理,根據建模的需要進行屬性構造等。
3 在步驟2的建模樣數據基礎上,建立洗浴事件識別模型,對洗浴事件識別模型進行分析評價。
4 對步驟3形成的模型結果應用并對洗浴事件劃分進行優化。
5 調用洗浴時間識別模型,對實時監控的熱水器流水數據進行洗浴時間自動識別。

數據抽取

1 數據量比較大,對原始數據采用無放回隨機抽樣200家用戶2014.1.1——2014.12.31的用水記錄建模
2 12個屬性:熱水器編碼、發生時間、開關狀態、加熱中、保溫中、有無水流、實際溫度、熱水量、水流量、節能模式、加熱剩余時間、當前設置溫度

數據探索分析

通過頻率分布直方圖分析用戶用水停頓時間間隔的規律性

數據預處理

屬性規約

9個屬性:發生時間、開關狀態、加熱中、保溫中、實際溫度、熱水量、水流量、加熱剩余時間、當前設置溫度

數據變換

(1)劃分一次性用水事件

水流量不為0,表示用戶正在用水
水流量為0,表示用戶用水停頓或者停止用水

如果水流量為0的狀態超過閾值T,則從該段水流量為0的狀態向前尋找最后一條水流量不為0的用水記錄作為上次用水事件的結束;向后尋找水流量不為0的用水記錄作為下次用水事件的開始

劃分步驟:
1 讀取數據,識別第一條用水記錄不為0的數據記錄為R1,按順序識別下一條水流量不為0的記錄為R2;
2 若gap_i > T,則R_i+1與R_i之間的記錄不能劃分到同一次用水事件中,將R_i+1作為新的讀取數據記錄的開始; 若gap_i < T,則R_i+1與R_i之間的記錄劃分到同一次用水事件中,并將接下來水流量不為0的數據記錄為R_i+2
3 循環執行步驟2,直到數據讀取完畢,結束事件劃分

# -*- coding: utf-8 -*- """ Created on Thu Jun 07 10:30:21 2018@author: llllllllllllllllllllixu """import pandas as pdinputfile = 'eeeee/chapter10/test/data/water_heater.xls' outputfile = 'eeeee/chapter10/test/data/dividsequence.xls'data = pd.read_excel(inputfile) data[u'發生時間'] = pd.to_datetime(data[u'發生時間'], format='%Y%m%d%H%M%S') data = data[data[u'水流量'] > 0] threshold = pd.Timedelta(minutes=4)d = data[u'發生時間'].diff() > thresholddata[u'事件編號'] = d.cumsum() +1data.to_excel(outputfile)

查看d

查看結果

(2)用水事件閾值尋優模型

不同時間、不同地域,閾值也可能不同
建立閾值尋優模型尋找最優的閾值

# -*- coding: utf-8 -*- """ Created on Thu Jun 07 10:30:21 2018@author: llllllllllllllllllllixu """import pandas as pd import numpy as npinputfile = 'eeeee/chapter10/test/data/water_heater.xls'data = pd.read_excel(inputfile) data[u'發生時間'] = pd.to_datetime(data[u'發生時間'], format='%Y%m%d%H%M%S') data = data[data[u'水流量'] > 0] threshold = pd.Timedelta(minutes=5)def event_num(ts):d = data[u'發生時間'].diff() > tsreturn d.sum() + 1dt = [pd.Timedelta(minutes=i) for i in np.arange(1,9,0.25)] h = pd.DataFrame(dt, columns=[u'閾值'])h[u'事件數'] = h[u'閾值'].apply(event_num) #h[u'事件數'].plot()h[u'斜率'] = h[u'事件數'].diff() / 0.25n = 4 h[u'斜率指標'] = pd.rolling_mean(h[u'斜率'].abs(), n)ts = h[u'閾值'][h[u'斜率指標'].idxmin() - n]if ts > threshold:ts = pd.Timedelta(minutes = 4)print ts #4import matplotlib.pyplot as plt plt.rcParams['font.sans-serif'] = ['SimHei'] plt.rcParams['axes.unicode_minus'] = False plt.plot(np.arange(1,9,0.25), h[u'事件數']) plt.xlabel(u'閾值') plt.ylabel(u'事件數') plt.show()


(3)屬性構造

4類指標:時長指標、頻率指標、用水量華指標、用水波動指標




(4)篩選得“候選洗浴事件”

從已經劃分好的用水事件中識別出洗浴事件
滿足任一條件就不是用水事件:
1)一次用水事件的總用水量(純熱水)小于y升
2)用水時長小于100秒(用水時間,不包括停頓)
3)總用水時長小于120秒(事件開始到結束)

數據清洗


在用水狀態記錄缺失的的情況下,填充一條狀態記錄使水流量為0,發生時間加2秒,其余屬性狀態不變。

模型構建


# -*- coding: utf-8 -*- """ Created on Thu Jun 07 10:30:21 2018@author: llllllllllllllllllllixu """import pandas as pdinputfile1 = 'eeeee/chapter10/demo/data/train_neural_network_data.xls' inputfile2 = 'eeeee/chapter10/demo/data/test_neural_network_data.xls' testoutputfile = 'eeeee/chapter10/demo/tmp/test_output_data.xls'data_train = pd.read_excel(inputfile1) data_test = pd.read_excel(inputfile2)x_train = data_train.iloc[:, 5:17].as_matrix() y_train = data_train.iloc[:, 4].as_matrix() x_test = data_test.iloc[:, 5:17].as_matrix() y_test = data_test.iloc[:, 4].as_matrix()from keras.models import Sequential from keras.layers.core import Dense, Dropout, Activationmodel = Sequential() model.add(Dense(11, 17)) model.add(Activation('relu')) model.add(Dropout(0.2)) model.add(Dense(17, 10)) model.add(Activation('relu')) model.add(Dropout(0.2)) model.add(Dense(10, 1)) model.add(Activation('sigmoid'))model.compile(loss='binary_crossentropy', optimizer='adam', class_mode='binary')model.fit(x_train, y_train, nb_epoch=200, batch_size=1)model.save_weights('eeeee/chapter10/demo/tmp/net.model')r=pd.DataFrame(model.predict_classes(x_test),columns=[u'預測結果']) pd.concat([data_test.iloc[:,:5],r],axis=1).to_excel(testoutputfile) model.predict(x_test)from keras.utils.vis_utils import plot_model plot_model(model, to_file='model.png', show_shapes=True)

整理了好長時間,感覺這章很難理解啊!!!

總結

以上是生活随笔為你收集整理的家用电器用户行为分析与事件识别的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 色翁荡息又大又硬又粗又爽 | 青青草国产成人99久久 | 日韩av在线免费看 | 聚色屋| 久久久久久久影院 | 两根大肉大捧一进一出好爽视频 | 宿舍女女闺蜜调教羞辱 | 越南少妇做受xxx片 亚洲av综合色区无码一二三区 | 国产精品成人无码免费 | 久久久av网站 | 三级黄色在线播放 | 操xxxx| 禁断介护老人中文字幕 | 欧美成人三级在线观看 | 可以直接看的毛片 | 超碰凹凸 | 午夜网站在线观看 | 97看片网| 免费黄色视屏 | 五月天综合在线 | 精品一区二区三区四区五区六区 | 精品一卡二卡 | 欧美人伦 | 成人性生交视频免费观看 | 66av欧美| 少妇高潮灌满白浆毛片免费看 | 久久青青草原亚洲av无码麻豆 | 麻豆精品国产传媒 | 成人精品一区二区三区视频 | 国产欧美专区 | jizzzxxxx| 亚洲六月婷婷 | aaa一级片| 福利免费视频 | 中文字幕88页 | 日韩在线小视频 | 国产第一草草影院 | 亚洲图片视频在线 | 网友自拍第一页 | 黄色电影在线视频 | 久久久69 | 亚洲视频中文字幕 | 少妇xxx| 超碰1997| 久久久久久久久久久久久女国产乱 | 欧美少妇一区二区 | 欧美婷婷六月丁香综合色 | 久久精品av | 国产欧美日韩视频在线观看 | 日韩三区视频 | 日本真人做爰免费视频120秒 | 中文字幕第2页 | 天天摸天天操天天爽 | 第一av | 一级黄色在线 | 午夜av影院 | 国产精品第100页 | 中日韩精品一区二区三区 | 九九九免费视频 | 亚洲国产网站 | 日韩精品一区二区三区四区五区 | 美日韩视频 | 有码一区二区 | 精品一区欧美 | 天天爽天天插 | 99精品黄色| 国产乱视频 | 日本特级黄色 | 精品第一页 | 91在线观看欧美日韩 | 欧美精品在线第一页 | 精品人妻一区二区色欲产成人 | 亚洲男人的天堂网站 | 少妇被中出 | 亚洲视频1区| 中文字幕无码av波多野吉衣 | 久久久观看 | 国产一卡二卡在线 | 国产精品久久久久久久久久东京 | 日本午夜网站 | a级片黄色| 欧美老熟妇乱xxxxx | 91色噜噜 | 日本在线观看一区二区三区 | 蜜桃免费在线视频 | 国产一区免费在线 | 日韩欧美精品在线播放 | 亚洲色欧美 | 精品国自产在线观看 | 一级黄色片视频 | 国产美女免费网站 | 色哟哟视频| 欧美久久一区 | 97视频在线观看免费高清完整版在线观看 | 樱桃香蕉视频 | 九九热这里有精品 | 亚洲资源网站 | 五十路av在线 | 国产精品免费视频一区二区三区 |