Pull to refresh
30
0.2
Maxim W @maximw

backend developer

Send message

Хотите стать «учёным по данным»? Тогда не начинайте с машинного обучения

Reading time4 min
Views9.4K

Самое большое заблуждение начинающих data scientist'ов, или что лучше стоит делать вместо изучения машинного обучения.

Читать далее
Total votes 12: ↑8 and ↓4+8
Comments22

Как мы сделали автоматический подбор похожих товаров

Reading time7 min
Views5.5K
image

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

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

Как определить, что товары похожи? Можно сравнить характеристики, чем больше совпало, тем более похожи товары. Но это не работает так просто, к сожалению. На практике оказывается, что, как правило, почти не бывает товаров, где заполнены все характеристики. 80% — хороший результат. Во-вторых, какие-то характеристики важнее, чем другие. Например, телевизор с диагональю в 65 дюймов совершенно не похож на телевизор с диагональю 22 дюйма, хотя у обоих по 2 USB-порта. Или, другой пример, металлический корпус и алюминиевый корпус гораздо ближе друг к другу, чем к пластику, хотя это три разных значения.
Читать дальше →
Total votes 6: ↑6 and ↓0+6
Comments6

Пишем CRUD-приложение на Go с помощью Mysql, GORM, Echo, Clean Architecture

Reading time5 min
Views22K

Начнем сначала


В этой статье будет сказ о том, как на Clean Architecture написать API с функциями CR(U)D, где в качестве БД взят Mysql, фреймворк – Echo, ORMapper – GORM.

Что делаем


API с функциями Create, Read, (Update), Delete. Обновление на самом деле реализовать особо не удалось, милости прошу попробовать самостоятельно.

Целевая аудитория


Те разработчики, которые хотят создать простой API после освоения Go.
Читать дальше →
Total votes 12: ↑6 and ↓6+7
Comments16

5 способов краулинга веб-сайта

Reading time3 min
Views18K


Из Википедии веб-краулер или паук – бот, который с просматривает всемирную паутину, как правило, с целью индексации. Поисковики и другие веб-сайты используют краулеры для обновления своего содержимого или индексации содержимого других сайтов.


Давайте начнем!!


Metasploit


Вспомогательный поисковый модуль Metasploit представляет собой модульный поисковый робот, который будет использоваться вместе с wmap или автономно.


use auxiliary/crawler/msfcrawler
msf auxiliary(msfcrawler) > set rhosts www.example.com
msf auxiliary(msfcrawler) > exploit

Видно, что был запущен сканер, с помощью которого можно найти скрытые файлы на любом веб-сайте, например:


  • about.php
  • jquery contact form
  • html и т. д.
Читать дальше →
Total votes 12: ↑8 and ↓4+10
Comments5

Быстрый поиск касательных и пересечений у выпуклых многоугольников

Reading time9 min
Views8.7K

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


Горжусь тем, что мое решение работает очень быстро. Для внушительного количества полигонов все операции можно выполнять каждый кадр. Т.е. не надо ничего запекать и вся геометрия карты может меняться в каждом кадре.

Читать дальше →
Total votes 25: ↑25 and ↓0+25
Comments21

Стоит ли увольнять разраба за большую и дорогую ошибку? Думаю, нет, но менеджмент хотел крови

Reading time5 min
Views32K


В Англии все одержимы футболом. Уйма любительских команд и куча стадионов. И вот через знакомых ко мне обратился один англичанин, у которого была идея и немного денег — он попросил сделать приложение, в котором люди могли бы управлять своей любительской командой по футболу. Расставлять людей на поле, делать замены, искать игроков, заказывать стадионы и общаться в чате.

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

Поэтому я согласился на работу. И это была просто отдушина после того, что я пережил в бэкенд разработке.
Читать дальше →
Total votes 58: ↑38 and ↓20+31
Comments155

7 бесплатных книг, которые следует прочитать каждому дата-сайентисту

Reading time4 min
Views13K


Самообразование — пожалуй, один из самых сложных путей и процессов для взрослого человека. Когда вокруг столько отвлекающих факторов, уже трудно заставить себя довести дело до конца (особенно если мотивация неочевидна). Но самообразование как эволюция — это неотъемлемый элемент жизни любого профессионала или того, кто хочет им стать. Книги в этом случае могут стать тем самым выстрелом, которым убиваются два зайца, вы и растете как специалист, и не «выпадаете из жизни». Автор материала подобрал 7 бесплатных электронных книг, которые помогут вам изучать Data Science и ML.
Читать дальше →
Total votes 15: ↑14 and ↓1+18
Comments4

Можно ли генерировать случайные числа, если мы не доверяем друг другу? Часть 2

Reading time7 min
Views3.2K

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

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

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

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

Как за два месяца пройти путь от начинающего питониста до сертифицированного TensorFlow-разработчика

Reading time11 min
Views29K
Я всё ещё помню тот день, когда сдал выпускную работу в университет. Я тогда вздохнул с облегчением, так как это означало окончание бакалавриата. Но мной скоро овладела скука. Делать было нечего, мир был охвачен пандемией. Мне очень хотелось найти новое занятие, которое избавило бы меня от безделья.



