DevGang
Авторизоваться

Теория игр в заданиях дистанционных олимпиад по информатике  

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

Внедрение дерева решений с нуля

Дерево решений с нуля
Дерево решений с нуля

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

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

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

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

Как убрать грязные имена столбцов Pandas

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

Расширенный Python: абстрактный базовый класс и модуль abc 

Python предоставляет пакет Abstract Base Class (ABC) для облегчения реализации абстрактных классов, и по понятным причинам этот модуль называется abc. Абстрактные классы позволяют разработчикам создавать схемы для подклассов, чтобы они имели определенное поведение, поэтому давайте посмотрим, как мы это делаем на примере использования из обычного сценария обработки данных…

Как проверить/установить checkbox с помощью jQuery - JavaScript 

В этом кратком руководстве вы узнаете, как выбирать checkbox элементы на странице и проверять их в JavaScript с помощью Vanilla JavaScript и jQuery.

Замените списки Python и сделайте свой код быстрее 

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

Мы можем сделать лучше!

Преобразование JSON в форму с помощью SQLite

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

Создание динамических хлебных крошек в NextJS 

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

Философия поэтапного обучения машинному обучению с помощью River

Если вы устали от переобучения моделей и хотите вместо этого создавать динамические модели, то машинное онлайн-обучение (и, следовательно, River!) может быть тем, что вам нужно. Если цель состоит в том, чтобы учиться и делать прогнозы по одному экземпляру за раз. River на порядок быстрее, чем PyTorch, Tensorflow и scikit-learn.

Подробное руководство по обработке ошибок в Node.js

Если вы писали что-то большее, чем программы «Hello world», вы, вероятно, знакомы с концепцией ошибок в программировании. Это ошибки в вашем коде, часто называемые «bugs», которые приводят к сбою программы или неожиданному поведению. В отличие от некоторых языков, таких как Go и Rust, где вы вынуждены взаимодействовать с потенциальными ошибками на каждом этапе пути, в JavaScript и Node.js можно обойтись без согласованной стратегии обработки ошибок.

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

Присоединяйся в тусовку

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

Попробовать

Vladimir Shaitan - Видео блог о frontend разработке и не только

Посмотреть