«Привет! Добро пожаловать! Спасибо, что приняла наш оффер. Пойдем знакомиться с твоей командой. У них как раз сейчас дейли. Ты вышла под конец спринта, поэтому пока работы для тебя не запланировали. Как стендап закончится, можешь почитать спеки, командные окиары и просмотреть бэклог на следующий спринт. По всем вопросам обращайся к своему пио.»Это бессмыслица какая-то или деловой язык? Попробуем разобраться.
Пользователь
Конспект по «Машинному обучению». Математическая статистика. Метод максимального правдоподобия
Вспомним некоторые определения математической статистики
Пусть задано вероятностное пространство .
Определение 1:
Случайной величиной , принимающей значения в множестве c -алгеброй подмножеств называется любая -измеримая функция , то есть выполняется условие .
Решаем уравнение простой линейной регрессии
Все рассматриваемые здесь способы решения уравнения основаны на методе наименьших квадратов. Обозначим способы следующим образом:
- Аналитическое решение
- Градиентный спуск
- Стохастический градиентный спуск
Для каждого из способов решения уравнения прямой, в статье приведены различные функции, которые в основном делятся на те, которые написаны без использования библиотеки NumPy и те, которые для проведения расчетов применяют NumPy. Считается, что умелое использование NumPy позволит сократить затраты на вычисления.
Весь код, приведенный в статье, написан на языке python 2.7 с использованием Jupyter Notebook. Исходный код и файл с данными выборки выложен на гитхабе
Статья в большей степени ориентирована как на начинающих, так и на тех, кто уже понемногу начал осваивать изучение весьма обширного раздела в искусственном интеллекте — машинного обучения.
Для иллюстрации материала используем очень простой пример.
7 бесплатных курсов для разработчиков от Microsoft
Кстати!
- Все курсы бесплатные (вы даже сможете попробовать платные продукты бесплатно);
- 6/7 на русском языке;
- Начать обучение можно мгновенно;
- По окончании вы получите бейдж об успешном прохождении обучения.
Присоединяйтесь, подробности под катом!
Новая серия статей
- 8 самых новых курсов Microsoft Learn
- 10 бесплатных курсов для начинающих специалистов
- 10 бесплатных курсов для продвинутых специалистов
Следующая серия статей, начало 2020 года
- 5 бесплатных курсов для ИИ-инженеров
- 6 бесплатных курсов для безопасников
- 7 бесплатных курсов для специалистов по работе с данными (Data-Science и Data-Engineering)
Эта серия статей, 2019 год
Понимаем теорему Байеса
Теорема Байеса – одна из самых известных теорем в статистике и теории вероятности. Даже если вы не работаете с расчетами количественных показателей, вероятно, вам в какой-то момент пришлось познакомиться с этой теоремой во время подготовки к экзамену.
P(A|B) = P(B|A) * P(A)/P(B)
Вот так она выглядит, но что это значит и как работает? Сегодня мы это узнаем и углубимся в теорему Байеса.
Кластеризация: алгоритмы k-means и c-means
Как и обещал, продолжаю серию публикаций о технологии Data Mining. Сегодня хочу рассказать о двух алгоритмах кластеризации (k-means и c-means), описать преимущества и недостатки, дать некоторые рекомендации по их использованию. Итак, поехали…
Кластеризация — это разделение множества входных векторов на группы (кластеры) по степени «схожести» друг на друга.
Кластеризация в Data Mining приобретает ценность тогда, когда она выступает одним из этапов анализа данных, построения законченного аналитического решения. Аналитику часто легче выделить группы схожих объектов, изучить их особенности и построить для каждой группы отдельную модель, чем создавать одну общую модель для всех данных. Таким приемом постоянно пользуются в маркетинге, выделяя группы клиентов, покупателей, товаров и разрабатывая для каждой из них отдельную стратегию (Википедия).
План прокачки для получения профессии Data engineer
Составил план обучения, думаю он будет полезен не только для меня. План ориентирован на самостоятельное изучение курсов. Приоритет отдается бесплатным курсам на русском языке.
Разделы:
- Алгоритмы и структуры данных. Ключевой раздел. Изучишь его — всё остальное тоже получится. Важно набить руку в написании кода и использовании основных структур и алгоритмов.
- Базы и хранилища данных, Business Intelligence. От алгоритмов переходим в хранению и обработке данных.
- Hadoop and Big Data. Когда база не входит на винчестер, или когда данные нужно анализировать, но Excel уже не может их загрузить начинаются большие данные. На мой взгляд, переходить к этому разделу нужно только после глубокого изучения двух предыдущих.
Градиентный спуск по косточкам
В интернете есть много статей с описанием алгоритма градиентного спуска. Здесь будет еще одна.
8 июля 1958 года The New York Times писала: «Психолог показывает эмбрион компьютера, разработанного, чтобы читать и становиться мудрее. Разработанный ВМФ… стоивший 2 миллиона долларов компьютер "704", обучился различать левое и правое после пятидесяти попыток… По утверждению ВМФ, они используют этот принцип, чтобы построить первую мыслящую машину класса "Перцептрон", которая сможет читать и писать; разработку планируется завершить через год, с общей стоимостью $100 000… Ученые предсказывают, что позже Перцептроны смогут распознавать людей и называть их по имени, мгновенно переводить устную и письменную речь с одного языка на другой. Мистер Розенблатт сказал, что в принципе возможно построить "мозги", которые смогут воспроизводить самих себя на конвейере и которые будут осознавать свое собственное существование» (цитата и перевод из книги С. Николенко, «Глубокое обучение, погружение в мир нейронный сетей»).
Ах уж эти журналисты, умеют заинтриговать. Очень интересно разобраться, что на самом деле представляет из себя мыслящая машина класса «Перцептрон».
Линейная регрессия и градиентный спуск
При этом есть все основания полагать, что показатель Y зависит от показателя X. Это положение может быть как научной гипотезой, так и основываться на элементарном здравом смысле. К примеру, возьмем продовольственные магазины.
Обозначим через:
X — торговую площадь(кв. м.)
Y — годовой товарооборот(млн. р.)
Очевидно, что чем выше торговая площадь, тем выше годовой товарооборот(предполагаем линейную зависимость).
Представим, что у нас есть данные о некоторых n магазинах(торговая площадь и годовой товарооборот) — наш датасет и k торговых площадей(X), для которых мы хотим предсказать годовой товарооборот(Y) — наша задача.
Выдвинем гипотезу, что наше значение Y зависит от X в виде: Y = a + b * X
Чтобы решить нашу задачу, мы должны подобрать коэффициенты a и b.
Грокаем PyTorch
У нас в предзаказе появилась долгожданная книга о библиотеке PyTorch.
Поскольку весь необходимый базовый материал о PyTorch вы узнаете из этой книги, мы напоминаем о пользе процесса под названием «grokking» или «углубленное постижение» той темы, которую вы хотите усвоить. В сегодняшней публикации мы расскажем, как Кай Арулкумаран (Kai Arulkumaran) грокнул PyTorch (без картинок). Добро пожаловать под кат.
О прелестях перехода на панель и не только
Как очевидно из заголовка, речь пойдет о библиотеке Panel, которая позволяет конвертировать Jupyter блокноты в безопасные веб приложения, где начинка скрыта от нетехнических пользователей, но остается свобода манипулирования внутренними параметрами, то есть не просто перестраивать данные, но и делать запросы в кернел. TL;DR Shiny for Python.
Подготовка данных в Data Science-проекте: рецепты для молодых хозяек
В предыдущей статье я рассказывала про структуру Data Science-проекта по материалам методологии IBM: как он устроен, из каких этапов состоит, какие задачи решаются на каждой стадии. Теперь я бы хотела сделать обзор самой трудоемкой стадии, которая может занимать до 90% общего времени проекта: это этапы, связанные с подготовкой данных -сбор, анализ и очистка.
В оригинальном описании методологии Data Science-проект сравнивается с приготовлением блюда, а аналитик - с шеф поваром. Соответственно, этап подготовки данных сравнивается с подготовкой продуктов: после того, как на этапе анализа бизнес-задачи мы определились с рецептом блюда, которое будем готовить, необходимо найти, собрать в одном месте, очистить и нарезать ингредиенты. Соответственно, от того, насколько качественно был выполнен этот этап, будет зависеть вкус блюда (предположим, что с рецептом мы угадали, тем более рецептов в открытом доступе полно). Работа с ингредиентами, то есть подготовка данных - это всегда ювелирное, трудоемкое и ответственное дело: один испорченный или недомытый продукт - и весь труд впустую.
Нескучный туториал по NumPy
Ровно с тех пор, как открыл для себя векторные операции в NumPy. Я хочу познакомить вас с функциями NumPy, которые чаще всего использую для обработки массивов данных и изображений. В конце статьи я покажу, как можно использовать инструментарий NumPy, чтобы выполнить свертку изображений без итераций (= очень быстро).
Не забываем про
import numpy as np
и поехали!
Интеграл Эйлера — Пуассона. Подробно о способах вычисления
В статье подробно, вплоть до самых мелочей, рассмотрены три способа взятия интеграла Эйлера-Пуассона. В одном из способов выводится вспомогательная формула редукции. Для нахождения некоторых сложных интегралов можно использовать формулы редукции, которые позволяют понизить степень подынтегрального выражения и вычислить соответствующие интегралы за конечное число шагов.
Способы создания гистограмм с помощью Python
Начнем с того, чего я сама по своей неопытности не знала очень долго: столбчатые диаграммы и гистограммы — разные вещи. Основное отличие состоит в том, что гистограмма показывает частотное распределение — мы задаем набор значений оси Ox, а по Oy всегда откладывается частота. В столбчатой диаграмме (которую в англоязычной литературе уместно было бы назвать barplot) мы задаем и значения оси абсцисс, и значения оси ординат.
Для демонстрации я буду использовать избитый набор данных библиотеки scikit learn Iris. Начнем c импортов:
import pandas as pd
import numpy as np
import matplotlib
import matplotlib.pyplot as plt
from sklearn import datasets
iris = datasets.load_iris()
Преобразуем набор данных iris в dataframe — так нам удобнее будет с ним работать в будущем.
data = pd.DataFrame(data= np.c_[iris['data'], iris['target']], columns= iris['feature_names'] + ['target'])
Из интересующих нас параметров data содержит информацию о длине чашелистиков и лепестков и ширине чашелистиков и лепестков.
Используем Matplotlib
Построение гистограммы
Cтроим обычную гистограмму, показывающую частотное распределение длин лепестков и чашелистиков:
fig, axs = plt.subplots(1, 2)
n_bins = len(data)
axs[0].hist(data['sepal length (cm)'], bins=n_bins)
axs[0].set_title('sepal length')
axs[1].hist(data['petal length (cm)'], bins=n_bins)
axs[1].set_title('petal length')
50 оттенков matplotlib — The Master Plots (с полным кодом на Python)
Встретимся «внутри»!
Как оптимизировать pandas при работе с большими datasetами (очерк)
Предлагается взглянуть на оптимизацию в миниатюре, дабы не вытаскивать из сети гигантские датасеты.
В качестве датасета будем использовать хабрастатистику с комментариями пользователей за 2019 г., которая является общедоступной благодаря одному трудолюбивому пользователю:
dataset
В качестве инфо-основы будет использоваться ранее переведенная статья с Хабра, в которой намешано много интересного.
Dell Latitude 5491: строгий корпоративный ноутбук с мощным процессором
Подборка @pythonetc, август 2019
Новая подборка советов про Python и программирование из моего авторского канала @pythonetc.
← Предыдущие подборки
Если у экземпляра класса нет атрибута с заданным именем, то он пытается обратиться к атрибуту класса с тем же именем.
>>> class A:
... x = 2
...
>>> A.x
2
>>> A().x
2
Полезная help-ссылка для работы с данными
Дальнейшее описание поста — это содержание help-ссылки. Поэтому, можете сразу ознакомиться с документом. Либо начать с её содержания, которую прикрепляю ниже.
Конечно, весь список книг/сервисов/видео и лекций в файле неполный. Поэтому предлагаю сделать этот пост ценнейшим — добавляйте в комментарии свои полезные ссылки, самые крутые из них я добавлю к себе в файл.
Information
- Rating
- Does not participate
- Registered
- Activity