В этом материале я хочу рассказать о том, как скука от самоизоляции помогла мне стать сертифицированным TensorFlow-разработчиком менее чем за два месяца. И это — несмотря на то, что на Python я раньше не программировал. Здесь я, кроме того, дам список ссылок на материалы, которые я использовал, осваивая новую для себя сферу знаний и готовясь к сертификации.
Читать дальше →
Total votes 24: ↑21 and ↓3+30
Comments11

Как Иван ошибку в бэкенде локализовывал

Reading time13 min
Views11K
В комментариях к одной из моих статей про базовые команды Linux shell для тестировщиков справедливо заметили, что в ней не было указано применение команд в процессе тестирования. Я подумал, что лучше поздно, чем никогда, поэтому решил рассказать историю Backend QA-инженера Вани, который столкнулся с неожиданным поведением сервиса и попытался разобраться, где именно случилась ошибка.


Читать дальше →
Total votes 37: ↑36 and ↓1+41
Comments17

Использование NLP для построения классификатора сарказма

Reading time5 min
Views3.4K

В этой статье мы попробуем написать классификатор определяющий саркастические статьи используя машинное обучение и TensorFlow


Статья является переводом с Machine Learning Foundations: Part 10 — Using NLP to build a sarcasm classifier


В качестве обучающего набора данных используется датасет «Sarcasm in News Headlines» Ришаба Мишры. Это интересный набор данных, который собирает заголовки новостей из обычных источников новостей, а также еще несколько комедийных с поддельных новостных сайтов.


Набор данных представляет собой файл JSON с тремя столбцами.


  • is_sarcastic  — 1, если запись саркастическая, иначе 0
  • headline — заголовок статьи
  • article_link — URL-адрес текста статьи
Читать дальше →
Total votes 8: ↑5 and ↓3+4
Comments2

Заметки Дата Сайентиста: персональный обзор языков запросов к данным

Reading time9 min
Views13K

Рассказываю из личного опыта, что где и когда пригодилось. Обзорно и тезисно, чтобы понятно было, что и куда можно копать дальше — но тут у меня исключительно субъективный личный опыт, у вас, может быть, все совсем по-другому.

Почему важно знать и уметь обращаться с языками запросов? По своей сути в Data Science есть несколько важнейших этапов работы и самый первый и важнейший (без него уж точно ничего работать не будет!) — это получение или извлечение данных. Чаще всего данные в каком-то виде где-то сидят и их нужно оттуда «достать». 

Языки запросов как раз и позволяют эти самые данные извлечь! И сегодня я расскажу, о тех языках запросов, которые мне пригодились и расскажу-покажу, где и как именно — зачем оно нужно для изучения.

Всего будет три основных блока типов запросов к данным, которые мы разберем в данной статье:

  • «Стандартные» языки запросов — то, что обычно понимают, когда говорят о языке запросов, как, например, реляционная алгебра или SQL.
  • Скриптовые языки запросов: например, питоновские штучки pandas, numpy или shell scripting.
  • Языки запросов к графам знаний и графовым базам данных.

Все написанное здесь — это просто персональный опыт, что пригодилось, с описанием ситуаций и «зачем оно было нужно» — каждый может примерить, насколько подобные ситуации могут встретиться вам и попробовать подготовиться к ним заранее, разобравшись с этими языками до того, как придется их в (срочном порядке) применять на проекте или вообще попасть на проект, где они нужны.
Читать дальше →
Total votes 31: ↑28 and ↓3+39
Comments8

Как криптовалютные биржи препятствуют отмыванию средств

Reading time3 min
Views6.6K
Ежегодно через криптовалютные биржи проходят миллионы долларов сомнительного происхождения. Зачастую они принадлежат проектам, которые впоследствии исчезают вместе со средствами пользователей. Достаточно вспомнить громкое дело PlusToken, основатели которого обманули «вкладчиков» на три миллиарда долларов. Члены команды задержаны — идет следствие, но украденные средства по-прежнему не арестованы.

Попытки регуляторов получить контроль над криптовалютными операциями не всегда эффективны. Ситуация не изменилась и после вступления в силу Пятой Директивы EC по борьбе с отмыванием денег (5AMLD). Согласно отчету аналитической фирмы Peckshield, за последние два квартала через крупнейшие криптовалютные биржи прошло 147,000 BTC (1,3 миллиарда долларов), поступивших с подозрительных адресов. В первую десятку криптобирж, принимавших эти средства, вошли Huobi, Binance, OKEx, ZB, Gate.io, Bitmex, Luno, Huobtc, Bithumb и Coinbase. В исследовании отмечается, что на долю трех ведущих торговых платформ приходится более 60% от общей суммы (88,200 BTC).
Читать дальше →
Total votes 9: ↑7 and ↓2+7
Comments8

Подборка статей о машинном обучении: кейсы, гайды и исследования за июль 2020

Reading time5 min
Views5.1K


