家用電器用戶行爲分析與事件識別學習筆記

書中介紹太繞,甚至是不清楚的,在此記錄一下學習體會!git

該例主要講的是用戶洗浴用水事件的識別問題(熱水器數據),歸結爲0-1分類問題——這是全局觀github

按分析問題大的步驟:網絡

數據探索性分析——>數據規約——>一次用水事件劃分及閾值尋優——>特徵工程/屬性構造——>篩選洗浴事件(?)——>NN-Model學習

  • (?)這一部分,沒搞懂做者意圖,問題一開始就說是要識別出獨立用水事件中的洗浴事件,那到此步驟不就完了,~後面就是爲了跑跑模型train-test,blabla~???
  • 從該章標題看(?)及以前是家用電器用戶行爲分析,以後纔是事件識別,這樣才解釋得通
  • 最值得吐槽的是:本身說的數值規約,然而本身實現起來就跟本不存在什麼數值規約哦

我的以爲本章最值得學習的點有:spa

  • 問題的分析思路(前後該作些什麼、如何作),見上面步驟
  • 數據分析處理方法(見下方簡要介紹)
  • 特徵工程/屬性構造(涉及特定問題特定分析,結合問題的關注點,如選取了時長類指標、頻率類指標、水量指標、用水變化/波動指標)
  • 篩選洗浴事件方式方法:一次用水事件劃分——>候選洗浴事件劃分(一次用水量<yLitre、用水時長<100s、總用水時長<120s

 

關於數據分析處理方法,文中介紹甚是模糊,我的理解記錄於此:

 時間的劃分均是基於用水量數據來區分的

一次用水事件劃分

 閾值尋優

閾值尋優區間1min——9min,step=0.25min=15sexcel

計算原理:code

以閾值及對應劃分的用水事件數,做圖,當n個相鄰點斜率值(取最小的斜率對應的閾值,斜率小說明曲線平穩用戶習慣比較趨於平穩)blog

 

特徵工程/ 屬性構造

這類問題解構/組合須要經驗和對應問題須要,多多學習~~事件

篩選候選洗浴事件

文中給出的是斷定短暫用水事件,將其他的做爲候選洗浴事件,惋惜的是描述混亂+無代碼get

 關於斷定標準,我的感受很是的主觀呀(這裏僅摘記文中標準,知足一個就算是短暫,或關係),但願大神留言講一講啊,thx~

  • 一次用水事件總用水(總水量*熱水量(%)=純熱水)<yLitre
  • 用水時長<100s
  • 總用水時長<120s

其中文中y的取值也頗有意思,考慮了熱水器不一樣設定溫度下熱水的使用量閾值y:

由一系列假設,說明當一次洗浴中熱水溫度越高熱水量使用就越少,反之反是;

V表示熱水器的水恆50度時洗浴最低用量,X當前水溫,C注入的自來水每個月平均溫度(室溫均值)

多層神經網絡

 

 1 from keras.models import Sequential  2 from keras.layers.core import Dense,Activation  3 
 4 net = Sequential()  5 #net.add(Dense(input_dim = 11, output_dim = 17))#keras 2.0以前版本
 6 net.add(Dense(input_dim=11, units=17))#keras 2.0 ,推薦;添加輸入層、隱藏層的鏈接
 7 net.add(Activation('relu'))  8 net.add(Dense(input_dim=17, units=10))  9 net.add(Activation('relu')) 10 #model.add(Dense(10, 1)) #添加隱藏層、輸出層的鏈接
11 net.add(Dense(1))  # 輸出層,同上
12 net.add(Activation('sigmoid')) 13 net.compile(loss='binary_crossentropy', optimizer='adam',metrics=['accuracy']) 14 
15 #net.fit(x_train, y_train,epochs=10,batch_size=1)#keras 2.0以前版本
16 net.fit(x_train, y_train,epochs=1000,batch_size=1,verbose=1)#keras 2.0,推薦,verbose=0,不顯示過程,默認等於1顯示過程
17 r = pd.DataFrame(model.predict_classes(x_test), columns = [u'預測結果']) 18 pd.concat([data_test.iloc[:,:5], r], axis = 1).to_excel(testoutputfile) 19 net.predict(x_test)

 

 

 

REF:

《數據分析與挖掘實戰》

源代碼及數據須要可自取:https://github.com/Luove/Data

相關文章
相關標籤/搜索