Pull to refresh
3
0
Send message

Могут ли российские дашборды стать альтернативой Qlik/Tableau/PowerBI?

Reading time4 min
Views5.1K

Привет, Хабр! Меня зовут Максим Губин, и я работаю в компании Visiology. Недавно к нам поступил интересный запрос, и мне с коллегами пришлось сделать демонстрационный дашборд для российского сообщества BI-специалистов. Интересно, что визуализация была сделана не под конкретного заказчика, но зато она позволила специалистам оценить, смогут ли они работать с другой BI-системой, если нужно будет сменить ПО.

Да, многие компании сегодня рассматривают альтернативные BI-системы, но специалисты продолжают сомневаться в удобстве и функциональности российских продуктов и open-source решений. В этом посте я расскажу о демонстрации возможностей отечественных платформ для сообщества российских BI-специалистов (Russian BI Chat), а также покажу, как выглядит интерактивный дашборд от Visiology. Этот пост будет интересен тем, кто рассматривает различные варианты внедрения BI-инструментов, включая российские и open-source системы.

Читать далее
Total votes 10: ↑7 and ↓3+4
Comments10

Анализ и визуализация данных в финансах — анализ ETF с использованием Python

Reading time10 min
Views10K

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

1. О данных

Для анализа будем использовать данные ETF c базовой валютой USD: FXCN, FXRL, FXIT, FXUS и FXRU. Временной ряд рассмотрим за три года с 2018 по 2020 года. Само исследование проведем в Google Colaboratory.

Как обычно в начале импортируем все необходимые библиотеки для дальнейшей работы.

Читать далее
Total votes 5: ↑5 and ↓0+5
Comments11

Word2vec в картинках

Reading time14 min
Views134K


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

Мы пытаемся скопировать этот узор в нашей жизни и нашем обществе и потому любим ритм, песню, танец, различные радующие и утешающие нас формы. Однако можно разглядеть и опасность, таящуюся в поиске абсолютного совершенства, ибо очевидно, что совершенный узор — неизменен. И, приближаясь к совершенству, всё сущее идёт к смерти» — Дюна (1965)

Я считаю, что концепция вложений (embeddings) — одна из самых замечательных идей в машинном обучении. Если вы когда-нибудь использовали Siri, Google Assistant, Alexa, Google Translate или даже клавиатуру смартфона с предсказанием следующего слова, то уже работали с моделью обработки естественного языка на основе вложений. За последние десятилетия произошло значительное развитие этой концепции для нейронных моделей (последние разработки включают контекстуализированные вложения слов в передовых моделях, таких как BERT и GPT2).
Читать дальше →
Total votes 43: ↑43 and ↓0+43
Comments16

Functools – сила функций высшего порядка в Python

Reading time8 min
Views29K

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

Кэширование

Давайте начнем с самых простых, но довольно мощных функций модуля functools. Начнем с функций кэширования (а также декораторов) - lru_cache, cache и cached_property. Первая из них - lru_cache предоставляет кэш последних результатов выполнения функций, или другими словами, запоминает результат их работы:

Читать далее
Total votes 11: ↑9 and ↓2+7
Comments0

Какие бывают RFID протоколы и как их похекать с помощью Flipper Zero

Reading time12 min
Views126K
Flipper Zero RFID

Flipper Zero — проект карманного мультитула для хакеров в формфакторе тамагочи, который мы разрабатываем. Предыдущие посты [1],[2],[3],[4],[5],[6],[7],[8],[9],[10],[11],[12],[13],[14],[15],[16],[17],[18],[19]

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

  • Низкочастотные (Low Frequency: 125 кГц) — имеют большую дальность чтения. Небезопасные и тупые. Используются в примитивных системах контроля доступа: домофонах, офисных пропусках, абонементах в спортзал.
  • Высокочастотные (High Frequency: 13,56 МГц) — имеют меньшую дальность работы по сравнению с низкочастотными, и могут иметь сложные протоколы, средства шифрования, аутентификации, криптографии. Используются в бесконтактных банковских картах, проездных билетах, безопасных пропусках.

