Pull to refresh
4
0
Владислав Яновский @kopcap_va

SEO

Send message

Введение в машинное обучение с помощью scikit-learn (перевод документации)

Reading time6 min
Views91K
Данная статья представляет собой перевод введения в машинное обучение, представленное на официальном сайте scikit-learn.

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

Машинное обучение: постановка вопроса


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

Машинное обчение можно разделить на несколько больших категорий:
  • обучение с учителем (или управляемое обучение). Здесь данные представлены вместе с дополнительными признаками, которые мы хотим предсказать. (Нажмите сюда, чтобы перейти к странице Scikit-Learn обучение с учителем). Это может быть любая из следующих задач:

  1. классификация: выборки данных принадлежат к двум или более классам и мы хотим научиться на уже размеченных данных предсказывать класс неразмеченной выборки. Примером задачи классификации может стать распознавание рукописных чисел, цель которого — присвоить каждому входному набору данных одну из конечного числа дискретных категорий. Другой способ понимания классификации — это понимание ее в качестве дискретной (как противоположность непрерывной) формы управляемого обучения, где у нас есть ограниченное количество категорий, предоставленных для N выборок; и мы пытаемся их пометить правильной категорией или классом.
  2. регрессионный анализ: если желаемый выходной результат состоит из одного или более непрерывных переменных, тогда мы сталкиваемся с регрессионным анализом. Примером решения такой задачи может служить предсказание длинны лосося как результата функции от его возраста и веса.


  • обучение без учителя (или самообучение). В данном случае обучающая выборка состоит из набора входных данных Х без каких-либо соответствующих им значений. Целью подобных задач может быть определение групп схожих элементов внутри данных. Это называется кластеризацией или кластерным анализом. Также задачей может быть установление распределения данных внутри пространства входов, называемое густотой ожидания (density estimation). Или это может быть выделение данных из высоко размерного пространства в двумерное или трехмерное с целью визуализации данных. (Нажмите сюда, чтобы перейти к странице Scikit-Learn обучение без учителя).

Читать дальше →
Total votes 23: ↑19 and ↓4+15
Comments0

Введение в machine learning: с чего начать изучение и как применять

Reading time1 min
Views30K
image
Машинное обучение — это математическая дисциплина, изучающая алгоритмы способные выделять знания из данных. Несмотря на то, что эта дисциплина в основном теоретическая, в жизни большинства людей она с каждым годом играет все большую и большую роль. Так, сложно сейчас встретить человека, который бы ничего не слышал о торговых роботах, Яндексе, Google Street View, Siri.

В докладе коллеги Алексадра Сенова из проекта Synqera для очередного нашего технического i-Free meet-up проведен небольшой экскурс в машинное обучение. Из него мы узнаем чуть больше про области применения, рассмотрим основные задачи, возникающие в рамках машинного обучения, а так же алгоритмы их решения. Уделим внимание проблемам, возникающим при их применении, приведем пару примеров и рекоммендаций по дальнейшему изучению.

Подробности
Total votes 15: ↑11 and ↓4+7
Comments0

Data Science: путь к профессионализму

Reading time8 min
Views22K
Здравствуйте все!

На волне непрекращающихся дискуссий о Hadoop и прочих больших данных мы не могли пройти мимо замечательной публикации Джерри Овертона, рассказывающей о профессиональном подходе к анализу больших данных в компаниях любого размера. Понятные картинки, предоставленные автором, а также краткий парад технологий, без которых современному Data scientist'у не обойтись. Поэтому пусть статья и начинается с (ошибочной!) посылки: «Не читайте книги по Data Science», она заслуживает публикации в блоге нашего издательства.

Если среди уважаемых читателей найдутся те, кто захочет обсудить Hadoop и прочие технологии из его экосистемы, а также литературу по специфическим алгоритмам, затронутым автором — давайте побеседуем об этом в комментариях.
Читать дальше →
Total votes 13: ↑11 and ↓2+9
Comments5

14 новых ролей в Big Data

Reading time4 min
Views23K
Количество данных растет с каждым днем огромными рывками. Ежедневно в сеть заливается 2,3 триллиона гигабайт данных. К 2017 году ожидается, что количество данных вырастет на 800%. Чем больше данных, тем выше спрос на специалистов по их обработке.

Наука о данных настолько динамично развивается, что у каждого специалиста есть своя узкая зона ответственности. Мартин Джонс (Martin Jones), CEO и co-founder в Cambriano Energy предлагает выделить 14 основных ролей в работе с большими данными.

image
Читать дальше →
Total votes 16: ↑11 and ↓5+6
Comments2

Реализация поискового движка с ранжированием на Python (Часть 1)

