Search
Write a publication
Pull to refresh
24
0
pred8or @pred8or

User

Send message

Именованные кортежи. Пишем код на Python чище

Reading time6 min
Views131K

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



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

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

Ускоряем работу WSUS

Reading time6 min
Views137K

Свежеустановленный сервер обновлений WSUS через несколько лет эксплуатации превращается в неповоротливое чудовище. Клиенты медленно обновляются и долго ищут обновления, журналы WindowsUpdate.log пестрят ошибками HTTP, а администратор впадает в депрессию.
Вот несколько советов, которые могут во многих случаях значительно ускорить сервер.
Читать дальше →

CRISP-DM: проверенная методология для Data Scientist-ов

Reading time16 min
Views80K
Постановка задач машинного обучения математически очень проста. Любая задача  классификации, регрессии или кластеризации – это по сути обычная оптимизационная задача с ограничениями. Несмотря на это, существующее многообразие алгоритмов и методов их решения делает профессию аналитика данных одной из наиболее творческих IT-профессий. Чтобы решение задачи не превратилось в бесконечный поиск «золотого» решения, а было прогнозируемым процессом, необходимо придерживаться довольно четкой последовательности действий. Эту последовательность действий описывают такие методологии, как CRISP-DM.

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


* Crisp (англ.) — хрустящий картофель, чипсы
Читать дальше →

Стандарты и шаблоны для ТЗ на разработку ПО

Reading time7 min
Views844K

Введение


Недавно ко мне обратились, чтобы я посоветовал стандарты для написания технического задания (ТЗ) на разработку автоматизированных систем (АС) и программного обеспечения (ПО). Вот думаю, сейчас зайду в Яндекс, найду подходящую статейку и отправлю её. Но не тут-то было! Одной статьи, где перечисляются стандарты для ТЗ, включая шаблоны и примеры готовых документов, я не нашел. Придется сделать такую статейку самому…

И так, основные стандарты, методологии и своды знаний, где упоминается ТЗ или SRS (Software (or System) Requirements Specification):

• ГОСТ 34
• ГОСТ 19
• IEEE STD 830-1998
• ISO/IEC/ IEEE 29148-2011
• RUP
• SWEBOK, BABOK и пр.
Читать дальше →

Генетический советник для торговли опционами

Reading time11 min
Views17K


При торговле опционами одна из главных задач состоит в определении справедливой цены опциона. На основании нее можно понять какие опционы недооценены рынком, а какие переоценены в данный момент. Исходя из этого и принимаются решения о покупке или продаже конкретного опциона. В данной статье рассматривается опыт создания советника в основе которого лежит Генетический Алгоритм (ГА), позволяющего как раз автоматизировать процесс выбора опционов для продажи и покупки соответственно Советник, в отличие от торговых роботов (или Механических Торговых Систем — МТС), не производит сделок, он лишь дает рекомендации трейдеру, который уже самостоятельно принимает решение совершать сделку или нет.

Для начала — пару слов о генетическом алгоритме:

Подробно описывать генетический алгоритм не имеет смысла, поскольку эта тема хорошо представлена и на данном ресурсе и вообще на просторах Интернета. Остановлюсь только на основных моментах, которые необходимы для понимания концепции генетического советника в целом.
Читать дальше →

Метрики в задачах машинного обучения

Reading time9 min
Views723K

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



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


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


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

How to apply a Group Policy Object to individual users or computers

Reading time4 min
Views18K


Привет, Хабр! Речь пойдет про групповые политики и Security Filtering. В зависимости от размера вашего домена, его логической структуры и количества OU, инструмент Security Filtering может быть вам очень полезным.

Используя Security Filtering вы можете применить политику к пользователям или к ПК которые расположены разных OU, разместив вашу политику в корне домена и применив фильтр.

Типовая задача для фильтрации это монтирование сетевых папок и принтеров. Но на принтерах и папках все только начинается и заканчивается вашей фантазией.

