11 идей проектов машинного обучения для начинающих
Машинное обучение широко распространено и применимо во многих областях. Так что вы можете заблудиться, пытаясь найти точку опоры как новичок. Тем не менее, участие в проектах во время обучения помогает вам понять свои интересы и сосредоточиться на конкретном пути.
Кроме того, он позволяет вам ознакомиться с типичным рабочим процессом машинного обучения.
Здесь мы покажем вам некоторые из лучших идей для проектов для начинающих, которые помогут вам глубже погрузиться в мельчайшие детали машинного обучения.
1. Прогнозирование ссуды
Многие кредитные и банковские приложения теперь включают модели определения права на получение кредита. Так что это вдохновляющий момент для начала, если вы заинтересованы в применении машинного обучения к своим существующим знаниям в области финансовых технологий.
Однако вы вряд ли увеличите масштаб для включения приложений. Но вы узнаете, как большинство корпоративных приложений решают, имеет ли кто-то право на ссуду или нет.
Для начала вам понадобится набор данных, содержащий некоторую финансовую информацию. Используя тенденции доходов и расходов в этих данных, вы затем обучите свою модель изучению конкретных закономерностей и прогнозированию права на получение кредита при получении новой информации.
2. Анализ настроений
Поиграйте с анализом тональности – отличная идея, особенно если вы умеете писать слова.
Если вы запутались, анализ тональности включает в себя машинную классификацию или кластеризацию текста, как правило, на положительное и отрицательное восприятие.
Как и во многих проектах на естественном языке, здесь также может быть немного сложно выбрать функции. Но анализ настроений в тексте часто начинается с интеллектуального анализа текста для изучения закономерностей рассматриваемых текстов. Это позволяет вам определить основные характеристики вашего набора данных, которые вы можете использовать в качестве критериев обучения.
Затем вы можете использовать соответствующие алгоритмы классификации, такие как наивный байесовский алгоритм или дерево решений, для обучения вашей модели. В конечном итоге этот проект знакомит вас с основными концепциями обработки текста и принципами работы обнаружения спама.
Python предлагает массу гибких алгоритмов и логики для анализа настроений. Так что, если вам нравится Python, который относительно легко понять, вы можете взглянуть на то, как использовать инструментарий обработки естественного языка .
3. Создайте модель логистической регрессии.
Логистическая регрессия – это простая модель классификации, идеально подходящая для новичков. Как вы, возможно, уже знаете, он определяет вероятность возникновения дискретных событий.
Вы можете начать с работы с наборами данных, содержащими дискретные значения, такие как «Да» и «Нет» или «Хорошо» и «Плохо». Как и другие алгоритмы классификации, логистическая регрессия помогает вашей машине кодировать их в читаемые значения, чтобы она могла правильно прогнозировать.
А если вы хотите предсказать более двух возможных результатов, вы можете глубже погрузиться в полиномиальную логистическую регрессию. Тем не менее, scikit-learn Python может быть довольно удобным инструментом для написания вашей модели.
4. Распознавание изображений
Такие технологии, как распознавание лиц и обнаружение поддельных изображений, могут показаться волшебством. Но когда вы увлечетесь проектом по распознаванию изображений своими руками, вы скоро поймете, что создать его проще, чем вы могли подумать.
Более того, в вашем распоряжении довольно большое количество библиотек машинного обучения для обработки изображений. Например, TensorFlow предлагает универсальные ресурсы для моделирования изображений.
И если TensorFlow сложно сузить, Keras , часть платформы TensorFlow, также является ценным инструментом, который вы можете использовать. В конечном счете, базовое понимание искусственных нейронных сетей (ИНС) полезно для этого проекта.
Однако ваш проект распознавания изображений может варьироваться от обнаружения поддельных изображений до алгоритмов распознавания изображений.
Хотя сначала это кажется утомительным, становится легче, когда вы погружаетесь глубже. Кроме того, это дает вам четкое представление о концепциях глубокого обучения.
5. Классификация и прогнозирование рака.
Классификация рака – интересный аспект, особенно если вы заинтересованы в применении своих знаний о машинном обучении в таких медицинских областях, как биоинформатика.
Ваши данные обычно содержат стандартные показатели для определения того, является ли опухоль доброкачественной или злокачественной. Затем вы будете использовать эту информацию для создания модели, которая классифицирует новые случаи рака в соответствующую категорию с использованием тех же показателей. В зависимости от того, как вы намереваетесь подойти к этому, вы можете использовать алгоритм классификации, такой как дерево решений, для информирования машины о решении.
А если вы хотите дополнить существующие знания, вы можете даже углубить свой проект, углубившись в прогнозирование рака. Здесь вы можете использовать такие алгоритмы, как машины опорных векторов (SVM) и искусственные нейронные сети (ANN) для достижения своей цели.
6. Прогнозирование цен на акции (кластеризация)
Фондовый рынок нестабилен, и цены зависят от множества различных факторов. Таким образом, определение прибыльной акции иногда может быть сложной задачей для инвесторов.
Поскольку вы решаете финансовую проблему и в то же время изучаете основные концепции машинного обучения, этот проект стоит вашего времени.
Ваш набор данных должен содержать различную информацию о запасах и о том, как они менялись с течением времени. Поскольку это более эффективные модели обучения, ваша модель будет использовать эту информацию, чтобы предсказать, упадет или вырастет акция в определенный момент времени. Таким образом, это также связано с анализом временных рядов, поскольку ваша модель будет прогнозировать будущие результаты.
И, к счастью, для этого проекта в вашем распоряжении также множество инструментов. Например, Facebook's Prophet – это инструмент для прогнозирования с открытым исходным кодом. Вы можете использовать это с Python. Но если вам удобнее использовать R, Prophet также значительно поддерживает R.
7. Прогнозирование ниши веб-сайта
Это не очень популярный проект для новичков. Но вы можете принять это, если вам нравятся проблемы и вы хотите раскрыть инструменты, которые вы можете использовать для достижения своей цели.
Одна из неудач, с которой вы можете столкнуться в этом проекте, – это где взять наборы данных. Но как только вы выясните информацию, необходимую для решения проблемы, вы можете очистить данные с помощью этого руководства BeautifulSoup .
Чтобы это работало, вам необходимо учитывать такие показатели, как заголовки на веб-странице. Кроме того, обратите внимание на часто используемые предложения и ключевые слова, так как они, по крайней мере, указывают на то, что такое веб-страница. Это означает, что вы должны тщательно выбирать свои функции для обеспечения разумной точности.
8. Создайте систему рекомендаций с помощью Python.
Вы, должно быть, сталкивались с системой рекомендаций при просмотре Интернета или использовании таких приложений, как YouTube и Netflix. Большинство рекламных систем в Интернете также используют его для фильтрации рекламы, которую вы видите, и иногда кажется, что Интернет знает, о чем вы думаете.
В некоторых случаях, исходя из того, что вы часто ищете в Интернете, рекомендатель может узнать о ваших предпочтениях в отношении контента. Затем он использует это, чтобы рекомендовать связанный контент, который, по его мнению, может вас заинтересовать.
Ваш может быть не таким сложным. Но для начала вы можете создать что-нибудь довольно простое. Например, советник по продукту – отличная отправная точка.
Например, чтобы создать рекомендатель продуктов, вам необходимо собрать данные о продуктах и восприятии их людьми. Это, конечно, может включать количество положительных и отрицательных отзывов, нишу продукта, количество покупок и многое другое.
9. Прогноз качества вина
Прогноз качества вина – один из немногих проектов, ориентированных на новичков. Это проблема классификации, связанная с разделением вина на категории высокого и низкого качества.
Для этого вы можете использовать алгоритмы классификации, такие как логистическая регрессия или дерево решений, для обучения вашей модели. Вы даже можете использовать ИНС, если вас больше интересует подключение каждой точки для принятия решений.
Как и любой другой проект машинного обучения, в этом вы познакомитесь с основными концепциями выбора функций, корреляции, кодирования меток и многого другого. Кроме того, это дает вам ровную площадку с вашими данными.
10. Создайте простой алгоритм машинного обучения.
Хотя до этого момента мы рекомендовали проекты, использующие другие алгоритмы, вы можете жестко запрограммировать самодельный алгоритм с нуля, используя дружественные к ML языки, такие как C, C ++, R или Python.
Хотя это может показаться немного более сложным, чем другие задачи в списке, это идеальная идея для проекта, особенно если вы хотите знать, как работают встроенные алгоритмы и перебирают ваши данные.
Конечно, это не обязательно должен быть сложный алгоритм. Например, вы можете найти математическую концепцию, лежащую в основе простой линейной регрессии, и использовать ее для создания применимого, многоразового и устанавливаемого алгоритма.
11. Обнаружение фейковых новостей
Это не новость, что фальшивые и достоверные новости летают по сети. Но у обоих есть уникальные указатели и атрибуты, которые помещают их в любую категорию.
Поскольку вы имеете дело с простыми текстами, поиск уникального описательного шаблона для обоих типов новостей может помочь вам в достижении вашей цели. Вам следует тщательно выбирать свою функцию, чтобы не переобучать или не соответствовать вашей модели.
Для этого вы можете начать с просмотра документации Natural Language Toolkit , в которой есть много ресурсов, которые вы можете использовать для обработки текста.
Учитесь на практике и станьте экспертом по машинному обучению
Независимо от того, являетесь ли вы самоучкой, проходите курсы или учитесь в школе, вы можете потерять контроль над основными концепциями, если не примените то, что изучаете.
Хотя машинное обучение кажется сложным, с личными проектами вы лучше поймете жизненный цикл реальных проектов и связанные с ними проблемы. Таким образом, маневрировать, когда вы сталкиваетесь с реальными проблемами, становится проще.