В статье мы сравним два основных типа RFID меток, разберем основные протоколы и научимся с ними работать с помощью Flipper Zero — читать, эмулировать, сохранять, перезаписывать. Я покажу как сохранить во Флиппер RFID-ключи от домофона, офиса, спортзала, и что Флиппер может прочитать из банковской карты.

Total votes 86: ↑86 and ↓0+86
Comments65

Пишем на Питоне сразу хорошо

Reading time8 min
Views45K

Привет Хабр!

Сегодня я сниму костюм аниматора и вместо развлечений расскажу вам немного за питон.

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

Читать далее
Total votes 42: ↑41 and ↓1+40
Comments46

Наглядно о том, как работает NumPy

Reading time8 min
Views30K

Есть тексты, похожие на вино или динамит: с годами они не стареют, а напротив приобретают вес и значимость. Сегодня, к старту флагманского курса о Data Science, мы решили поделиться переводом визуального учебного руководства о NumPy 2019 года, прочитав которое даже не слишком близкий к математике человек поймёт, как работает эта библиотека Python. Если вы не хотите долго объяснять NumPy, но делать это всё равно приходится, положите статью в закладки и она сэкономит ваше время.

Читать далее
Total votes 20: ↑19 and ↓1+18
Comments8

Самая крутая библиотека для Data Science, которую я нашёл в 2021 году

Reading time3 min
Views10K

Больше никогда не тратьте время на настройку гиперпараметров




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

Если вам также нравится автоматизировать скучные вещи, вам понравится библиотека, которую я собираюсь рассмотреть в этой статье.
Приятного чтения!
Total votes 10: ↑8 and ↓2+6
Comments8

Атаки на JSON Web Tokens

Reading time6 min
Views31K


Содержание:


  • Что такое JWT?
    • Заголовок
    • Полезная нагрузка
    • Подпись
    • Что такое SECRET_KEY?
  • Атаки на JWT:
    • Базовые атаки:
      1. Нет алгоритма
      2. Изменяем алгоритм с RS256 на HS256
      3. Без проверки подписи
      4. Взлом секретного ключа
      5. Использование произвольных файлов для проверки
    • Продвинутые атаки:
      1. SQL-инъекция
      2. Параметр поддельного заголовка
      3. Внедрение заголовка ответа HTTP
      4. Прочие уязвимости

Что такое JSON Web Token?


Веб-токен JSON обычно используется для авторизации в клиент-серверных приложениях. JWT состоит из трех элементов:


  • Заголовок
  • Полезная нагрузка
  • Подпись

Заголовок


Это объект JSON, который представляет собой метаданные токена. Чаще всего состоит из двух полей:


  • Тип токена
  • Алгоритм хэширования

Официальный сайт предлагает два алгоритма хэширования:


  • «HS256»
  • «RS256»
Читать дальше →
Total votes 20: ↑12 and ↓8+4
Comments25

Использование текстовых и извлеченных числовых признаков в задаче классификации комментариев

Reading time7 min
Views2.1K


Как выглядят данные?


Во-первых, посмотрим на имеющиеся тестовые и тренировочные данные (данные соревнования «Toxic comment classification challenge» на платформе kaggle.com). В тренировочных данных, в отличии от тестовых, имеются метки для классификации:


Рисунок 1 — Train data head

Из таблицы видно, что мы имеем в тренировочных данных 6 столбцов-меток («toxic», «severe_toxic», «obscene», «threat», «insult», «identity_hate»), где значение «1» свидетельствует о принадлежности комментария к классу, также присутствует столбец «comment_text», содержащий комментарий и столбец «id» – идентификатор комментария.

Читать дальше →
Rating0
Comments0

Быстрый градиентный бустинг с CatBoost

Reading time5 min
Views78K
Привет, хабровчане! Подготовили перевод статьи для будущих учеников базового курса Machine Learning.





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