Читайте под катом, как применять групповые политики к отдельным пользователям/группам, и на что обратить внимание если при использовании Security Filtering ваши политики не работают.
Читать дальше →

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

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


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

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

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

Так вот, на самом деле все совершенно не так.
под катом пятна

О линейной регрессии: байесовский подход к курсу рубля

Reading time9 min
Views24K


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

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

Одномерная линейная регрессия, SQL и машинное обучение

Reading time5 min
Views8.4K

Всем привет. Это моя первая статья на Хабре, буду рад критике и комментариям.


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


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

Библиотеки для глубокого обучения: Keras

Reading time13 min
Views179K

Привет, Хабр! Мы уже говорили про Theano и Tensorflow (а также много про что еще), а сегодня сегодня пришло время поговорить про Keras.


Изначально Keras вырос как удобная надстройка над Theano. Отсюда и его греческое имя — κέρας, что значит "рог" по-гречески, что, в свою очередь, является отсылкой к Одиссее Гомера. Хотя, с тех пор утекло много воды, и Keras стал сначала поддерживать Tensorflow, а потом и вовсе стал его частью. Впрочем, наш рассказ будет посвящен не сложной судьбе этого фреймворка, а его возможностям. Если вам интересно, добро пожаловать под кат.


image
Читать дальше →

Прогнозирование финансовых временных рядов с MLP в Keras

Reading time10 min
Views81K

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

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

Введение в машинное обучение с tensorflow

Reading time12 min
Views199K
Если мы в ближайшие пять лет построим машину с интеллектуальными возможностями одного человека, то ее преемник уже будет разумнее всего человечества вместе взятого. Через одно-два поколения они попросту перестанут обращать на нас внимание. Точно так же, как вы не обращаете внимания на муравьев у себя во дворе. Вы не уничтожаете их, но и не приручаете, они практически никак не влияют на вашу повседневную жизнь, но они там есть.
Сет Шостак

Введение.


Серия моих статей является расширенной версией того, что я хотел увидеть когда только решил познакомиться с нейронными сетями. Он рассчитан в первую очередь на программистов, желающих познакомится с tensorflow и нейронными сетями. Уж не знаю к счастью или к сожалению, но эта тема настолько обширна, что даже мало-мальски информативное описание требует большого объёма текста. Поэтому, я решил разделить повествование на 4 части:

  1. Введение, знакомство с tensorflow и базовыми алгоритмами (эта статья)
  2. Первые нейронные сети
  3. Свёрточные нейронные сети
  4. Рекуррентные нейронные сети

Изложенная ниже первая часть нацелена на то, чтобы объяснить азы работы с tensorflow и попутно рассказать, как машинное обучение работает впринципе, на примере tensorfolw. Во второй части мы наконец начнём проектировать и обучать нейронные сети, в т.ч. многослойные и обратим внимание на некоторые нюансы подготовки обучающих данных и выбора гиперпараметров. Поскольку свёрточные сети сейчас пользуются очень большой популярность, то третья часть выделена для подробного объяснения их работы. Ну, и в заключительной части планируется рассказ о рекуррентных моделях, на мой взгляд, — это самая сложная и интересная тема.
Читать дальше →

Заходим в личный кабинет на zakupki.gov.ru без Internet Explorer и другие полезные советы при работе с КриптоПро

Reading time4 min
Views164K

В этой заметке я постараюсь обобщить опыт использования криптопровайдера КриптоПро для доступа к закрытой части официального сайта единой информационной системы в сфере закупок (zakupki.gov.ru) и сайта госуслуг (gosuslugi.ru). Сам криптопровайтер стал уже стандартом де-факто для госучреждений, в его формате выдает ЭЦП, например, удостоверяющий центр (УЦ) Федерального казначейства или УЦ Минздрава.

