Как стать автором
Обновить
3
0

Пользователь

Отправить сообщение

Изучаем Python за 6 месяцев. Подробный план обучения

Уровень сложности Простой
Время на прочтение 5 мин
Количество просмотров 193K

Простой и красивый синтаксис, множество библиотек под самые разные задачи и большое комьюнити делают Python одним из самых популярных языков программирования на сегодняшний день, который активно используется в data science и машинном обучении, веб-разработке и других областях программирования.

Когда я начал изучать питон, у меня возникло несколько вопросов.

Читать далее
Всего голосов 50: ↑29 и ↓21 +8
Комментарии 86

Кластеризация в ML: от теоретических основ популярных алгоритмов к их реализации с нуля на Python

Уровень сложности Сложный
Время на прочтение 34 мин
Количество просмотров 9.3K

Кластеризация — это набор методов без учителя для группировки данных по определённым критериям в так называемые кластеры, что позволяет выявлять сходства и различия между объектами, а также упрощать их анализ и визуализацию. Из-за частичного сходства в постановке задач с классификацией кластеризацию ещё называют unsupervised classification.

В данной статье описан не только принцип работы популярных алгоритмов кластеризации от простых к более продвинутым, но а также представлены их упрощённые реализации с нуля на Python, отражающие основную идею. Помимо этого, в конце каждого раздела указаны дополнительные источники для более глубокого ознакомления.

Читать далее
Всего голосов 36: ↑36 и ↓0 +36
Комментарии 2

Метод главных компонент (PCA). Принцип работы и реализация с нуля на Python

Уровень сложности Сложный
Время на прочтение 8 мин
Количество просмотров 7.1K

Метод главных компонент (Principal Component Analysis или же PCA) — алгоритм обучения без учителя, используемый для понижения размерности и выявления наиболее информативных признаков в данных. Его суть заключается в предположении о линейности отношений данных и их проекции на подпространство ортогональных векторов, в которых дисперсия будет максимальной.

Такие вектора называются главными компонентами и они определяют направления наибольшей изменчивости (информативности) данных. Альтернативно суть PCA можно определить как линейное проецирование, минимизирующее среднеквадратичное расстояние между исходными точками и их проекциями.

Читать далее
Всего голосов 10: ↑10 и ↓0 +10
Комментарии 0

Стекинг и блендинг в ML. Ключевые особенности и реализация с нуля на Python

Уровень сложности Сложный
Время на прочтение 11 мин
Количество просмотров 3.1K

Среди всех методов ансамблирования особое внимание заслуживают две очень мощные техники, известные как стекинг (stacked generalization) и блендинг, особенность которых заключается в возможности использования прогнозов не только однородных, но и сразу нескольких разных по природе алгоритмов в качестве обучающих данных для другой модели, на которой будет сделан итоговый прогноз. Например, прогнозы логистической регрессии и градиентного бустинга могут быть использованы для обучения случайного леса, на котором уже будет выполнен итоговый прогноз.

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

Читать далее
Всего голосов 7: ↑7 и ↓0 +7
Комментарии 0

Градиентный бустинг. Реализация с нуля на Python и разбор особенностей его модификаций (XGBoost, CatBoost, LightGBM)

Уровень сложности Сложный
Время на прочтение 28 мин
Количество просмотров 5.3K

На сегодняшний день градиентный бустинг (gradient boosting machine) является одним из основных production-решений при работе с табличными, неоднородными данными, поскольку обладает высокой производительностью и точностью, а если быть точнее, то его модификации, речь о которых пойдёт чуть позже.

В данной статье представлена не только реализация градиентного бустинга GBM с нуля на Python, но а также довольно подробно описаны ключевые особенности его наиболее популярных модификаций.

Читать далее
Всего голосов 20: ↑20 и ↓0 +20
Комментарии 7

Алгоритмы AdaBoost (SAMME & R2). Принцип работы и реализация с нуля на Python

Уровень сложности Сложный
Время на прочтение 11 мин
Количество просмотров 2.4K

Следующим мощным алгоритмом машинного обучения является AdaBoost (adaptive boosting), в основе которого лежит концепция бустинга, когда слабые базовые модели последовательно объединяются в одну сильную, исправляя ошибки предшественников.

