Это правильный подход?
Существует много возможных подходов, но вот очень простой и эффективный, который подходит для данной области:
Учитывая характер приложения, хронологический порядок на самом деле не имеет значения, не имеет значения, включается ли Fan
до Light
, например.
Также учитывая, что вы можете иметь, например. датчик движения для запуска процедуры, которая считывает показания датчиков и, возможно, периодическую проверку температуры, вы можете использовать приведенную ниже сеть, чтобы воздействовать на извлеченные шаблоны (нет необходимости усложнять ее хронологическим порядком и отслеживанием событий, мы извлекаем данные, чтобы действовать по факту, и порядок событий в этом домене не интересен)
Например: Когда человек входит в комнату. Сначала он включает свет, а затем включает вентилятор или Всякий раз, когда температура ниже 20°С, он выключает кондиционер.
Журнал необработанных устройств может выглядеть примерно так, 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
, при наличии достаточного количества данных она поймет, что некоторые входные данные не очень важны или совершенно неуместны.
Или, если вы заранее знаете, от чего зависят Light
, Fan
и AC
, например. мы знаем, что Light
не будет зависеть от Temperature
, и что Fan
и AC
все равно, включен 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
person
bakkal
schedule
18.06.2015