Comments 7
Классная статья! Как интерпретировать "Confusion Matrix"? Можете подсказать хорошую статью на эту тему? По содержанию статьи: кто-нибудь может подробнее объяснить почему нормальное распределение дало результат хуже?
Спасибо! Матрица здесь используется в качестве метрики взаимотношения между классами при предсказание, визуализироемое с помощью тепловой карты - на ней показано кол-во предсказаний класса всеми имеющимися классами. То есть к примеру в последней картинке: 5ый класс предсказан 5ым (верно) 3266 раз, а 4ым (не верно) 344 раза.
По поводу нормального распределения мне бы тоже было интересно услышать предположения)
Я перепробовал кучу вариантов, почему выстрелил именно этот объяснить не могу((
Хотел бы задать пару вопросов.
Вы пишите, что
То есть, если мы имеем корпус с текстами с сильно различным количеством слов, мы рискуем получить завышенный показатель IDF если слово встречается только в маленьких текстах и наоборот если слово часто встречается много раз только в одном крупном тексте.
но ведь IDF не зависит от длинны документа.
И еще, вы далее даете пояснения
Первый случай. Слово t встречается пять раз в тексте длинной 500 слов: знаменатель формулы IDF получит 5 балов и снизит показатель самого IDF, а следовательно, общий вес слова.
Второй случай. Слово t встречается по одному разу в пяти текстах длинной 100 слов: знаменатель формулы IDF получит 1 балов и завысит показатель самого IDF, а следовательно, общий вес слова.
Но ведь расшифровка формулы знаменателя IDF, которую вы приводите, на русском звучит как мощность множества документов , входящих в корпус
, таких, что в документе
содержится токен
хотя бы один раз. И тогда, в первом случае, если мы берем текст из 500 слов как корпус, то idf каждого слова в принципе будет 1. А во втором случае мы имеем корпус из 5 текстов и, если слово встречается во всех 5 текстах, то знаменатель будет равен 5.
Опять же, замечу, что знаменатель IDF не зависит от количества слов в самом документе, поэтому не понятно как количество слов влияет на показатель IDF.
Хорошо что вы спросили. Спасибо за вопрос!
Вся соль заключается в этой фразе из вашего замечания " А во втором случае мы имеем корпус из 5 текстов и, если слово встречается во всех 5 текстах, то знаменатель будет равен 5. " . Вы не учитываете числитель - то есть кол-во текстов в коллекции (корпусе).
Давайте на примере. Предположим слово t - "бедолага" - редкое слово с негативной эмоциональной окраской, которое редко встречается в текстах, допустим 3-го класса, всё как в примерах из статьи.
Считаем его idf. Кол-во документов в колл. для 3-го класса - 40000 - это числитель.
первый случай - пять раз в одном тексте (500 слов) - в знаменателе 1. 40000/1 = 40000
второй случай - по одному разу в пяти текстах длинной 100 слов - в знаменателе 5. 40000/5 = 8000.
Есть разница? Стоит упомянуть что
Для каждого уникального слова в пределах конкретной коллекции документов существует только одно значение IDF.
Можно посмотреть подробно описание формулы tfidf в вики
Вы не учитываете числитель - то есть кол-во текстов в коллекции (корпусе).
Числитель IDF все еще не зависит от длины документов в коллекции) В том числе, в ваших вычислениях.
Далее, вы пишете
первый случай - пять раз в одном тексте (500 слов) - в знаменателе 1.
А в статье написано
Первый случай. Слово t встречается пять раз в тексте длинной 500 слов: знаменатель формулы IDF получит 5 балов и снизит показатель самого IDF, а следовательно, общий вес слова.
И еще вы описываете в комменте
второй случай - по одному разу в пяти текстах длинной 100 слов - в знаменателе 5. 40000/5 = 8000
А в статье написано
Второй случай. Слово t встречается по одному разу в пяти текстах длинной 100 слов: знаменатель формулы IDF получит 1 балов и завысит показатель самого IDF, а следовательно, общий вес слова.
Мультиклассовая классификация текста. Дисбаланс тренировочных данных и их генерация. Особенности взвешивания TF-IDF