Лучшие проекты машинного обучения на Python для начинающих [2022]
Опубликовано: 2021-01-03Если вы хотите стать профессионалом в области машинного обучения, вам необходимо приобрести опыт использования его технологий. Лучший способ сделать это — завершить проекты. Вот почему в этой статье мы делимся несколькими проектами машинного обучения на Python, чтобы вы могли быстро приступить к проверке своих навыков и получить ценный опыт.
Однако, прежде чем начать, убедитесь, что вы знакомы с машинным обучением и его алгоритмом. Если вы раньше не работали над проектом, не волнуйтесь, потому что мы также поделились подробным руководством по одному проекту:
Оглавление
Набор данных Iris: для начинающих
Набор данных Iris — один из самых популярных проектов машинного обучения в Python. Он относительно небольшой, но его простота и компактный размер делают его идеальным для начинающих. Если вы еще не работали над какими-либо проектами машинного обучения на Python, вам следует начать с него. Набор данных Iris представляет собой набор размеров чашелистиков и лепестков цветка Iris. Он имеет три класса, по 50 экземпляров в каждом из них.
Мы предоставили образцы кода в разных местах, но вы должны использовать их только для того, чтобы понять, как это работает. Внедрение кода без его понимания помешает выполнению проекта. Поэтому обязательно хорошо разберитесь в коде, прежде чем внедрять его.
Шаг 1: Импортируйте библиотеки
Первым шагом любого проекта машинного обучения является импорт библиотек. Основная причина универсальности Python заключается в его надежных библиотеках. Библиотеки, которые нам понадобятся в этом проекте:
- Панды
- Матплотлиб
- Склеарн
- SciPy
- NumPy
Существует несколько способов импорта библиотек в вашу систему, и вы должны использовать определенный способ для импорта всех библиотек. Это обеспечит согласованность и поможет избежать путаницы. Обратите внимание, что установка зависит от операционной системы вашего устройства, поэтому имейте это в виду при импорте библиотек.

Код:
# Загружаем библиотеки
из pandas импортировать read_csv
из pandas.ploting импортировать scatter_matrix
из matplotlib импортировать pyplot
из sklearn.model_selection импорта train_test_split
из sklearn.model_selection импортировать cross_val_score
из sklearn.model_selection импорт StratifiedKFold
из sklearn.metrics импортаclassification_report
из sklearn.metrics импортировать путаницу_матрицу
из sklearn.metrics импорта precision_score
из sklearn.linear_model импортировать LogisticRegression
из sklearn.tree импортировать DecisionTreeClassifier
из sklearn.neighbors импортировать KNeighborsClassifier
из sklearn.discriminant_analysis импортировать LinearDiscriminantAnalysis
из sklearn.naive_bayes импортировать GaussianNB
из sklearn.svm импортировать SVC
Читайте: 10 лучших идей проекта наборов данных машинного обучения для начинающих
Шаг 2: Загрузите набор данных
После импорта библиотек пришло время загрузить набор данных. Как мы уже говорили, в этом проекте мы будем использовать набор данных Iris. Вы можете скачать его отсюда .
Убедитесь, что вы указали имена всех столбцов при загрузке данных, и это поможет вам позже в проекте. Мы рекомендуем загрузить набор данных, поэтому даже если у вас возникнут проблемы с подключением, ваш проект останется в силе.
Код:
# Загрузить набор данных
url = «https://raw.githubusercontent.com/jbrownlee/Datasets/master/iris.csv»
имена = ['длина чашелистика', 'ширина чашелистика', 'длина лепестка', 'ширина лепестка', 'класс']
набор данных = read_csv (url, имена = имена)
Шаг 3: Подведение итогов
Прежде чем мы начнем использовать набор данных, мы должны сначала посмотреть на данные, присутствующие в нем. Мы начнем с проверки измерения набора данных, которое показывает нам, что набор данных имеет пять атрибутов и 150 экземпляров.
После проверки измерения вы должны просмотреть несколько строк и столбцов набора данных, чтобы получить общее представление о его содержании. Затем вам следует просмотреть статистическую сводку набора данных и посмотреть, какие показатели являются наиболее распространенными в нем.
Наконец, вы должны проверить распределение классов в наборе данных. Это означает, что вам нужно будет проверить, сколько экземпляров подпадает под каждый класс. Вот код для суммирования нашего набора данных:
# суммируем данные
из pandas импортировать read_csv
# Загрузить набор данных
url = «https://raw.githubusercontent.com/jbrownlee/Datasets/master/iris.csv»
имена = ['длина чашелистика', 'ширина чашелистика', 'длина лепестка', 'ширина лепестка', 'класс']
набор данных = read_csv (url, имена = имена)
# форма
печать (набор данных. форма)
# голова
печать (набор данных.голова (20))
# описания
печать (набор данных. описание ())
# распределение классов
печать (набор данных.groupby('класс').size())
Шаг 4: Визуализируйте данные
После суммирования набора данных вы должны визуализировать его для лучшего понимания и анализа. Вы можете использовать одномерные графики для подробного анализа каждого атрибута и многомерные графики для изучения взаимосвязей каждого объекта. Визуализация данных является важным аспектом проектов машинного обучения, поскольку помогает находить важную информацию, присутствующую в наборе данных.
Шаг 5: Оценка алгоритма
После визуализации данных мы оценим несколько алгоритмов, чтобы найти лучшую модель для нашего проекта. Во-первых, мы создадим набор данных проверки, который мы возьмем из исходного. Затем мы применим 10-кратную перекрестную проверку и создадим различные модели. Как уже говорилось, мы стремимся предсказать вид по размерам цветов. Вы должны использовать различные виды алгоритмов и выбрать тот, который дает наилучшие результаты. Вы можете протестировать SVM (машины опорных векторов), KNN (K-ближайшие соседи), LR (логистическая регрессия) и другие.
В нашей реализации мы обнаружили, что SVM является лучшей моделью. Вот код:
из pandas импортировать read_csv
из matplotlib импортировать pyplot
из sklearn.model_selection импорта train_test_split
из sklearn.model_selection импортировать cross_val_score
из sklearn.model_selection импорт StratifiedKFold
из sklearn.linear_model импортировать LogisticRegression
из sklearn.tree импортировать DecisionTreeClassifier
из sklearn.neighbors импортировать KNeighborsClassifier
из sklearn.discriminant_analysis импортировать LinearDiscriminantAnalysis
из sklearn.naive_bayes импортировать GaussianNB
из sklearn.svm импортировать SVC
# Загрузить набор данных
url = «https://raw.githubusercontent.com/jbrownlee/Datasets/master/iris.csv»
имена = ['длина чашелистика', 'ширина чашелистика', 'длина лепестка', 'ширина лепестка', 'класс']
набор данных = read_csv (url, имена = имена)
# Разделенный набор данных проверки
массив = набор данных.значения
Х = массив[:,0:4]
у = массив[:,4]
X_train, X_validation, Y_train, Y_validation = train_test_split(X, y, test_size=0,20, random_state=1, shuffle=True)
# Алгоритмы выборочной проверки
модели = []
models.append(('LR', LogisticRegression(solver='liblinear', multi_class='ovr')))
models.append(('LDA', LinearDiscriminantAnalysis()))
models.append(('KNN', KNeighborsClassifier()))
models.append(('ТЕЛЕЖКА', DecisionTreeClassifier()))
models.append(('NB', GaussianNB()))
models.append(('SVM', SVC(gamma='auto')))
# оцениваем каждую модель по очереди
результаты = []
имена = []
для имени, модели в моделях:
kfold = StratifiedKFold (n_splits = 10, random_state = 1, shuffle = True)
cv_results = cross_val_score (модель, X_train, Y_train, cv = kfold, оценка = «точность»)
результаты .append (cv_results)

имена.добавлять(имя)
print('%s: %f (%f)' % (имя, cv_results.mean(), cv_results.std()))
# Сравнить алгоритмы
pyplot.boxplot (результаты, метки = имена)
pyplot.title('Сравнение алгоритмов')
pyplot.show ()
Шаг 6: Прогноз
После того, как вы оценили различные алгоритмы и выбрали лучший, пришло время предсказать результаты. Сначала мы будем использовать нашу модель в наборе данных проверки, чтобы проверить ее точность. После этого мы протестируем его на всем наборе данных.
Вот код для запуска нашей модели в наборе данных:
# делать предсказания
из pandas импортировать read_csv
из sklearn.model_selection импорта train_test_split
из sklearn.metrics импортаclassification_report
из sklearn.metrics импортировать путаницу_матрицу
из sklearn.metrics импорта precision_score
из sklearn.svm импортировать SVC
# Загрузить набор данных
url = «https://raw.githubusercontent.com/jbrownlee/Datasets/master/iris.csv»
имена = ['длина чашелистика', 'ширина чашелистика', 'длина лепестка', 'ширина лепестка', 'класс']
набор данных = read_csv (url, имена = имена)
# Разделенный набор данных проверки
массив = набор данных.значения
Х = массив[:,0:4]
у = массив[:,4]
X_train, X_validation, Y_train, Y_validation = train_test_split(X, y, test_size=0,20, random_state=1)
# Делать прогнозы по набору данных проверки
модель = SVC (гамма = 'авто')
model.fit(X_train, Y_train)
прогнозы = model.predict(X_validation)
# Оценить прогнозы
печать (accuracy_score (Y_validation, прогнозы))
print (confusion_matrix (Y_validation, предсказания))
печать (classification_report (Y_validation, прогнозы))
Вот и все. Вы завершили проект машинного обучения на Python с использованием набора данных Iris.
Дополнительные проекты машинного обучения в Python
Набор данных Iris предназначен в первую очередь для начинающих. Если у вас есть опыт работы над проектами машинного обучения в Python, вам следует взглянуть на проекты ниже:
1. Используйте машинное обучение для прогнозирования цен на акции
Отличным местом для применения алгоритмов машинного обучения является рынок акций. Компании уже довольно давно используют алгоритмы искусственного интеллекта и технологии на основе машинного обучения для проведения технического анализа. Вы также можете построить модель ML, которая прогнозирует цены на акции.
Однако для работы над этим проектом вам придется использовать несколько методов, включая регрессионный анализ, прогнозный анализ, статистическое моделирование и анализ действий. Получить необходимые данные можно с официальных сайтов бирж. Они обмениваются данными о прошлых выступлениях акций. Вы можете использовать эти данные для обучения и тестирования вашей модели.
Как новичок, вы можете сосредоточиться на одной конкретной компании и прогнозировать стоимость ее акций на три месяца. Точно так же, если вы хотите усложнить проект, вы можете использовать несколько компаний и увеличить сроки прогнозирования.
Что вы узнаете из этого проекта:
Этот проект познакомит вас с приложениями AI и ML в финансовой отрасли. Вы также можете изучить прогностический анализ в рамках этого проекта и попробовать различные алгоритмы.
2. Напишите алгоритм машинного обучения с нуля
Если вы новичок и не работали ни с одним проектом по машинному обучению на Python, вы также можете начать с этого. В этом проекте вам нужно построить алгоритм машинного обучения с нуля. Выполнение этого проекта поможет вам понять все основы функций алгоритма, а также научит вас преобразовывать математические формулы в код машинного обучения.
Знание того, как преобразовать математические понятия в код машинного обучения, имеет решающее значение, так как в будущем вам придется реализовывать это много раз. Когда вы будете решать более сложные задачи, вам придется полагаться на этот навык. Вы можете выбрать любой алгоритм в соответствии с вашим знакомством с его концепциями. Если у вас нет опыта, лучше всего начать с простого алгоритма.
Что вы узнаете из этого проекта:
Вы познакомитесь с математическими концепциями искусственного интеллекта и машинного обучения.
3. Создайте считыватель рукописного ввода
Это проект компьютерного зрения. Компьютерное зрение — это область искусственного интеллекта, связанная с анализом изображений. В этом проекте вы создадите модель машинного обучения, которая может читать рукописный текст. Чтение означает, что модель должна уметь распознавать написанное на бумаге. Вам придется использовать нейронную сеть в этом проекте, чтобы быть знакомым с глубоким обучением и его соответствующими концепциями.
Сначала вам нужно будет предварительно обработать изображение и удалить ненужные разделы; другими словами, выполнить очистку данных на изображении для ясности. После этого вам нужно будет выполнить сегментацию и изменение размера изображения, чтобы алгоритм мог правильно прочитать символы. После того, как вы завершили предварительную обработку и сегментацию, вы можете перейти к следующему шагу — классификации. Алгоритм классификации будет различать символы, присутствующие в тексте, и помещать их в соответствующие категории.
Вы можете использовать логарифмическую активацию для обучения алгоритма ML для этого проекта.
Что вы узнаете из этого проекта:
Вы будете изучать компьютерное зрение и нейронные сети. Завершение этого проекта также познакомит вас с распознаванием и анализом изображений.
4. Предсказатель продаж
В секторе розничной торговли есть много приложений для ИИ и машинного обучения. В этом проекте вы откроете для себя одно из таких приложений, то есть прогнозирование продаж продуктов.
Распространенным набором данных среди энтузиастов машинного обучения является набор данных о продажах BigMart. В его различных торговых точках в 10 городах представлено более 1559 товаров. Вы можете использовать набор данных для построения регрессионной модели. По мнению торговых точек, ваша модель должна предсказывать потенциальные продажи конкретных продуктов в наступающем году. Этот набор данных имеет определенные атрибуты для каждой торговой точки и продукта, чтобы быстро понять их свойства и связь между ними.
Что вы узнаете из этого проекта:

Работая над этим проектом, вы познакомитесь с регрессионными моделями и прогнозным анализом. Вы также узнаете о применении машинного обучения в розничном секторе.
Узнайте больше о машинном обучении и Python
Мы надеемся, что этот список проектов машинного обучения на Python оказался для вас полезным. Если у вас есть какие-либо вопросы или мысли, сообщите нам об этом в разделе комментариев. Мы будем рады ответить на ваши вопросы.
Изучите курсы по науке о данных в лучших университетах мира. Участвуйте в программах Executive PG, Advanced Certificate Programs или Master Programs, чтобы ускорить свою карьеру.
Вот несколько дополнительных ресурсов для изучения машинного обучения и Python.
- Учебник по Python
- Машинное обучение против. Глубокое обучение
- Приложения машинного обучения
С другой стороны, если вы хотите получить более персонализированный опыт обучения, вы можете пройти курс AI и ML. Вы сможете учиться у отраслевых экспертов с помощью видеороликов, заданий и проектов.
Является ли машинное обучение хорошим выбором карьеры?
Если вы интересуетесь новыми технологиями и связанными с ними новостями, вы, должно быть, уже слышали о четвертой промышленной революции, вызванной технологиями машинного обучения. Согласно отчетам, ожидается, что к 2023 году мировой рынок машинного обучения достигнет 543 миллиардов индийских рупий. Однако разрыв между спросом и предложением опытных специалистов по машинному обучению увеличился почти до 125 процентов. Это указывает на то, что для специалиста по машинному обучению с правильным сочетанием навыков рынок труда сулит много обещаний. Если вы стремитесь стать инженером по машинному обучению, инженером-исследователем или ученым-исследователем, это, несомненно, станет для вас полезной карьерой.
Может ли новенький получить работу по машинному обучению?
Несмотря на то, что большинство рабочих мест в области машинного обучения сегодня требуют опытных специалистов, возможности для новичков также увеличиваются из-за огромного спроса на рынке. Для новичков это может быть сложно, но получить работу в области машинного обучения, безусловно, возможно. Если вы можете овладеть необходимыми навыками, спланировать, как хорошо выступить, и быстро учиться у опытных игроков на поле, вы тоже сможете получить работу своей мечты. Вы можете рассмотреть такие варианты, как получение соответствующих сертификатов, чтобы повысить ценность, подписаться на курсы машинного обучения на надежных платформах, попробовать некоторые практические проекты, следить за последними техническими новостями и тенденциями и присоединяться к онлайн-сообществам.
Сколько зарабатывает инженер по машинному обучению?
Согласно данным Glassdoor.in, средняя зарплата инженера по машинному обучению в Индии составляет около 8,2 лакха индийских рупий в год. Теперь средний доход зависит от нескольких факторов, таких как навыки, сертификаты, опыт, местоположение и многое другое. Но с большим опытом работы вы можете рассчитывать на увеличение своего заработка. Например, старшие инженеры по машинному обучению могут зарабатывать в среднем от 13 до 15 лакхов индийских рупий.