Алгоритмы машинного обучения простым языком. Часть 1
Как недавнего выпускника буткемпа по машинному обучению от Flatiron School меня буквально затопило советами о том, как стать асом в прохождении интервью. Я заметил,...
Анализ социальных сетей: от теории графов до приложений на Python
Теория сетей
Начнем с краткого введения в базовые компоненты сети: узлы и ребра.
Узлы (например, A,B,C,D,E) обычно представляют объекты в сети и содержат собственные и сетевые...
Новая библиотека превосходит Pandas по производительности
Выпуск pandas датируется 2008 годом, и написана она была на Python, Cython и Си. Сегодня мы сравниваем производительность этой всем известной библиотеки с новой...
Моделирование экспоненциального роста
Чтобы лучше усвоить материал, рекомендуем вам использовать данные для примера и Python Notebook.
Почему именно экспоненциальный рост?
Экспоненциальный рост — это математическая функция, которая может использоваться в нескольких...
Биномиальное распределение
Все знают и любят нормальное распределение. Оно используется в инвестиционном моделировании, A/B-тестах и улучшении производственных процессов (шесть сигм). Но мало кто хорошо знаком с...
10 идиоматических приемов для эффективного программирования на Python
Программирование само по себе очень увлекательное занятие, а программирование на Python увлекательнее вдвойне, поскольку в данном языке существует много разных способов реализации одних и...
Основные концепции и структуры Python, которые должен знать каждый серьёзный программист
Генераторы
Создание итератора в Python требует большой работы. Класс (в ООП) должен быть построен с применением методов __iter__() и __next__(), внутренние состояния должны быть сохранены...
Байесовская статистика для специалистов по данным
Возможно, вы помните теорему Байеса как громоздкое уравнение из курса статистики, которое вам нужно было заучить. Но за ним кроется нечто большее. Эта теорема...
Анализ аудиоданных с помощью глубокого обучения и Python (часть 2)
Предыдущая часть: Часть 1
Сверточные нейронные сети (CNN) схожи с обычными нейронными сетями: они состоят из нейронов с обучаемыми весами и сдвигами. Каждый нейрон получает...
Лучшие фреймворки для ИИ и машинного обучения в веб-разработке
Конкуренция на технологическом рынке чрезвычайно высока, и компании стремятся получить преимущество с помощью веб-дизайна и разработки.
Чтобы веб-приложение для бизнеса было современным и конкурентоспособным, при...
Разбор 7 ошибок Python
Как только задачи, стоящие перед специалистами по данным, переходят из родной научной области в сферу разработки ПО, решать их становится все труднее. И хотя...
Python в 2021: расписание релизов и основные функции
На данный момент мы используем Python 3.8, а последняя стабильная версия 3.8.4 была выпущена совсем недавно. Python 3.9 уже находится на стадии бета-тестирования, а...
Я хочу изучать AI и машинное обучение. С чего мне начать?
Когда-то я работал в Apple Store и мечтал изменить свою жизнь: вместо обслуживания техники Apple, мне хотелось ее создавать.
Я начал изучать машинное обучение (ML)...
6 лучших JS-библиотек для визуализации данных и создания отчетов
Веб-инструменты для отчетов используются для представления, создания и изменения отчетов с помощью веб-интерфейса — веб-браузера. Эти инструменты могут быть встроены в сторонние приложения или...
Почему Python используется для машинного обучения?
Скорее всего, вы знаете, что Python — это самый популярный высокоуровневый язык программирования с динамической семантикой. Он довольно прост для работы и чтения: его использование снижает...
Статистика - это грамматика науки о данных. Часть 1
Повторение статистики для начала путешествия по науке о данных
Часть 1, Часть 2, Часть 3, Часть 4, Часть 5
«Статистика — это грамматика науки»
Данное высказывание приписывают английскому математику...
4 простые визуализации данных в Python
Визуализация данных является неотъемлемой частью любых проектов в науке о данных или в проектах машинного обучения. Для того, чтобы получить некоторое представление об определенных...
Структуры данных: асимптотический анализ
Асимптотический анализ алгоритма - это определение математических границ/рамок его производительности во время выполнения, позволяющее очень легко находить время работы алгоритма в лучшем, среднем и худшем случае.
Почему в базе данных происходит взаимоблокировка?
Круг вопросов для обсуждения
Попробуем объяснить, что такое взаимная блокировка и почему она возникает в базе данных.
Напишем SQL-инструкции и искусственно вызовем взаимоблокировку, а также обсудим...
10 трюков для мастеров Python
На первый взгляд Python может показаться простым языком, который любой может освоить, и многих удивляет, какого мастерства можно достичь в этом языке. Python один...
Квантовые вычисления для всех
Квантовые вычисления. Наряду с квантовой запутанностью и квантовой телепортацией это модное учёное словечко широко распространено в научной фантастике и научно-популярных СМИ. Но что оно...
Основы обработки естественного языка за 10 минут
Вероятно, вы находитесь здесь потому, что хотите как можно скорее научиться обработке естественного языка. Без лишних слов приступим к процессу.
Первым делом следует:
1. Установить зависимости...
Заставляем глубокие нейронные сети рисовать, чтобы понять, как они работают
Для нас до сих пор остаётся загадкой то, почему глубокое обучение так хорошо работает. Несмотря на то, что имеется куча догадок, почему глубокие нейронные...
Что такое тензор?
Концепция тензора была создана в 1900 году двумя итальянскими математиками — Туллио Леви-Чивита и Грегорио Риччи-Курбастро, и, как это обычно бывает, основывалась на работе других математиков....
5 секретов наилучшего использования кортежей в Python
Python, являясь языком программирования общего назначения, предоставляет набор встроенных типов данных, включая int, str, tuple, list, dict и set. Четыре последних считаются контейнерами, так...
Экспоненциальное распределение
Мы всегда начинаем с вопроса “почему”, прежде чем переходить к формулам. Если вы понимаете, почему что-то работает, вы с большей вероятностью будете применять это...
Алгоритм поиска A*
Пошаговый разбор алгоритма поиска А*
Поиск короткого пути — это то, чем каждый занимается ежедневно. Алгоритм А *— один из самых популярных методов решения задач на поиск кратчайшего...
17 кодовых блоков, которые нужно знать каждому специалисту по обработке данных
17 кодовых блоков, которые помогут вам эффективно справляться с большинством задач и проектов. Разберем условные и итерационные циклы, списки, словари, операторы break и continue многое другое.
Почему люди подсаживаются на TikTok? Алгоритм ИИ, который вас подловил
Tick Tok стремительно завоёвывает мир. Согласно данным Sensor Tower, это приложение для коротких видео было загружено более 2 миллиардов раз с App Store и...
Все что нужно знать о древовидных структурах данных
Когда вы впервые учитесь кодировать, общепринято изучать массивы в качестве «основной структуры данных».
В конце концов, вы также изучаете хэш-таблицы. Для получения степени по «Компьютерным...
Эйнштейн и самая красивая из всех теорий
Британский физик-теоретик Поль Дирак (1902–1984), один из основоположников квантовой механики, однажды написал:
«Было трудно примирить ньютоновскую теорию гравитации, в соответствии с которой гравитационное взаимодействие распространяется...
Как с помощью Python создавать математическую мультипликацию типа 3Blue1Brown
Для чего нужна математическая мультипликация?
Вы когда-нибудь пытались освоить математические концепции алгоритма машинного обучения с помощью образовательного ресурса 3Blue1Brown? 3Blue1Brown — это знаменитый математический канал...
Контейнеры это просто. Контейнерные технологии для начинающих
Вступление
Будь вы студент или уже состоявшийся разработчик, вы наверняка слышали о «контейнерах». Более того, вероятно вы слышали, что контейнеры — это «лёгкие» виртуальные машины....
14 наборов данных для датасайенс-проектов
Представляем 14 наборов данных, которые пригодятся для различных целей, например классификации текстов и изображений, создании системы рекомендаций, а также визуализации данных.
Для чего нужны стеки?
Когда я узнал, что такое стек, мне стало интересно его практическое применение. Оказалось, что чаще всего эта структура используется для имплементации операции “Отмена” (...
3 простых шага для оптимизации гиперпараметров в любом Python-скрипте
Итак, вы написали Python-скрипт, который обучает и оценивает модель машинного обучения. И теперь вам хочется оптимизировать гиперпараметры и повысить производительность модели.
Я помогу!
В данной статье...
Нет жесткому кодированию конфиденциальных данных в приложениях Python!
Защита конфиденциальных параметров - одна из приоритетных задач в IT-сфере. Мы расскажем, как обезопасить их в приложениях Python.
Статистика - это грамматика науки о данных. Часть 4
Повторение статистики для начала путешествия по науке о данных
Часть 1, Часть 2, Часть 3, Часть 4, Часть 5
Введение
Предположим, у нас есть диаграмма...
Теория вероятностей, или Не стоит полагаться на случай
Понятия вероятности и случайности затрагивают практически все аспекты нашей жизни. Большинство своих решений мы принимаем, исходя из вероятности наиболее благоприятных для нас событий. Поэтому...
Распознавание лиц с помощью OpenCV
Читая очередную статью по OpenCV, я обнаружил, что в этой библиотеке есть собственная нейросеть для распознавания лиц с высокой точностью.
Я решил опробовать OpenCV и...
Анализ текста средствами языка программирования R
“Люди часто восхваляют классические произведения, даже не читая их”, — Марк Твен.
Надеюсь, что ваш опыт опровергает это высказывание Марка Твена, а также верю, что вы всё-таки...
Бета-распределение: интуиция, примеры, вывод
Часть 1, Часть 2, Часть 3
Бета-распределение — это распределение вероятностей по вероятностям. Мы можем использовать его для моделирования вероятностей: рейтинг кликов вашей рекламы, коэффициент конверсии клиентов,...
Новый модуль временных рядов PyCaret
Новый модуль PyCaret отличается простотой и функциональностью. Рассмотрим его в действии.
Байесовский вывод - интуиция и примеры
Часть 1, Часть 2, Часть 3
Зачем кто-то вообще изобрел байесовский вывод?
Чтобы обновлять вероятность по мере поступления новых данных.
Суть байесовского вывода в том, чтобы объединить...
ClickHouse + Kafka = ❤
Узнаем, как внедрить в проект средство аналитики, на что способен ClickHouse в сочетании с Kafka и для чего нужны здесь материализованные представления. Построим небольшую аналитическую систему.
Разработка инфраструктуры и торговых ботов для ИИ-трейдинга
Примечание: данная статья преследует исключительно образовательные и развлекательные цели, не являясь прямой финансовой рекомендацией. Редакция каналов Better Programming и Nuances of Programming не несет...
Инструменты для быстрого овладения наукой о данных
Компании типа BlobCity предоставляют множество шаблонов кода ИИ/МО. Этот инструментарий способен как облегчить работу опытных специалистов в области науки о данных, так и ускорить профессиональное становление новичков.
Тематическое моделирование с помощью BERT
Часто, когда заказчики обращаются ко мне с просьбой провести анализ их продукта на основе НЛП, они задают один и тот же вопрос:
«Какая тема чаще...
Нейронная сеть с нуля при помощи numpy
Здесь можно посмотреть полный код.
Для того, чтобы полностью понять статью, нужны базовые знания принципов работы с numpy, линейной алгебры, работы с матрицами, дифференциации и...
Как Jupyter превратился в полноценную IDE
Jupyter Notebook - удобный инструмент для поэтапного развития идей по разработке ПО. Специалисты по данным используют его для записи процесса своей работы, экспериментов с...
Настройка Data Science окружения на вашем компьютере
После прохождения различных курсов и обучения на различных образовательных платформах, вроде Datacamp, вашим следующим шагом станет использование полученных знаний о Python, R, Git или...
19 скрытых фич Sklearn, о которых вам следует знать
Сегодня поговорим о 19 функциях Sklearn, о которых вы не слышали. Они представляют собой элегантную замену обычных операций, которые вы выполняете вручную.
Сумасшедший способ проверить, является ли число простым, используя регулярное выражение
В поисках алгоритмов для выявления простых чисел, вы где-нибудь, да встречали подобное выражение:
Что это? Это способ проверки, является ли число простым. Вам даже не...
Тестирование больших данных: руководство для начинающих
Что такое тестирование больших данных, и с какими проблемами можно столкнуться в этом процессе? Расскажем про основные типы, способы и инструменты тестирования больших данных.
4 альтернативы Pandas: ускоренное выполнение анализа данных
Бенчмарк производительности популярных инструментов анализа данных заставит вас иногда отказываться от Pandas. Каждый из этих инструментов - Polars, DuckDB, Vaex и Modin - при анализе данных на кластере машин работает гораздо быстрее, чем Pandas.
Введение в потоки Redis
Redis — это хранилище структуры данных в памяти, в основном используемое в качестве базы данных, кэша и брокера сообщений. Система Redis чрезвычайно популярна среди...
Как собрать кубик Рубика с помощью генетических алгоритмов
Введение
В качестве эксперимента я решил собрать кубик Рубика с помощью генетических алгоритмов (ГА). Их основная концепция заключается в том, чтобы найти решение путем имитации...
Классы данных в Python и их ключевые особенности
Значимым компонентом любого проекта в программировании являются данные, с которыми неизбежно взаимодействуют все программы. Например, при разработке веб-сайта вы должны представить тексты и изображения...
Декораторы в Python за три минуты
Декораторы представляют собой удобный для восприятия человеком способ расширения возможностей функции, метода или класса извне. Использование декораторов особенно полезно при декорировании (т. е. расширении)...
Структуры данных: связный список
Связный список - последовательность структур данных, связанных ссылками - вторая по частоте использования после массива структура данных. Рассмотрим основные операции и покажем пример на языке С.
Где и как применить Python на практике? Три основные сферы его применения
Если вы собираетесь изучать такой язык программирования, как Python, или уже изучаете — у вас может возникнуть резонный вопрос:
«Для решения каких конкретных задач я могу использовать...
Краткое руководство по созданию наборов данных с помощью Python
Хотите собирать и хранить данные своих пользователей? Краткий гайд поможет вам в три шага создать собственный пользовательский датасет. Для этого вам понадобится менее часа и минимальный набор инструментов, включающий API Google Sheets и Streamlit.
Развёртывание модели машинного обучения в виде REST API
В статье вы узнаете, как разворачивать модели машинного обучения и составлять прогнозы при помощи любого языка программирования, который вам нравится. Конечно, за основу вы...
Исследование данных - основные понятия
Данные многое вам скажут, если вы готовы слушать.
- Джим Бергесон
Данные можно назвать Богом. Все на свете проверяется только благодаря данным. Вы не сможете претендовать...
Как за секунды обрабатывать DataFrame с миллиардами строк
Анализ больших данных в Python переживает свой ренессанс. Всё началось с NumPy, которая тоже в каком-то смысле причастна к инструменту, с которыми я вас...
5 рекомендаций по оптимизации запросов SQL
Никогда не поздно проанализировать свой стиль программирования запросов SQL, выявить недостатки и исправить. Рассмотрим 5 способ улучшить запросы и повысить свою продуктивность.
Как создавать анимированные графы в Python
Matplotlib и Seaborn — вполне приличные Python-библиотеки для создания превосходных графиков. Но такие графики получаются статичными, и крайне трудно подобрать для них красивое представление данных или...
Стилизация фотографий под мультфильмы с помощью Python
Чтобы придать фотографиям особый эффект рисованного мультфильма, можно применить на них методы машинного обучения Python
Как вы, наверное, знаете, рисование или создание мультфильмов не всегда делается...
Простыми словами о рекурсии
В программировании рекурсия, или же рекурсивная функция — это такая функция, которая вызывает саму себя.
Рекурсию также можно сравнить с матрёшкой. Первая кукла самая большая, за ней...
14 проектов по науке о данных для вашего 14-дневного карантина
Проекты по визуализации
Возможно, самые короткие по срокам проекты визуализации данных! Ниже приведены три интересных набора данных, с помощью которых вы сможете пополнить свои портфолио,...
Топ — 9 фреймворков в мире искусственного интеллекта
Сначала были роботы, затем ассистенты Google Now и Siri, а сегодня новый ИИ — Google Duplex. Похоже, искусственный интеллект добился определенных успехов в том чтобы стать...
Структуры данных: кольцевой (циклический, замкнутый) связный список
Кольцевой связный список - это разновидность связного списка, при которой первый элемент указывает на последний, а последний - на первый. Кольцевой связный список можно сделать как из односвязного , так и из двусвязного списка.
5 минут на машинное обучение
Теорема и наивный классификатор Байеса
Наивный классификатор Байеса — это набор простых и эффективных алгоритмов машинного обучения для решения различных задач классификации и регрессии. Эта...
Как составить Data Science портфолио? Часть 1
Как получить работу в области Data Science? Во-первых, нужно знать основы статистики, машинного обучения, программирования и т.д. Во-вторых, вам нужно будет составить портфолио. Да, несомненно,...
Алгоритм XGBoost: пусть он царствует долго!
Хоть с того момента и прошло 15 лет, я до сих пор помню первый день на моей первой работе. Я только-только выпустился из ВУЗа...
Объясняем производящую функцию моментов
1. Начнем с главного — что такое “момент” в вероятности и статистике?
Скажем, нас интересует случайная переменная X.
Моменты — это ожидаемые значения X, например, E(X), E(X²), E(X³) и т.д.
...
4 пакета Python для причинно-следственного анализа данных
Эти 4 пакета Python - Causalinference, Causallib, Causalimpact и DoWhy - помогут овладеть навыками причинно-следственного анализа. Изучив эту область экспериментальной статистики, вы сможете устанавливать и обосновывать причинно-следственные связи при исследовании самых различных данных.
Сопряженное априорное распределение
Часть 1, Часть 2, Часть 3
1. Что такое априорное распределение?
Априорная вероятность — это вероятность события до того, как мы получили дополнительные данные. В байесовском выводе априорное распределение — это...
Шесть рекомендаций для начинающих специалистов по Data Science
Навыки, необходимые для работы
Сфера data science пользуется большим спросом, однако для трудоустройства вам потребуется опыт работы. Несмотря на это, у множества лучших специалистов стоит самый...
Оптимизация работы баз данных с PostgreSQL 12
PostgreSQL претендует на звание самой передовой базы данных с открытым исходным кодом в мире, и вполне заслуженно. Основные технические возможности, производительность и рабочие характеристики...
Погружение в графы
Графы в большинстве своем представляют собой неупорядоченные деревья. В основном это утверждение касается ненаправленных и невзвешенных графов. Однако оно остается в силе и в...
5 подводных камней нереляционных баз данных
Когда речь заходит о нереляционных базах данных, не все видят две стороны одной медали: многие упускают из виду то, что у этих баз данных...
Почему теория графов круче, чем вы думали
Что такое графы?
Спросите специалиста из любой области науки, как работает предмет его исследований. Наверняка он предложит вам рассмотреть некую систему с существующими внутри нее связями....
Машинное обучение. С чего начать? Часть 2
Предыдущая часть: Часть 1
Очистка данных
В любом проекте приходится заниматься «чисткой данных». К следующему этапу можно переходить только после приведения в порядок ваших данных.
Чаще всего...
6 алгоритмов машинного обучения, которые должен знать каждый исследователь данных
Машинное обучение - одна из тех областей, которые должен знать каждый, кто изучает науку о данных. Предлагаем описание 6 ключевых алгоритмов контролируемого МО, изложенное простым, доступным языком.
5 базовых статистических концептов, которые должен знать каждый специалист по обработке данных
В таком искусстве, как наука о данных, статистика может оказаться мощным инструментом. В широком смысле, статистика означает использование математики для технического анализа данных. Базовая...
7 трюков pandas для науки о данных
1. Анализ образцов датафреймов с помощью df.groupby().__iter__()
Обычно исследовать набор данных строка за строкой или группа за группой в блокнотах Jupyter сложнее, чем в Excel....
Годовой план изучения науки о данных
2020-ый наконец-то закончился, а значит уже можно начать планировать 2021-ый. Для начала зададим себе вопрос: чему мы хотим научиться в этом году?
Многие выбирают в...
NoSQL убивает SQL?
На прошлой неделе мой друг переслал мне письмо от успешного предпринимателя, который утверждает, что “SQL мёртв”.
Предприниматель убеждён, что чрезвычайно популярные NoSQL базы данных, такие...
Как построить идеальное хранилище данных
Может показаться, что в последние годы многое изменилось в сфере сбора и хранения данных. Такие вещи, как NoSQL, «Big Data», различные графические и потоковые...
Простое руководство по визуализации данных в машинном обучении
Создание информационных визуализаций - важнейший процесс, помогающий определить эффективность модели МО. Библиотека Yellowbrick, обладающая богатым функционалом, значительно упростит этот процесс.
25 прикольных вопросов для собеседования по машинному обучению
Могут ли вопросы на собеседовании по машинному обучению быть одновременно прикольными и глубокими?
25 вопросов, которые не просто проверят знания и навыки кандидата, но и...
Структуры данных: основы алгоритмов
Как написать алгоритм? Это, скорее, зависит от задачи и ресурсов. Четко определенных стандартов их написания не существует. Рассмотрим же характеристики алгоритмов и их сложности.
4 шага к совершенству: правила для идеальных функций
Функции — это блоки кода, выполняющие требуемые действия. Они являются фундаментальными составляющими любого проекта разработки. Без них мы не сможем ни обработать данные, ни представить их...
Python 3.9
Что нового ожидает нас в этой версии и в будущих релизах?
Вышел полный релиз Python 3.9!
Очевидно, что эта версия знаменует собой переломный момент в эволюции Python....
Руководство по структурам данных и алгоритмам: введение и настройка среды
Различные типы структур данных так или иначе используются почти в каждом корпоративном приложении. Пройдя это руководство, вы получите четкое представление о структурах данных, необходимое для понимания сложности приложений корпоративного уровня.
MongoDB: введение, преимущества и настройка среды
В данной серии руководств объясним ключевые концепции MongoDB, необходимые для создания и развертывания высоко масштабируемой базы данных с акцентом на производительность.
Статистика - это грамматика науки о данных. Часть 5
Часть 1, Часть 2, Часть 3, Часть 4, Часть 5
Условная вероятность
Условная вероятность — это вероятность наступления некоторого события, при условии, что другое событие уже произошло.
Условная вероятность...
Топ-10 ошибок анализа данных
Аналитик данных — лучший в статистике среди программистов и лучший программист среди статистиков. В этом топе обсудим, как программисту стать лучше в статистике.
Примеры, код...
9 важных сниппетов Python для оптимизации работы со скриптами
Ускорение работы на Python
Написание скриптов на Python для решения самых разных задач — одно из моих любимых занятий. Когда самостоятельно доходишь до ответа, который предлагает...
Методы wait(), notify() и notifyAll() в Java
Ознакомьтесь с ключевыми аспектами языка Java: межпотоковое взаимодействие, синхронизация, многопотоковая обработка. Особое внимание обратите на работу методов wait(), notify() и notifyAll() и рекомендуемые практики их применения.
Как построить масштабируемый API на Go с помощью Gin
Пошаговое руководство по проектированию API, от с создания базы данных и прописывания основных маршрутов до тестирования его работоспособности.
Как установить несколько версий Python в WSL2 и управлять ими
Открываем PowerShell
PowerShell — это командная оболочка и объектно-ориентированный язык сценариев, который используется для настройки системных параметров и автоматизации задач администрирования. В операционной системе практически...
React Single Page Application и React-Router для начинающих
Ваше первое React SPA с нуля: всё, что нужно знать про хуки UseParams, UseLocation и UseHistory, про маршрутизацию и панель навигации
Android Networking в 2019 - Retrofit с Kotlin Coroutines
В 2018 году произошли серьезные изменения мира Android, особенно касательно Android Networking. Многие перешли от использования RxJava к Kotlin Coroutines, для обработки многопоточности в...