Похоже, не один наш дайджест не обходится без упоминания разработок Open AI: в июле самой обсуждаемой темой в области машинного обучения стал новый алгоритм GPT-3. Технически это не одна модель, а целое семейство, которое для удобства обобщают под единым названием. В самой крупной модели используется 175 млрд параметров, а для обучения использовался датасет размером 570 Gb, в который вошли отфильтрованные данные из архивов Common Crawl и высококачественные данные WebText2, Books1, Books2 и Wikipedia.

Здесь стоит отметить, что модель предобучена, и не требует файн тюнинга под конкретные задачи: для достижения лучших результатов рекомендуется предоставлять ей хотя бы один (one-shot) или несколько (few-shot) примеров решения задач на входе, но можно обойтись вообще без них (zero-shot). Чтобы модель сгенерировала решение задачи, достаточно описать задачу на английском языке. Принято считать, что это алгоритм генерации текстов, но уже видно, что потенциал намного богаче.
Читать дальше →
Total votes 9: ↑9 and ↓0+9
Comments2

Уязвимости PHP-фреймворков

Reading time8 min
Views15K


10 июня компания Digital Security провела онлайн-встречу по информационной безопасности Digital Security ON AIR. Записи докладов можно посмотреть на Youtube-канале.


По материалам докладов мы выпустим цикл статей, и первая из них — об уязвимостях PHP-фреймворков уже ждет под катом.

Total votes 28: ↑25 and ↓3+31
Comments21

Подборка статей о машинном обучении: кейсы, гайды и исследования за июнь 2020

Reading time3 min
Views5.9K


Здесь вас ждёт список вышедших за июнь материалов на английском языке. Все они написаны без лишнего академизма, содержат примеры кода и ссылки на непустые репозитории. Большинство упомянутых технологий находятся в открытом доступе и не требуют сверхмощного железа для тестирования.
Читать дальше →
Total votes 12: ↑12 and ↓0+12
Comments2

Чеклист для проекта по машинному обучению

Reading time5 min
Views5.8K
image

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

Зачем мне вообще нужен чеклист?

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

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

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

Как говорит Атул Гаванде в своей книге ”The Checklist Manifesto”,
объем и сложность того, что мы знаем, превзошли нашу индивидуальную способность правильно, безопасно и надежно предоставлять свои преимущества.
Итак, позвольте мне провести вас по этому четкому и краткому списку действий, которые уменьшат вашу рабочую нагрузку и улучшат ваши результаты…

Чеклист проектов по машинному обучению

Читать дальше →
Total votes 6: ↑5 and ↓1+7
Comments0

9 ключевых алгоритмов машинного обучения простым языком

Reading time15 min
Views82K
Привет, Хабр! Представляю вашему вниманию перевод статьи «9 Key Machine Learning Algorithms Explained in Plain English» автора Nick McCullum.

Машинное обучение (МО) уже меняет мир. Google использует МО предлагая и показывая ответы на поисковые запросы пользователей. Netflix использует его, чтобы рекомендовать вам фильмы на вечер. А Facebook использует его, чтобы предложить вам новых друзей, которых вы можете знать.

Машинное обучение никогда еще не было настолько важным и, в тоже время, настолько трудным для изучения. Эта область полна жаргонов, а количество разных алгоритмов МО растет с каждым годом.

Эта статья познакомит вас с фундаментальными концепциями в области машинного обучения. А конкретнее, мы обсудим основные концепции 9ти самых важных алгоритмов МО на сегодняшний день.
Читать дальше →
Total votes 16: ↑12 and ↓4+12
Comments5

Самая важная идея в Data Science

Reading time7 min
Views5.1K

Советы по отделению отвлекающих факторов от полезных сведений


image

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

Люди слишком хороши в поиске закономерностей во всем. Вы сами определяете какие закономерности действительно существуют, а какие – выдуманы. Мы – существа, которые находят лицо Элвиса в картофельной чипсе. Если у вас есть соблазн приравнять закономерности к понятиям, помните, что есть три вида закономерностей:

  • Паттерны, которые существуют и в вашем наборе данных, и за его пределами.
  • Паттерны, которые существуют только в вашем наборе данных.
  • Паттерны, которые существуют только в вашем воображении (апофении).
Читать дальше →
Total votes 4: ↑3 and ↓1+6
Comments1

Как я получил сертификат TensorFlow-разработчика (и как его получить вам)

Reading time12 min
Views10K
image

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

Позвольте мне рассказать вам как я это сделал, и как вам сделать то же самое.

Погодите. Что вообще такое TensorFlow?

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

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

Обычно вы пишете код с использованием TensorFlow на очень понятном Python (именно это требуется для экзамена) или JavaScript (tensorflow.js), и он запускает ряд базовых функций, написанных на C. Эти функции выполняют описанные вами ранее команды (производят множество численных вычислений).
Total votes 9: ↑8 and ↓1+14
Comments3

Information

Rating
2,106-th
Location
Россия
Registered
Activity

Specialization

Specialist
Lead