簡體   English   中英

從設備日志數據中提取模式

[英]Extract Patterns from the device log data

我正在一個項目中,我們必須從設備日志數據中提取模式(用戶行為)。 設備日志包含帶有時間戳的不同設備操作,例如打開或關閉設備的時間。

For example:
When a person enters a room. He first switches on the light and then he 
switches on the fan or Whenever the temp is less than 20 C, he switches off
the AC.

我正在考慮使用貝葉斯網絡來提取這些模式。

  • 從數據中學習貝葉斯網絡(使用Weka或Netica)。
  • 貝葉斯網絡中的弧將給出不同設備之間的模式/依存關系。

    這是正確的方法嗎?

編輯:設備之間的時間順序很重要。

這是正確的方法嗎?

有很多可能的方法,但是這是一種非常適合該領域的簡單有效的方法:

鑒於應用程序的性質,時間順序並不重要,例如Fan是否在Light之前打開也沒關系。

另外,假設您可以使用例如運動傳感器來觸發讀取傳感器的例程,並可能進行定期溫度檢查,則可以使用下面的網絡對提取的模式進行操作(無需按時間順序和事件進一步使其復雜化)跟蹤,我們提取數據以進行操作,因此該域中的事件順序並不有趣)

例如:當一個人進入房間時。 他首先打開燈,然后再打開風扇,或者只要溫度低於20 C,就關閉交流電源。

原始設備日志可能看起來像這樣,T / F為True / False:

Person in room | Temperature | Light | Fan | AC
-----------------------------------------------
T              | 20          | T     | T   | T
T              | 19          | T     | T   | F
F              | 18          | F     | F   | F 

有了足夠的樣本,您可以在上面訓練模型,例如,朴素貝葉斯對無關的功能/輸入不敏感,因此,例如,如果您查看上面包含所有變量的第一個原始表,並嘗試使用足夠的數據來預測AC ,會理解某些輸入不是非常重要或完全不相關

或者,如果您事先知道LightFanAC依賴於什么,例如,我們知道Light不會取決於Temperature ,並且FanAC不在乎是否打開Light (它們可以即使該人正在睡覺也可以進行操作,例如),因此您可以將其分解如下:

在此處輸入圖片說明

Person in Room | Light 
----------------------
T              | T
F              | F

Person in Room | Temperature | Fan
----------------------------------
T              | 20          | T
F              | 25          | F

Person in room | Temperature | AC
---------------------------------
T              | 20          | T
T              | 19          | F
F              | 20          | F
F              | 19          | F

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM