Публикация была переведена автоматически. Исходный язык: Русский
Самое время познакомиться с "hello, world!" в мире Machine Learning.
scikit-learn является одной из самых популярных библиотек для построения предсказательных моделей:
import sklearn
Как написано в документации: sklearn built on NumPy, SciPy, and matplotlib. А с ними мы уже познакомились в частях 1, 3 и 5 нашей серии публикаций про подготовку к работе в Data Science.
Каноническим примером для "hello, world!" часто служат тренировочные датасеты iris и titanic. Первый стал популярен благодаря одному из первых архивов открытых датасетов UCI, разработанному в одном из университетов Калифорнии (отсюда и сокращение UCI — University of California, Irvine). Второй — благодаря доступным учебным соревнованиям на платформе Kaggle.
На Практическом курсе по Machine Learning мы начинаем знакомство с моделями с метрического алгоритма kNN (k ближайших соседей) и интуитивно понятной гипотезы компактности: похожие объекты чаще принадлежат одному классу, чем разным (мальчики похожи на мальчиков, а девочки на девочек). Например, рукописные цифры из датасета MNIST, представленные в двумерном пространстве, будут кластеризоваться (кучковаться) на 10 классов.

Предлагаем выбрать интересующий вас датасет, загрузить данные в формате признакового описания объектов (матрица train) и их разметки (вектор labels). В первую очередь проведите разведочный анализ данных: посчитайте и визуализируйте характеристики ваших данных, проверьте полноту заполнения и обсудите с вашим наставником необходимую предобработку и очистку данных. Если такого старшего товарища под рукой нет, то на первых порах подойдет какой-нибудь GPT.
Далее берем наш kNN из библиотеки sklearn:
from sklearn.neighbors import KNeighborsClassifier
knn = KNeighborsClassifier(n_neighbors=1)
Обучаем нашу модель:
knn.fit(train, labels)
И проверяем качество предсказания по метрике accuracy (даже и не пытайтесь прочитать 100500 статей про accuracy, precison, recall и F1, почти все объясняют это слишком математизированно; коротко, accuracy — количество (или процент) правильно предсказанных объектов):
from sklearn.metrics import accuracy_score
accuracy_score(labels, knn.predict(train))
Вот и всё, может показаться — fit-predict и 300k в секунду у вас кармане. В реальности вам еще нужно будет изучить и понять:
1. Какие семейства алгоритмов бывают, в чем их плюсы, минусы и какие у них ограничения применимости;
2. Почему код выше даёт практически 100% качество на любых датасетах, но в реальности работает гораздо хуже;
3. Какие метрики качества бывают, для чего и почему. Как они считаются и какая за ними стоит интуиция;
4. Что такое оценка качества и какая математика стоит за кросс-валидацией;
5. Что такое хорошо и что такое плохо (в мире ML). И много чего другого, на что уйдет не один месяц погружения.
Предлагаем похвалить себя за проделанную работу, за знакомство с обилием полезных библиотек, за первую обученную модель машинного обучения, и, возможно, за первый submit в Kaggle;
🎁 Пасхалка
Премия Тьюринга - аналог нобелевской премии в сфере Computer Science. Лауреаты премии получают признание и гонорар в размере 1 миллиона долларов.
Автор какого датасета из вышеупомянутых получил премию Тьюринга?
Полезная информация
Читать сначала: ч.1 введение в ML и библиотеки ML для Python
Предыдущий выпуск: ч.5 оптимизация ML алгоритмов
BigData Team: the way you learn best
Самое время познакомиться с "hello, world!" в мире Machine Learning.
scikit-learn является одной из самых популярных библиотек для построения предсказательных моделей:
import sklearn
Как написано в документации: sklearn built on NumPy, SciPy, and matplotlib. А с ними мы уже познакомились в частях 1, 3 и 5 нашей серии публикаций про подготовку к работе в Data Science.
Каноническим примером для "hello, world!" часто служат тренировочные датасеты iris и titanic. Первый стал популярен благодаря одному из первых архивов открытых датасетов UCI, разработанному в одном из университетов Калифорнии (отсюда и сокращение UCI — University of California, Irvine). Второй — благодаря доступным учебным соревнованиям на платформе Kaggle.
На Практическом курсе по Machine Learning мы начинаем знакомство с моделями с метрического алгоритма kNN (k ближайших соседей) и интуитивно понятной гипотезы компактности: похожие объекты чаще принадлежат одному классу, чем разным (мальчики похожи на мальчиков, а девочки на девочек). Например, рукописные цифры из датасета MNIST, представленные в двумерном пространстве, будут кластеризоваться (кучковаться) на 10 классов.

Предлагаем выбрать интересующий вас датасет, загрузить данные в формате признакового описания объектов (матрица train) и их разметки (вектор labels). В первую очередь проведите разведочный анализ данных: посчитайте и визуализируйте характеристики ваших данных, проверьте полноту заполнения и обсудите с вашим наставником необходимую предобработку и очистку данных. Если такого старшего товарища под рукой нет, то на первых порах подойдет какой-нибудь GPT.
Далее берем наш kNN из библиотеки sklearn:
from sklearn.neighbors import KNeighborsClassifier
knn = KNeighborsClassifier(n_neighbors=1)
Обучаем нашу модель:
knn.fit(train, labels)
И проверяем качество предсказания по метрике accuracy (даже и не пытайтесь прочитать 100500 статей про accuracy, precison, recall и F1, почти все объясняют это слишком математизированно; коротко, accuracy — количество (или процент) правильно предсказанных объектов):
from sklearn.metrics import accuracy_score
accuracy_score(labels, knn.predict(train))
Вот и всё, может показаться — fit-predict и 300k в секунду у вас кармане. В реальности вам еще нужно будет изучить и понять:
1. Какие семейства алгоритмов бывают, в чем их плюсы, минусы и какие у них ограничения применимости;
2. Почему код выше даёт практически 100% качество на любых датасетах, но в реальности работает гораздо хуже;
3. Какие метрики качества бывают, для чего и почему. Как они считаются и какая за ними стоит интуиция;
4. Что такое оценка качества и какая математика стоит за кросс-валидацией;
5. Что такое хорошо и что такое плохо (в мире ML). И много чего другого, на что уйдет не один месяц погружения.
Предлагаем похвалить себя за проделанную работу, за знакомство с обилием полезных библиотек, за первую обученную модель машинного обучения, и, возможно, за первый submit в Kaggle;
🎁 Пасхалка
Премия Тьюринга - аналог нобелевской премии в сфере Computer Science. Лауреаты премии получают признание и гонорар в размере 1 миллиона долларов.
Автор какого датасета из вышеупомянутых получил премию Тьюринга?
Полезная информация
Читать сначала: ч.1 введение в ML и библиотеки ML для Python
Предыдущий выпуск: ч.5 оптимизация ML алгоритмов
BigData Team: the way you learn best