Reading time5 min
Views34K
Просматривая ленту новостей я наткнулся на рекомендацию от Типичного Программиста на статью «Implementing a Search Engine with Ranking in Python», написанную Aakash Japi. Она меня заинтересовала, подобного материала в рунете не очень много, и я решил перевести её. Так как она довольно большая, я разделю её на 2-3 части. На этом я заканчиваю своё вступление и перехожу к переводу.

Каждый раз как я использую Quora, я в конечном итоге вижу по крайней мере вопрос вроде этого: кто-нибудь спрашивает, как работает Google и как они могли бы превзойти его по поиску информации. Большинство вопросов не настолько смелые и дезинформирующие, как этот, но все они выражают подобное чувство, и в этом они передают значительное непонимание того, как работают поисковые системы.

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

Это то, что я буду описывать в этой статье: как сделать поисковую систему для локальных текстовых файлов, для которых можно обрабатывать стандартные запросы (по крайней мере, одно из слов в запросе есть в документе) и фразу целиком (появляется вся фраза в тексте) и может ранжировать с использованием базовой TF-IDF схемы.

Есть два основный этапа в разработке поискового движка: построение индекса, а затем, используя индекс, ответить на запрос. А затем мы можем добавить результат рейтинга (TF-IDF, PageRank и т.д.), классификацию запрос/документ, и, возможно, немного машинного обучения, чтобы отслеживать последние запросы пользователя и на основе этого выбрать результаты для повышения производительности поисковой системы.

Итак, без дальнейших церемоний, давайте начнем!
Читать дальше →
Total votes 17: ↑15 and ↓2+13
Comments4

Vagrant, Python, Pycharm = (удобная, работа, Windows)

Reading time6 min
Views54K


Введение

Django — широко известный и один из наиболее развитых фреймворков для веб-разработки. Django написан на Python и, следовательно, для работы с ним потребуется установленный интерпретатор Python. Это не представляет никаких проблем, если мы работаем в среде Linux. Однако события принимают совсем другой оборот, если приходится заниматься разработкой на Python под Windows.

Для Windows есть готовые сборки Python, среди которых стоит отметить Enthought Python, Anaconda Python, PythonXY.
Есть и более простые пути.
Основной их недостаток по сравнению со «стандартным» Python в Linux — ограниченность набора библиотек, доступных для установки. В частности, в них не Django, и для его установки приходится совершать некие не совсем очевидные действия.

Один из возможных вариантов решения проблемы — установка виртуальной машины с Linux на борту. Работа с виртуальной машиной, несмотря на простоту ее установки и настройки, привносит ряд неудобств.
Так, виртуальная машина может оказаться довольно требовательной к ресурсам компьютера и временами работать медленно, создавая дискомфорт разработчику. Особенно сильно это раздражает, если торможение начинается в самый напряженный момент работы (а именно тогда это чаще всего и происходит!). Кроме того, даже на очень хорошем железе такое IDE, как PyCharm, работает в режиме далеком от того, который принято считать комфортным.

Повысить быстродействие можно за счет установки только необходимых пакетов, отсутствия оконного менеджера и тому подобных проблем. Т. е., необходимо правильно сконфигурировать виртуальную машину. И в этом деле на помощь приходит Vagrant — утилита для создания полностью готовых рабочих окружений на основе виртуальных машин (VirtualBox, VmWare Player/Workstation). Vagrant не только устанавливает виртуальную машину, но и позволяет с легкостью создавать новые, используя текущую конфигурацию пользователя.

В следующем разделе рассматривается установка и настройка рабочего окружения Vagrant для использования его в качестве удаленного Python интерпретатора для проектов PyCharm.
Читать дальше →
Total votes 22: ↑20 and ↓2+18
Comments39

Покупка оптимальной квартиры с R

Reading time12 min
Views62K
Многие люди сталкиваются с вопросом покупки или продажи недвижимости, и важный критерий здесь, как бы не купить дороже или не продать дешевле относительно других, сопоставимых вариантов. Простейший способ — сравнительный, ориентироваться на среднюю цену метра в конкретном месте и экспертно добавляя или снижая проценты от стоимости за достоинства и недостатки конкретной квартиры. image Но данный подход трудоемок, неточен и не позволит учесть все многообразие отличий квартир друг от друга. Поэтому я решил автоматизировать процесс выбора недвижимости, используя анализ данных путем предсказания «справедливой» цены. В данной публикации описаны основные этапы такого анализа, выбрана лучшая предиктивная модель из восемнадцати протестированных моделей на основании трех критериев качества, в итоге лучшие (недооцененные) квартиры сразу помечаются на карте, и все это используя одно web-приложение, созданное с помощью R.

