анализа? Есть сортировальная машина, измеряет показатели на изделии. Если хоть по одному из показателей превышен порог - изделие признается браком. Задача – найти пороги.
Есть размеченные данные, полученные из большого количества независимых (считаем так) центров (для разных машин, которые должны бы работать одинаково). Видно, что они размечены по-разному: где-то больше объектов «ближе к краям» диапазона значений показателей, где-то к середине. Где-то есть явное смещение одной машины относительно другой по одной или нескольким фичам, где-то просто неверная разметка. Хочу сгруппировать данные и искать пороги в примерно одинаково размеченных группах.
Для этого я для каждой разметки нахожу пороги (через pso::psoptim() самописной функции, которая сравнивает размеченные данные с порогами и возвращает значение ошибки: доля ошибок в категории «брак»+ доля ошибок в категории «не брак»), шкалирую пороги, нормирую на значимость переменной (из Boruta:: getImpXgboost() ) и просто считаю матрицу расстояний, ее – в hclust и дальше количество кластеров на глазок.
При таком подходе есть ли место, где я делаю явную глупость? Как вообще оценивают качество и согласованность разметки данных?
А я бы шлёпнул в байесовскую модель (раз уж я недавно их стал учить). Ну подумайте, основная сложность задачи в том, чтобы найти рабочие параметры, имея разброс в машинах и в измерениях каждой машины. Исконный философский вопрос про сигнал и шум. Я бы посоветовал lme4 для построения иерархии, и выцеживания общих выводов из каши, но я недавно познакомился с новой игрушкой, поэтому конечно же она лучше!
Обсуждают сегодня