В первую очередь речь пойдет о сайте zakupki.gov.ru. Личный кабинет этого сайта доступен только через HTTPS с использованием ГОСТ-алгоритмов шифрования. Долгое время HTTPS через ГОСТ работал только в Internet Explorer, который целиком полагался на криптопровайдер. Развязка наступила не так давно, когда на сайте zakupki.gov.ru была прекращена поддержка старых версий IE, в том числе — IE8. Беда в том, что IE8 — последняя версия этого браузера, поддерживаемая в Windows XP, а государственные учреждения, как правило, очень консервативны в плане лицензирования. Таким образом, довольно большая часть пользователей в одночасье оказалась “за бортом”.
Читать дальше →

Тест Lossless-оптимизаторов изображений (PNG и JPG)

Reading time3 min
Views21K
Для многих не секрет, что большинство изображений в форматах JPEG и PNG содержат избыточную информацию, которая может быть удалена без потери качества. Обычно это достигается за счет эвристических алгоритмов перебора различных параметров компрессии и выбора наименее затратного варианта. Применение оптимизаторов особенно важно на файлах, которые используются на посещаемых сайтах, для экономии дискового пространства, трафика и уменьшения времени загрузки страниц у пользователей. Программ такого типа довольно много и мы поставили себе цель найти какие же оптимизаторы сжимают лучше и работают быстро.

В тесте принимали участие следующие программы.

Для PNG:

1. Leanify 0.4.3 (x64)
2. pingo v0.79c
3. pinga v0.09
4. OptiPNG 0.7.6
5. pngout
6. PngOptimizer 2.5 (x64)
7. advpng aka AdvanceCOMP v1.23
8. ECT 0.6 (x64)
9. TruePNG 0.6.2.2
10. pngwolf-zopfli 1.1.1 (x64)

Для JPEG:

1. Leanify 0.4.3 (x64)
2. pingo v0.79c
3. ECT 0.6 (x64)
4. mozjpeg 3.2 (x64)
5. jhead 3.00
6. jpegoptim v1.4.4 (x64)
7. jpegtran
Читать дальше →

Как я сделал тестер-оптимизатор для нахождения прибыльных стратегий на Бирже — 2

Reading time6 min
Views22K
Multidimensional Space Trading Strategies
Рис. 1. Оптимизация многомерного пространства алгоритмов торговых стратегий.

Оптимизация торговых стратегий

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

Как дать шифровальщикам потопить компанию

Reading time5 min
Views95K

image alt text


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

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

OpenSSL, ssl_ciphers и nginx: прокачиваем на 100%

Reading time11 min
Views95K


Много где написано о том, как получить 100% и A+ по тесту от Qualys. При всём при том практически везде директивы ssl_ciphers и подобные даются как эдакие магические строки, которые нужно просто вставить, и надеяться, что автор не подводит вас под монастырь. Эта статья призвана исправить это недоразумение. По прочтению этой статьи директива ssl_ciphers потеряет для вас всякую магию, а ECDHE и AES будут как друзья да братья.


Также вы узнаете почему 100% по тестам — не всегда хорошо в реальности.

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

Yapf — причесываем код Python автокорректором

Reading time2 min
Views29K
В эпоху все большей популярности различных js и css linter'ов, не удивительно появление удобного линтера с автокоррекцией для Python.

Приветствуйте, Yapf — готовое решение, для превращения каши из строк во вполне читаемый код. И поверьте, он вам пригодится.

image
Читать дальше →

Сделайте свой анонимайзер за 10 минут

Reading time4 min
Views67K
В этой статье я сначала расскажу историю не очень долгой жизни одного анонимайзера, а потом научу — как сделать анонимайзер из исходных кодов, даже не обладая особыми навыками программирования или администрирования. Выложить свой исходный код в открытый доступ было решено после того, как мой анонимайзер попал в список Роскомнадзора и был заблокирован… Но обо всем по порядку.
Читать дальше →

Information

Rating
6,226-th
Location
Россия
Date of birth
Registered
Activity