Comments 12
Какова величина ошибки первого рода и какая величина ошибки второго рода? Это принципиально: не так страшно увидеть спам, как не увидеть не спам.
С байевскими фильтрами для смс (равно как и для пейджера) проблема одна — слишком маленький объем текста, по нему сложно построить технологию правильной классификации. Можете попробовать использовать hidden баесовскую сеть. Вычислений будет побольше, но точность должна получиться лучше.
С байевскими фильтрами для смс (равно как и для пейджера) проблема одна — слишком маленький объем текста, по нему сложно построить технологию правильной классификации. Можете попробовать использовать hidden баесовскую сеть. Вычислений будет побольше, но точность должна получиться лучше.
0
да согласен на счет ошибок первого и второго рода, но это вообще тема отдельного поста может быть про precision и recall, про sensitivity и specificity, решил не усложнять -)
я планирую позже сравнить результат с глубокой сетью примого распространения предобученной на органиченной машине больцмана
Можете попробовать использовать hidden баесовскую сеть. Вычислений будет побольше, но точность должна получиться лучше.
я планирую позже сравнить результат с глубокой сетью примого распространения предобученной на органиченной машине больцмана
0
Так-так-так… народ, а давайте все-таки справляться с смс-спамом не софтом, а штрафованием операторов и расстрелами рассылающих?
Это будет намного эффективнее, чем городить софтину, коммерцию по защите, которая приведет к обычному выкачиванию баблоса из карманов пользователей?)
Это будет намного эффективнее, чем городить софтину, коммерцию по защите, которая приведет к обычному выкачиванию баблоса из карманов пользователей?)
+10
Не сочтите за рекламу, не имею к авторам сервиса никакого отношения. По опыту лишь могу сказать, что они реально отписывают от надоедающих рассылок – повторных сообщений не было замечено от тех отправителей, на которых было написано заявление.
www.smsnenado.ru
www.smsnenado.ru
0
UFO just landed and posted this here
Если конкуренты рассылают спам, почему бы и нет?
0
А они и не скрывали, что являются крупным «поставщиком» смс услуг.
1. Всех своих клиентов проконтролировать невозможно, а в конечном итоге по голове получают они, это банально дешевле чем судиться/быть оштрафованным (пару десятков раз, а там и лицензию можно потерять)
2. Пара дополнительных баллов в карму + непрямой PR
1. Всех своих клиентов проконтролировать невозможно, а в конечном итоге по голове получают они, это банально дешевле чем судиться/быть оштрафованным (пару десятков раз, а там и лицензию можно потерять)
2. Пара дополнительных баллов в карму + непрямой PR
0
UFO just landed and posted this here
fileName <- "./Data/Spam/SMSSpamCollection"
df <- LoadData()
Всё таки, имя файла не худо бы передать в функцию LoadData() — а то я запускаю Ваш код в другом окружении и натыкаюсь на ошибку доступа к файлу с данными.
0
LoadData <- function(fileName = "./Data/Spam/SMSSpamCollection")
{...}
ну так можно и передать, просто это значение по умолчанию такое; причем оно такое не спроста: если выкачать репозиторий изгитхаба и открыть проект ml-r.Rproj в r-студии, то рабочей папкой будет как раз папка с файлом проекта, и если вызвать LoadData с параметром по умолчанию, то все должно загрузиться корректно
0
Ну да, я просто ручками всё скопипастил и переложил в другие директории, поэтому дефолты не работают. Но раз объявлена переменная fileName почему бы её не использовать.
Вот тут ещё может быть проблема (теоретически!), если вдруг лучшим лалас-фактором «объявится» нулевой. В зависимости от случайного разбиение выборки на обучающую, проверяющую (значения передаваемого set.seed ) лучший лаплас фактор принимает значения как 1 так и 2…
А так — спасибо Вам за показательный код.
Было бы любопытно сравнить решение той же самой задачи, но с использованием SVM (из пакета e1071, например) и, скажем, RandomForest.
Вот тут ещё может быть проблема (теоретически!), если вдруг лучшим лалас-фактором «объявится» нулевой. В зависимости от случайного разбиение выборки на обучающую, проверяющую (значения передаваемого set.seed ) лучший лаплас фактор принимает значения как 1 так и 2…
laplaceFactorValues <- 1:10
cvErrors <- CrossValidation(df[ds$train, ], df[ds$validation, ], 0:10, showLog = T)
А так — спасибо Вам за показательный код.
Было бы любопытно сравнить решение той же самой задачи, но с использованием SVM (из пакета e1071, например) и, скажем, RandomForest.
0
я в основном нейросетями занимаюсь, так что в будущем запилю пост про глубокую нейросеть предобученную с помощью ограниченной машины Больцмана для решения этой же задачи
а так ты вполне можешь сам сделать сравнение с свм и остальным, для этого ты составляешь обучающее множество состоящее из векторов длины равной количеству уникальных слов в словаре в целом (который использовался при обучении модели). для каждого сообшения ты ставишь единицу в тех индексах, какие слова есть в сообщении. сообщение вида «more and more over», если в общем словаре more находится на 10 месте, and на 11 и over на 12, а всего слов 1000, тогда вектор будет длины 1000 состоящий из 0, кроме единиц на 10, 11 и 12 месте.
и в принципе можно обучать, такой код от силы строк 10 займет.
открытым остается вопрос что делать со словами не учавствовавшими в обучении, но это уже углуление в тему.
кстати думаю что рандом форест покажет не очень годные результаты, изза специфики модели
а так ты вполне можешь сам сделать сравнение с свм и остальным, для этого ты составляешь обучающее множество состоящее из векторов длины равной количеству уникальных слов в словаре в целом (который использовался при обучении модели). для каждого сообшения ты ставишь единицу в тех индексах, какие слова есть в сообщении. сообщение вида «more and more over», если в общем словаре more находится на 10 месте, and на 11 и over на 12, а всего слов 1000, тогда вектор будет длины 1000 состоящий из 0, кроме единиц на 10, 11 и 12 месте.
и в принципе можно обучать, такой код от силы строк 10 займет.
открытым остается вопрос что делать со словами не учавствовавшими в обучении, но это уже углуление в тему.
кстати думаю что рандом форест покажет не очень годные результаты, изза специфики модели
0
Sign up to leave a comment.
Фильтрация смс спама с помощью наивного байесовского классификатора (код на R)