Pull to refresh
96
-4
Мария Мансурова @miptgirl

Lead Data Analyst

Send message

Ооо да, тоже классная фишка

В документации такой возможности не встречала.

Описание затрат относилось к программированию на языке python (насколько я знаю, в R все также). Кроме большего числа телодвижений, построение ARIMA моделей все-таки требует каких-то знаний.


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

Имеется в виду конкретный месяц конкретного года: (df.month = M) & (df.year = Y)

Да, все последующие вопросы относятся ко всем данным.

Рекомендую посмотреть на примеры на странице с документацией по функции pairplot в библиотеке seaborn.


По гистограммам можно понять распределение признаков (нормальное оно или нет, сбалансированы ли классы и т.д.)


По scatter plots будет видна, например, линейная зависимость между признаками.


Если же отображать также классы разными цветами, то можно выявить в каком пространстве (паре признаков) классы будут хорошо отделяться друг от друга. Рассмотрим, pairplot для сортов ирисов: видно, классы сливаются в пространстве признаков (sepal_length, sepal_width), а в пространстве (petal_length, petal_width) достаточно легко провести разделяющие гиперплоскости.


Добрый вечер! Я не Юрий, но отвечу :)
Тетрадки с решениями никуда отправлять не нужно, достаточно ответить на вопросы в google-форме.

Все данные для примеров есть еще в репозитории mlcourse_open.

Спасибо за статью!


Может быть, пригодится моя статья на хабре про то, как парсить КиноПоиск: https://habrahabr.ru/post/280238/


Кроме того, у меня остался dataset и сырые html-ки (правда, он был собран полгода назад и не содержит последние новинки). Если интересно, могу поделиться для дальнейших изысканий :)

Соглашусь, что получается длиннее чем просто вызов df.plot(), который я чаще всего использую, но плюсы, о которых говорил Андрей feriat, пока что для меня перевешивают трудозатраты.


А вообще я использую простую функцию-обертку для стандартных графиков:


def plot_df(df, title):
    data = []
    for column in df.columns:
        trace = go.Scatter(
            x = df.index,
            y = df[column],
            mode = 'lines',
            name = column
        )
        data.append(trace)
    layout = dict(title = title)
    fig = dict(data = data, layout = layout)
    iplot(fig)
Спасибо за комментарий и замечание, поправила название.
Да, Вы правы, это могло бы ускорить время выгрузки данных, но тут нужно пробовать: сайт может забанить за слишком частые запросы с одного IP.
Да, верно: в полноценной production версии пришлось бы обвешать код дополнительными проверками на наличие тегов/атрибутов и обрабатывать exceptional cases
Requests возвращает ответ в виде Unicode
isinstance(r.text, unicode) # True

При попытке записать unicode строку в файл по умолчанию будет использована кодировка ASCII и ничего не получится (ASCII не может закодировать символы >128):
UnicodeEncodeError: 'ascii' codec can't encode characters in position 23-31: ordinal not in range(128).
Вот поэтому я явным образом указываю кодировку cp1251.

Если интересно, подробнее про кодировки в Python есть хорошая статья на Хабре.
Спасибо, действительно эти темы могут пригодиться при решении задач Web Scrapping'a — добавила в статью.
Стоит отметить, что BeautifulSoup выбирает оптимальный парсер из установленных:
If you don’t specify anything, you’ll get the best HTML parser that’s installed. Beautiful Soup ranks lxml’s parser as being the best, then html5lib’s, then Python’s built-in parser
(источник)

Я измерила время работы на своих данных и в среднем получила такие цифры
bs_html_parser: 0.43 секунды
bs_lxml_parser: 0.43 секунды (значимой разницы между lxml и python's default html-parser в BS на своих данных я не вижу)
lxml: 0.05 секунд (lxml явно выигрывает)
Спасибо за замечания, исправила. Первое, естественно, опечатка и не несет никакого смысла. Использование += вместо map гораздо лаконичнее — буду знать.
Спасибо за статью, очень познавательно и интересно.

В статье рассмотрено несколько Python библиотек: scikit-learn, statmodels и Patsy. Есть ли между ними какая-то принципиальная разница кроме синтаксиса (может, в функциональности или быстродействии)? С какой библиотеки лучше начинать свое изучение Machine Learning?
Про сравнение скорости этих подходов ответила в комментарии выше.
Отличный вопрос! Посмотреть можно тут (добавила в Notebook сравнение по производительности).

Стоит помнить, что Pandasql под капотом работает на SQLite и перегоняет данные из DataFrames в БД. Так что, ожидаемо, код на Pandasql будет работать дольше. В первых 2 примерах время выполнения кода на Pandas составляет порядка 0.01 секунды, а на Pandasql — 1 секунда (при этом рост времени выполнения от объема данных достаточно линейный).
В примере с JOIN'ом таблиц Pandasql выигрывает у Pandas'а (скорее всего, более эффективный JOIN таблиц в SQLite позволяет отыграть затраты на накладные расходы).



Information

Rating
Does not participate
Location
Москва, Москва и Московская обл., Россия
Works in
Date of birth
Registered
Activity