Источник
Читать дальше →
Total votes 6: ↑6 and ↓0+6
Comments1

Python API в Delta Lake — простые и надежные операции Upsert и Delete

Reading time11 min
Views2.5K

Delta Lake 0.4.0 включает Python API и преобразование Parquet в таблицу Delta Lake на месте

Мы рады объявить о релизе Delta Lake 0.4.0, в котором представлен Python API, улучшающий манипулирование и управление данными в Delta-таблицах. Ключевыми фичами этого релиза являются:

- Python API для DML и служебных операций (#89) - теперь вы можете использовать Python API для обновления(update)/удаления(delete)/слияния(merge) данных и выполнения служебных операций (а именно, vacuum и history) в таблицах Delta Lake. Они отлично подходят для создания сложных рабочих нагрузок в Python, например, операций медленно меняющихся измерений (SCD - Slowly Changing Dimension), слияния изменений данных для репликации и операций upsert из потоковых запросов. Для получения более подробной информации читайте документацию.

- Convert-to-Delta (#78) - теперь вы можете преобразовать таблицу Parquet в таблицу Delta Lake на месте без перезаписи каких-либо данных. Эта функция отлично подходит для преобразования очень больших таблиц Parquet, которые было бы довольно затратно перезаписывать в Delta-таблицу. Более того, этот процесс обратим - вы можете преобразовать таблицу Parquet в таблицу Delta Lake, поработать с ней (например, удалить или объединить) и легко преобразовать ее обратно в таблицу Parquet. Для получения более подробной информации читайте документацию.

- SQL для служебных операций - теперь вы можете использовать SQL для выполнения служебных операций vacuum и history. Смотрите документацию для получения дополнительных сведений о том, как настроить Spark для выполнения этих специфичных для Delta Lake команд SQL.

Больше информации вы можете найти в примечаниях к релизу Delta Lake 0.4.0 и в документации по Delta Lake > Удаление, обновление и слияние таблиц.

Читать далее
Total votes 10: ↑8 and ↓2+6
Comments0

Как я узнал о тайных услугах Мегафона

Reading time3 min
Views125K
Добрый день всем!

Началось всё с того, что поздно вечером мне позвонила девушка из Мегафона и пролепетала что-то про скидочные купоны-талоны, которые появятся в моём личном кабинете. Мол, это просто партнерская программа и она не хочет, чтобы я пропустил такую прекрасную возможность.
Читать дальше →
Total votes 192: ↑179 and ↓13+166
Comments293

Совершеннолетняя журналистика: от России до Кремля

Reading time5 min
Views9.3K

Анализ публикаций Lenta.ru за 18 лет (с сентября 1999 по декабрь 2017 гг.) средствами python, sklearn, scipy, XGBoost, pymorphy2, nltk, gensim, MongoDB, Keras и TensorFlow.



В исследовании использованы данные из поста «Анализируй это — Lenta.ru» пользователя ildarchegg. Автор любезно предоставил 3 гигабайта статей в удобном формате, и я решил, что это прекрасная возможность протестировать некоторые методы текстовой обработки. Заодно, если повезёт, узнать что-то новое о российской журналистике, обществе и вообще.

Читать дальше →
Total votes 26: ↑25 and ↓1+24
Comments11

Голосовой бот + телефония на полном OpenSource. Часть 2 — учим бота слушать и говорить

Reading time5 min
Views11K

В первой части статьи я описал как создать простого чат бота, в этой статье мы научим нашего бота говорить и слушать русскую речь и переводить ее в текст.
Читать дальше →
Total votes 10: ↑10 and ↓0+10
Comments5

Shodan — темный близнец Google

Reading time7 min
Views67K

Источник
S in IoT stands for Security
Про Shodan уже не раз писали, в том числе и здесь. Я хочу предложить еще раз пробежаться по возможностям этого замечательного инструмента и принципам его работы. Сразу хочу оговориться, ситуация с этим поисковиком вполне классическая для исследователей в области информационной безопасности — инструмент может использоваться как с благими намерениями, так и сильно за чертой закона.

Disclamer:
Использование самого поисковика не является чем-то наказуемым. Успешный вход в незакрытую панель управления узла нефтяного терминала где-то в Сингапуре и эксперименты с открыванием заслонок — уже наказуемы. Могут прийти и постучаться недружелюбные люди. Поэтому будьте благоразумны и уважайте чужое пространство. Мы против применения Shodan для чего-то кроме исследовательских целей или анализа собственных систем.

Предлагаю еще раз пройтись по возможностям этого поисковика, особенностям его синтаксиса и попробовать найти что-то интересное. И давайте не будет печатать «Войну и Мир» на чужих сетевых принтерах.
Total votes 56: ↑56 and ↓0+56
Comments31

Напишем и поймем Decision Tree на Python с нуля! Часть 1. Краткий обзор

Reading time8 min
Views19K
Привет, Хабр! Представляю вашему вниманию перевод статьи "Pythonで0からディシジョンツリーを作って理解する (1. 概要編)".

1.1 Что такое Decision Tree?


1.1.1 Пример Decision Tree


Например, у нас есть следующий набор данных (дата сет): погода, температура, влажность, ветер, игра в гольф. В зависимости от погоды и остального, мы ходили (〇) или не ходили (×) играть в гольф. Предположим, что у нас есть 14 сложившихся вариантов.



Из этих данных мы можем составить структуру данных, показывающую, в каких случаях мы шли на гольф. Такая структура из-за своей ветвистой формы называется Decision Tree.



Например, если посмотреть на Decision Tree, изображенный на картинке выше, мы поймем, что сначала проверяли погоду. Если было ясно, мы проверяли влажность: если она высокая, то не шли играть в гольф, если низкая — шли. А если погода была облачная, то шли играть в гольф вне зависимости от других условий.
Читать дальше →
Total votes 14: ↑13 and ↓1+12
Comments8

Мониторинг демон на Asyncio + Dependency Injector — руководство по применению dependency injection

Reading time14 min
Views6K
Привет,

Я создатель Dependency Injector. Это dependency injection фреймворк для Python.

Это еще одно руководство по построению приложений с помощью Dependency Injector.

Сегодня хочу показать как можно построить асинхронный демон на базе модуля asyncio.

Руководство состоит из таких частей:
Читать дальше →
Total votes 3: ↑3 and ↓0+3
Comments16

Пишем веб сервис на Python с помощью FastAPI

Reading time17 min
Views112K
image

Знаю, знаю, наверное вы сейчас думаете «что, опять?!».

Да, на Хабре уже неоднократно писали о фреймворке FastAPI. Но я предлагаю рассмотреть этот инструмент немного подробнее и написать API своего собственного мини Хабра без кармы и рейтингов, зато с блэкджеком и с тестами, аутентификацией, миграциями и асинхронной работой с БД.
Читать дальше →
Total votes 24: ↑23 and ↓1+22
Comments27

10 вещей, которые вы могли не знать о scikit-learn

Reading time7 min
Views14K
В этой переведенной статье ее автор, Rebecca Vickery, делится интересными функциями scikit-learn. Оригинал опубликован в блоге towardsdatascience.com.


Фото с сайта Unsplash. Автор: Sasha • Stories

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

Этот проект, разработанный Дэвидом Курнапо (David Cournapeau), появился на свет в рамках программы Google Summer of Code и был выпущен в 2010 году. С момента своего создания библиотека превратилась в инфраструктуру с широкими возможностями для создания моделей машинного обучения. Новые функции позволяют решать еще больше задач и повышают удобство использования. В этой статье я расскажу о десяти самых интересных функциях, о которых вы могли не знать.
Читать дальше →
Total votes 8: ↑8 and ↓0+8
Comments0

Information

Rating
Does not participate
Registered
Activity