Развернуть набор данных эффективно для повышения производительности алгоритма машинного обучения? - PullRequest
0 голосов
/ 03 января 2019

В настоящее время я работаю над проектом машинного обучения.И я новичок.

Размер моего набора данных составляет около 30 КБ, и я не уверен, что этого достаточно для хорошей работы.

Эти строки по 30 КБ собираются определенным типом продуктов, но в моей базе данных у меня есть несколько продуктов.

И мой вопрос: если я соберу все продукты и включу их в свой набор данных, будет ли моя модель более точной?Или это просто добавит потраченное время на процесс?

Например, я хочу предсказать, является ли электронная почта, отправленная этим человеком, спамом. Эффективно ли собирать все электронные письма в моем почтовом ящике от всех людей?Или я просто должен собирать электронные письма от такого человека.

Большое спасибо за ответы!

1 Ответ

0 голосов
/ 04 января 2019

Это действительно зависит от набора данных, модели, реальной проблемы / вопроса и желаемой точности / ошибки. Если взять пример спама по электронной почте, наивный байесовский метод является очень распространенным методом решения проблемы такого типа и требует относительно небольшого количества данных для получения «разумной» точности (разумной, определяемой клиентом / заинтересованным лицом).

30 000 выборок - это набор данных довольно приличного размера для мелкомасштабных обучающих классификаторов (хотя, конечно, это зависит от качества данных, например, количества пропущенных значений, ошибок, выбросов и т. Д.) Я бы не стал беспокоиться о добавлении дополнительных продуктов, пока вы не увидите, как классификатор работает с данными, которые у вас уже есть.

Поэтому я бы начал с одного продукта и попробовал модели, которые хорошо работают с меньшими объемами данных, такие как Наивный байесовский (NB) и Классификаторы опорных векторов (SVC) и Посмотрите, соответствует ли полученная точность вашему применению. Если это не так, у вас есть два варианта: больше данных и другие подходы к моделированию. Для получения дополнительных данных вы можете попробовать добавлять другие продукты постепенно и оценивать полученную точность. Вы можете попробовать использовать модель кластеризации, например, K-средства для выбора (выборки) продуктов, если неясно, какие продукты, вероятно, было бы наиболее полезно добавить. Вы также можете попробовать смоделировать больше данных для интересующего вас продукта, возможно, используя другие продукты в качестве основы для моделирования. Главное, чтобы у вас была базовая точность по одному продукту, чтобы оценить, помогают ли дополнительные данные. Для других подходов к моделированию вы можете попробовать ансамблирование - просто хорошее взвешенное усреднение моделей SVC и NB будет хорошим началом для начала - или совсем другие алгоритмы.

Помните, что для небольших наборов данных риск переоснащения и восприимчивости к выбросам повышается, поэтому очень важен тщательный выбор функций / разработка и хорошая дисциплина с набором dev / test и validation.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...