В AdaBoost в качестве базовой модели используется пень решений (могут использоваться другие модели) — дерево с небольшой глубиной, которому присваивается вектор весов размера N, каждое значение которого соответствует определённому значению y_train и изначально равно 1 / N, где N — количество образцов в обучающей выборке. Каждый следующий пень обучается с учётом весов, рассчитанных на основе ошибок предыдущего прогноза. Также для каждого обученного пня отдельно рассчитывается вес, используемый для оценки важности итоговых прогнозов.

Читать далее
Всего голосов 8: ↑8 и ↓0 +8
Комментарии 2

Бэггинг и случайный лес. Ключевые особенности и реализация с нуля на Python

Уровень сложности Сложный
Время на прочтение 13 мин
Количество просмотров 3.1K

Далее пойдёт речь про бэггинг и мой самый любимый алгоритм — случайный лес. Не смотря на то, что это одни из самых первых алгоритмов среди семейства ансамблей, они до сих пор пользуются большой популярностью за счёт своей простоты и эффективности, зачастую не уступая бустингам в плане точности. О том, что это такое и как работает, далее в статье.

Читать далее
Всего голосов 10: ↑10 и ↓0 +10
Комментарии 0

Дерево решений (CART). От теоретических основ до продвинутых техник и реализации с нуля на Python

Уровень сложности Сложный
Время на прочтение 22 мин
Количество просмотров 3.6K

Дерево решений CART (Classification and Regressoin Tree) — алгоритм классификации и регрессии, основанный на бинарном дереве и являющийся фундаментальным компонентом случайного леса и бустингов, которые входят в число самых мощных алгоритмов машинного обучения на сегодняшний день. Деревья также могут быть не бинарными в зависимости от реализации. К другим популярным реализациям решающего дерева относятся следующие: ID3, C4.5, C5.0.

Читать далее
Всего голосов 9: ↑9 и ↓0 +9
Комментарии 0

Метод K-ближайших соседей (KNN). Принцип работы, разновидности и реализация с нуля на Python

Уровень сложности Средний
Время на прочтение 8 мин
Количество просмотров 3.9K

К-ближайших соседей (K-Nearest Neighbors или просто KNN) — алгоритм классификации и регрессии, основанный на гипотезе компактности, которая предполагает, что расположенные близко друг к другу объекты в пространстве признаков имеют схожие значения целевой переменной или принадлежат к одному классу.

Читать далее
Всего голосов 9: ↑8 и ↓1 +7
Комментарии 2

Метод опорных векторов (SVM). Подходы, принцип работы и реализация с нуля на Python

Уровень сложности Сложный
Время на прочтение 14 мин
Количество просмотров 4.8K

Метод опорных векторов (Support Vector Machines или просто SVM) — мощный и универсальный набор алгоритмов для работы с данными любой формы, применяемый не только для задач классификации и регрессии, но и также для выявления аномалий. В данной статье будут рассмотрены основные подходы к созданию SVM, принцип работы, а также реализации с нуля его наиболее популярных разновидностей.

Читать далее
Всего голосов 14: ↑14 и ↓0 +14
Комментарии 4

Наивный байесовский классификатор. Основная идея, модификации и реализация с нуля на Python

Уровень сложности Сложный
Время на прочтение 8 мин
Количество просмотров 4.2K

Наивный байесовский классификатор (Naive Bayes classifier) — вероятностный классификатор на основе формулы Байеса со строгим (наивным) предположением о независимости признаков между собой при заданном классе, что сильно упрощает задачу классификации из-за оценки одномерных вероятностных плотностей вместо одной многомерной.

Помимо теории и реализации с нуля на Python, в данной статье также будет приведён небольшой пример использования наивного Байеса в контексте фильтрации спама со всеми подробными расчётами вручную.

Читать далее
Всего голосов 10: ↑10 и ↓0 +10
Комментарии 0

Линейный дискриминантный анализ (LDA). Принцип работы и реализация с нуля на Python

Уровень сложности Сложный
Время на прочтение 7 мин
Количество просмотров 3.4K

Линейный дискриминантный анализ (Linear Discriminant Analysis или LDA) — алгоритм классификации и понижения размерности, позволяющий производить разделение классов наилучшим образом. Основная идея LDA заключается в предположении о многомерном нормальном распределении признаков внутри классов и поиске их линейного преобразования, которое максимизирует межклассовую дисперсию и минимизирует внутриклассовую. Другими словами, объекты разных классов должны иметь нормальное распределение и располагаться как можно дальше друг от друга, а одного класса — как можно ближе.

Читать далее
Всего голосов 8: ↑8 и ↓0 +8
Комментарии 0