Читать дальше →
Total votes 62: ↑59 and ↓3+56
Comments35

Распознавание кириллической Яндекс капчи

Reading time3 min
Views46K
Эта статья продолжает цикл об особенностях, слабых сторонах и непосредственно о распознавании популярных капчей.
В предыдущей публикации мы затронули готовое решение KCAPTCHA, которое несмотря на неплохую защищенность было распознано без сколько-нибудь серьезной предварительной обработки и сегментации, обычным многослойным персептроном.

Теперь на очереди кириллическая Яндекс капча, с которой, уверен, многие из нас отлично знакомы.

Итак, мы имеем такую капчу:

imageimageimage
Читать дальше →
Total votes 51: ↑47 and ↓4+43
Comments17

Неразбериха с названиями должностей

Reading time4 min
Views51K
До сих пор, мое продвижение по карьерной лестнице было быстрым. В 2008 году, я начал работать на полную ставку программистом в должности Junior Developer. Там был славный босс и классные коллеги, и я получил навыки использования Java и .NET, вместе с первым полезным опытом. Поработав так пару лет, я чувствовал, что настало время двигаться дальше…
Читать дальше →
Total votes 58: ↑50 and ↓8+42
Comments48

Внезапный диван леопардовой расцветки

Reading time8 min
Views83K
Если вы интересуетесь искусственным интеллектом и прочим распознаванием, то наверняка уже видели эту картинку:


А если не видели, то это результаты Хинтона и Крижевского по классификации ImageNet-2010 глубокой сверточной сетью

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

Это вообще довольно любопытный результат, если задуматься. Потому что… скажем, вы знаете, как отличить одного большого пятнистого котика от другого большого пятнистого котика? Я, например, нет. Наверняка есть какие-то зоологические, достаточно тонкие различия, типа общей стройности/массивности и пропорций тела, но мы же все-таки говорим о компьютерном алгоритме, которые до сих пор допускают какие-то вот такие достаточно глупые с человеческой точки зрения ошибки. Как он это делает, черт возьми? Может, тут что-то связанное с контекстом и фоном (леопарда вероятнее обнаружить на дереве или в кустах, а гепарда в саванне)? В общем, когда я впервые задумался над конкретно этим результатом, мне показалось, что это очень круто и мощно, разумные машины где-то за углом и поджидают нас, да здравствует deep learning и все такое.

Так вот, на самом деле все совершенно не так.
под катом пятна
Total votes 148: ↑145 and ↓3+142
Comments141

«ТМ» перезапускает «Мой круг»

Reading time3 min
Views189K
Новым владельцем сервиса «Мой круг» стала компания «ТМ». «Яндекс», прежний владелец сервиса, и «ТМ», издатель проектов для IT-специалистов, предлагают пользователям взглянуть на обновленную версию сервиса.


Читать дальше →
Total votes 127: ↑98 and ↓29+69
Comments225

Технологии Semantic Web

Reading time2 min
Views30K
Semantic Web (он же Web of Data, Linked Data, Linking Open Data) — это направление развития Всемирной паутины, позволяющее машинам не только отображать информацию в интернете, но и понимать ее смысл.

Смотреть первые две части
Total votes 30: ↑26 and ↓4+22
Comments44

Гугл-Цюрих глазами сибиряка-фрилансера

Reading time19 min
Views66K

Расскажи мне полуправду, как полуэльф полуэльфу...

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

Ни в коей мере не считая себя чем-то выдающимся (ну, разве что, пузом), решил ответить на вопросы «а как там?» и «а почему туда?» хоть и субъективно, но максимально объективно и, по возможности, информативно.
Читать дальше →
Total votes 63: ↑61 and ↓2+59
Comments104

Дистанционная работа: Более 130 полезных источников

Reading time5 min
Views57K


Данная подборка позволит вам разобраться с плюсами и минусами дистанционной работы, оценить затраты и возможную экономию, познакомиться с опытом коллег и взглянуть на целый спектр компаний, команды которых работают дистанционно.
Читать дальше →
Total votes 34: ↑33 and ↓1+32
Comments9

A/B Анализ для начинающих. Как понять, что именно работает на вас?

Reading time4 min
Views25K
image

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

Читать дальше →
Total votes 40: ↑32 and ↓8+24
Comments4

Сети для самых маленьких. Часть нулевая. Планирование

Reading time7 min
Views2.1M
Это первая статья из серии «Сети для самых маленьких». Мы с товарищем thegluck долго думали с чего начать: маршрутизация, VLAN'ы, настройка оборудования.
В итоге решили начать с вещи фундаментальной и, можно сказать, самой важной: планирование. Поскольку цикл рассчитан на совсем новичков, то и пройдём весь путь от начала до конца.

