42
правки
Изменения
Нет описания правки
== Откуда берутся пропуски? ==
*Решаем задачу поиска аномалий для столбцов. Когда находим аномальное значение в столбце. Можно сказать, что это не аномалия, а ошибка и его можно пометить как пропуск
*Объединяем 2 набора данных объединяем(см. рис1(1 лекция, стр60)). Из-за того, что эти наборы данных немного разные(в разных наборах данных были разные признаки) и после объединения получатся пропуски.// про разные скорости *Конвертировать Подали разреженный набор данных в обычный. Недостающие значения сконцентрируются(3:45:26) в - пропуски.//(Вы будете делать таблицу)
== Как кодируются пропуски? ==
*В CSV не стандартизировано, могут быть: “?”, “ “(пробел), “_”, любой другой символ или например , будь то две запятых подряд или пустая строка
*В ARFF файле: “?”
*В программе(Строка / объект): Null, None, пустая строка
Если в столбце есть пропуск - берём и удаляем его из рассмотрения.
Можно удалять строки(объекты), '''НО''' могут возникнуть проблемы: если в столбце были пропуски в тренировочном наборе данных, то скорее всего в этом столбце они пропуски будут и в тестовом наборе.
=== Замена ===
==== Общий подход: ====
Обучить модель, которая умеет учитывать пропуски, предсказывать значения текущего столбца.
На примере с рис2(1 лекция, стр61, левый). Предполагаем, что второй объект ближе всего к четвёртому, поэтому скорость заполняем 160, а первый ближе к пятому, поэтому цвет заполняем "красный"
==== Частный случай: ====
//про zero-rule classification
На примере с рис3. Среднее арифметическое(230, 160, 80, 250) = 180 , а Мода(красный, синий, зелёный, синий) = синий
==== Константная замена ====
Применяется в случае, когда мы знаем, что кодирует пропуск.
(напримерПример) разреженная таблица состоит из слов и количества вхождений этого слова в текст, если . Если слово в тексте не встречалось, то на месте количества может стоять пропуск, что эквивалентно 0, если же храним : встречалось или нет, то на месте пропуска может быть false.
=== Добавление ===
*Если признак категориальный - добавляем к нему новое значение "пропуск"(увеличиваем количество категорий на 1)
*Если признак числовой - добавляем новый бинарный признак, было ли данное значение пропущено, а само значение заменять методами описанными выше.рис3(1 лекция, страница 62рис4)
== Отказ алгоритмов ==
Алгоритм может не только принимать на вход пропуски, но и возвращать. Если алгоритм возвращает проспуск, значит он отказывается от работы.*Отказ от классификации: используется в ансамблях(3когда несколько алгоритмов классификации работают, то какой-то из них может отказаться, понадеясь, что другой сможет классифицировать объект)*Отказ от кластеризации:52:00используется для поиска аномалий(объект не попал ни в один кластер => аномальный) возвращение дата-сетов с пропусками
'''Важно''' Алгоритм не будет просто так возвращать отказ от классификации / кластеризации(не будет возвращать значение пропуск, а вернёт что-то).
Нужно смотреть отдельные реализации алгоритмов.
== Задача предсказания и заполнения пропусков ==
Задачу заполнения пропусков можно свести к задаче предсказания. рис4(1 лекция, страница 64 верхняя частьрис5)
Есть набор данных, который условно разбит на train и test. Можно сказать, что значения test в столбце Y пропущены и вместо задачи обучения с учителем решать задачу заполнения пропусков.
В случае задачи обучения без учителя можно сказать, что все значения в столбце пропущенырис5. (1 лекция, страница 64 справа снизусм. рис6)
== Рекомендательные системы ==
'''Коллаборативная(совместная) фильтрация'''
Есть множество пользователей и множество предметов, которые эти пользователи оценятоценивают. Нужно понять, как определённый пользователь оценит предмет, который до этого не оценивал.рис6(1 лекция, страница 65см. рис7)
Эта задача не решается методами заполнения пропуска. Но методами рекомендательной рекомендательных систем можно решить задачу заполнения пропусков.
== Обучение на привилегированных данных ==
Задача обучения с учителеучителем, но к X даётся некоторый X', про который известно, что в тестовом множестве X' будет пропущен рис7. (1 лекция, страница 66см. рис8)
*Не использовать X'
*Обучить модель <math>a_1</math> предсказывать X' по X. Затем обучить модель <math>a_2</math> предсказывать Y по X и <math> a_1</math>(X)
(Пример)
Предсказать результат футбольного матча(победа/поражение)Привелигированные . Где привелигированные данные: число голов, число красных/ жёлтых карточек.
== Обучение на частично размеченных данных ==
В тренировачном множестве только часть объектов имеют значение целевой переменной Y, у остальных объектов тренировочного и тестового множества значение Y пропущено.рис8(1 лекция, страница 67см. рис9)
Базовое решение:
//Активное обучение
//Обучение с подкреплением