Machine Learning: хорошая подборка книг для начинающего специалиста

Время на прочтение 4 мин
Количество просмотров 20K

Книга, как раньше, так и сейчас, — основной источник знаний. Во всяком случае, один из основных. И читать книги нужно специалисту любого профиля и уровня. Сегодня публикуем относительно небольшую подборку книг для специалистов по машинному обучению. Как всегда, просьба: если у вас есть собственные предпочтения по книгам в этой отрасли, расскажите о них в комментариях.

Читать далее
Всего голосов 16: ↑16 и ↓0 +16
Комментарии 3

Шпаргалка по Seaborn. Делаем матрицы красивыми

Уровень сложности Простой
Время на прочтение 8 мин
Количество просмотров 6.5K

Привет, Хабр!

Часто в работе аналитика данных при подготовке очередного отчета или презентации, колоссальное количество времени уходит именно на графическую составляющую подготовки.

Ведь все хотят сделать отчет не только информативным, но и визуально привлекательным.

В этой статье мы разберем основные шаги, которые помогут сделать ваши матрицы стильными и продающими ваши результаты, используя лишь две основные библиотеки визуализации в Python - Seaborn и Matplotlib.

Читать далее
Всего голосов 11: ↑10 и ↓1 +9
Комментарии 0

Книга «Алгоритмы. С примерами на Python»

Время на прочтение 11 мин
Количество просмотров 19K
image Привет, Хаброжители!

Когда нужно, чтобы программа работала быстро и занимала поменьше памяти, профессионального программиста выручают знание алгоритмов и практика их применения. Эта книга — как раз про практику. Ее автор, Джордж Хайнеман, предлагает краткое, но четкое и последовательное описание основных алгоритмов, которые можно эффективно использовать в большинстве языков программирования. О том, какими методами решаются различные вычислительные задачи, стоит знать и разработчикам, и тестировщикам, и интеграторам.
Читать дальше →
Всего голосов 8: ↑8 и ↓0 +8
Комментарии 2

Почему вам не нужно в IT

Уровень сложности Простой
Время на прочтение 4 мин
Количество просмотров 86K

Хочешь войти в айти? А насколько оно надо?

История вайтишника, взятая не с отзыва на обучающем сайте.

Краткое резюме о заблуждениях, которые были развеяны в процессе настоящей работы.

Читать далее
Всего голосов 154: ↑134 и ↓20 +114
Комментарии 378

Как сделать из Python-скрипта исполняемый файл

Уровень сложности Простой
Время на прочтение 3 мин
Количество просмотров 77K

Вы изучаете данные и хотите поделиться своим кодом Python с другими, не раскрывая исходный код и не требуя от них установки Python и других компонентов? Если да, то вас может быть интересна конвертация вашего скрипта Python в исполняемый файл.

Читать далее
Всего голосов 29: ↑18 и ↓11 +7
Комментарии 29

Линейная алгебра самым простым языком с добавлением фишек из Python (часть 1)

Уровень сложности Простой
Время на прочтение 3 мин
Количество просмотров 10K

Линейная алгебра является одним из самым интересных направлений в математике. В этой статье мы узнаем как выглядит матрица, как ее задать в Python и базовые операции с ними.

Читать далее
Всего голосов 20: ↑11 и ↓9 +2
Комментарии 9

Шпаргалка по SQL (postgres), которая выручает меня на собесах

Уровень сложности Простой
Время на прочтение 8 мин
Количество просмотров 180K

Привет, Хабр!

Я решил посвятить свою первую статью SQL. Вопросы, рассмотренные ниже мне задавали на собеседованиях на позицию python-разработчика. Естественно отвечать правильно получалось не всегда, а если точнее то чаще не правильно, однако проведя N часов в рефлексии я составил перечень ответов, которыми пользуюсь до сих пор.

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

Читать далее
Всего голосов 191: ↑184 и ↓7 +177
Комментарии 177

Задача коммивояжёра — ещё немного больше, ещё немного быстрее

Уровень сложности Средний
Время на прочтение 16 мин
Количество просмотров 7.6K

И снова здравствуйте, уважаемые читатели Хабра. Мы продолжаем наше путешествие в мир алгоритмов поиска оптимального пути.

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

Читать далее
Всего голосов 23: ↑23 и ↓0 +23
Комментарии 1

Информация

В рейтинге
Не участвует
Откуда
Россия
Зарегистрирован
Активность