Предполагается, что вы, как минимум читали о эталонной модели OSI (то же на англ.), о стеке протоколов TCP/IP (англ.), знаете о типах существующих VLAN’ов (эту статью я настоятельно рекомендую к прочтению), о наиболее популярном сейчас port-based VLAN и о IP адресах (более подробно). Мы понимаем, что для новичков «OSI» и «TCP/IP» — это страшные слова. Но не переживайте, не для того, чтобы запугать вас, мы их используем. Это то, с чем вам придётся встречаться каждый день, поэтому в течение этого цикла мы постараемся раскрыть их смысл и отношение к реальности.

Схема сети

Начнём с постановки задачи. Есть некая фирма, занимающаяся, допустим, производством лифтов, идущих только вверх, и потому называется ООО «Лифт ми ап». Расположены они в старом здании на Арбате, и сгнившие провода, воткнутые в пожжёные и прожжёные коммутаторы времён 10Base-T не ожидают подключения новых серверов по гигабитным карточкам. Итак у них катастрофическая потребность в сетевой инфраструктуре и денег куры не клюют, что даёт вам возможность безграничного выбора. Это чудесный сон любого инженера. А вы вчера выдержали собеседование и в сложной борьбе по праву получили должность сетевого администратора. И теперь вы в ней первый и единственный в своём роде. Поздравляем! Что дальше?
Читать дальше →
Total votes 104: ↑100 and ↓4+96
Comments134

Выразительный JavaScript: Введение

Reading time9 min
Views468K


Перевод книги Marijn Haverbeke "Eloquent JavaScript". Лицензия Creative
Commons attribution-noncommercial license
. Код предоставляется под лицензией MIT.


Содержание



Читать дальше →
Total votes 54: ↑49 and ↓5+44
Comments14

27+ ресурсов для онлайн-обучения

Reading time5 min
Views970K

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

Статья содержит перечень ресурсов для онлайн-обучения, представляющих интерес преимущественно для программистов.

Читать дальше →
Total votes 174: ↑163 and ↓11+152
Comments68

Новый пуленепробиваемый синтаксис @font-face

Reading time3 min
Views71K
С самого начала «вебошрифтовой революции» мы полагались на неизящные хаки деклараций @font-face, чтобы шрифты из Паутины загружались во всех браузерах. Может ли существовать лучший путь? Вполне изящный и совместимый с будущими браузерами?

Вкратце об истории вопроса


В сентябре 2009 года Пол Айриш (Paul Irish) огласил пуленепробиваемый синтаксис для записи деклараций @font-face. Синтаксис был компактным и в то время действовал во всех браузерах. Недавно стали поступать, со временем усиливаясь, жалобы на отказ шрифтов загружаться в Android — поэтому мы стали вместо того рекомендовать синтаксис «Mo' Bulletproofer», сочинённый Ричардом Финком (Richard Fink). К сожалению, синтаксису «Mo' Bulletproofer» требуется двойная запись деклараций, так что поддержка его сложнее.

Синтаксис Fontspring @Font-Face


А вот таким этому коду следовало бы быть с самого начала. Чистым, ясным и простым:
@font-face {
	font-family: 'MyFontFamily';
	src: url('myfont-webfont.eot?') format('eot'), 
	     url('myfont-webfont.woff') format('woff'), 
	     url('myfont-webfont.ttf')  format('truetype'),
	     url('myfont-webfont.svg#svgFontName') format('svg');
	}

Что? Я не понял.


Хак Трюк, заставляющий этот код заработать — символ «?» вслед за именем файла EOT. Без шуток.

Как это срабатывает


Читать дальше →
Total votes 141: ↑132 and ↓9+123
Comments42

10 причин, почему мы перешли на PyCharm

Reading time3 min
Views87K
Совсем недавно мы начали плавный перевод разработки наших проектов с Eclipse + PyDev на PyCharm. Это такая замечательная среда разработки от компании JetBrains, которая специализируется на создании продуктов для программистов, в том числе всяких IDE.

Если вы делаете сайты на Джанго, но еще не оценили в полной мере Пайчарм, мы подготовили небольшой список фич, которые определили наш выбор в его пользу. В основном, это конечно же, функционал, которого нам не хватало в Эклипсе, либо фичи, которые были реализованы неполно или менее удобно. Само собой, это лишь вершина айсберга фич, которые есть в PyCharm, для примера таблица сравнения популярных IDE.

Читать дальше →
Total votes 80: ↑72 and ↓8+64
Comments121

Information

Rating
Does not participate
Location
McKinney, Texas, США
Registered
Activity