Х5 проводит масштабный контест по машинному обучению, успейте зарегистрироваться!
RetailHero - это не одно, а сразу три соревнования и конференция 15 февраля 2020! Разыгрываются 1 600 000 ₽ призовых 💰
Организаторами были подготовлены три задачи, чтобы учесть вкусы самых искушённых участников:
✨ Каким клиентам нужно отправить SMS?
Вы не раз могли слышать про Uplift моделирование. А теперь - наконец-то можно его попробовать реализовать самим! В этой задаче необходимо подготовить список клиентов, ранжированный по эффективности коммуникации.
https://retailhero.ai/c/uplift_modeling/
✨ Какие товары клиент купит в следующий раз?
Более серьезная задача, где будет еще и немного ML Engineering с условиями еще и по нагрузке на решение. Тут участникам предстоит построить рекомендательную систему и при этом сделать сервис, который выдержит нагрузку.
https://retailhero.ai/c/recommender_syst…
✨ Как расставить товары по полкам?
Для любителей Computer Science, алгоритмов и оптимизации, ACM-style задача. Нужно реализовать алгоритм, который сможет найти самую эффективную расстановку товаров.
https://retailhero.ai/c/shelf_allocation…
Участвовать можно хоть в одном соревновании, хоть в двух, хоть в трёх, на ваш выбор! 🙂
Можно в команде. А можно в составах разных команд - в каждой задаче в новой команде 👍🏻
Канал для всех задач в slack ods.ai: https://app.slack.com/client/T040HKJE3/C…
Регистрация на соревнование и конференцию, подробное описание задач на странице Retail Hero:
https://retailhero.ai/
RetailHero - это не одно, а сразу три соревнования и конференция 15 февраля 2020! Разыгрываются 1 600 000 ₽ призовых 💰
Организаторами были подготовлены три задачи, чтобы учесть вкусы самых искушённых участников:
✨ Каким клиентам нужно отправить SMS?
Вы не раз могли слышать про Uplift моделирование. А теперь - наконец-то можно его попробовать реализовать самим! В этой задаче необходимо подготовить список клиентов, ранжированный по эффективности коммуникации.
https://retailhero.ai/c/uplift_modeling/
✨ Какие товары клиент купит в следующий раз?
Более серьезная задача, где будет еще и немного ML Engineering с условиями еще и по нагрузке на решение. Тут участникам предстоит построить рекомендательную систему и при этом сделать сервис, который выдержит нагрузку.
https://retailhero.ai/c/recommender_syst…
✨ Как расставить товары по полкам?
Для любителей Computer Science, алгоритмов и оптимизации, ACM-style задача. Нужно реализовать алгоритм, который сможет найти самую эффективную расстановку товаров.
https://retailhero.ai/c/shelf_allocation…
Участвовать можно хоть в одном соревновании, хоть в двух, хоть в трёх, на ваш выбор! 🙂
Можно в команде. А можно в составах разных команд - в каждой задаче в новой команде 👍🏻
Канал для всех задач в slack ods.ai: https://app.slack.com/client/T040HKJE3/C…
Регистрация на соревнование и конференцию, подробное описание задач на странице Retail Hero:
https://retailhero.ai/
Обработка Cookies
Теперь научимся получать cookies.
Они передаются на сервер и доступны в переменной os.environ (словарь, cookies хранятся по ключу HTTPCOOKIE).
Они передаются в виде пар ключ=значение, что не очень удобно при обработке. Для упрощения работы можно использовать модуль http.cookies.
Напишем простой скрипт (/cgi-bin/cookie.py), проверяющий, установлена ли кука, и если нет, устанавливает:
#!/usr/bin/env python3
import os
import http.cookies
cookie = http.cookies.SimpleCookie(os.environ.get("HTTPCOOKIE"))
name = cookie.get("name")
if name is None:
print("Set-cookie: name=value")
print("Content-type: text/html\n")
print("Cookies!!!")
else:
print("Content-type: text/html\n")
print("Cookies:")
print(name.value)
Открываем страницу, запоминаем результат и обновляем страницу.
Не следует хранить в cookies важные данные, и не полагайтесь на выставленный вами срок хранения.
Cookies можно удалить или изменить вручную в браузере.
На этом 2 часть заканчивается.
Завтра будем писать прототип приложения типа "Twitter".
Теперь научимся получать cookies.
Они передаются на сервер и доступны в переменной os.environ (словарь, cookies хранятся по ключу HTTPCOOKIE).
Они передаются в виде пар ключ=значение, что не очень удобно при обработке. Для упрощения работы можно использовать модуль http.cookies.
Напишем простой скрипт (/cgi-bin/cookie.py), проверяющий, установлена ли кука, и если нет, устанавливает:
#!/usr/bin/env python3
import os
import http.cookies
cookie = http.cookies.SimpleCookie(os.environ.get("HTTPCOOKIE"))
name = cookie.get("name")
if name is None:
print("Set-cookie: name=value")
print("Content-type: text/html\n")
print("Cookies!!!")
else:
print("Content-type: text/html\n")
print("Cookies:")
print(name.value)
Открываем страницу, запоминаем результат и обновляем страницу.
Не следует хранить в cookies важные данные, и не полагайтесь на выставленный вами срок хранения.
Cookies можно удалить или изменить вручную в браузере.
На этом 2 часть заканчивается.
Завтра будем писать прототип приложения типа "Twitter".
Так, кто тут у нас только что проснулся?
Расскажу-ка я вам, с чего начинать обучение Python.
Синтаксис
В первую очередь:
- операции с целыми и вещественными числами;
- типы данных;
- переменные, ветвления, стандартный ввод/вывод;
- логические операции, операции сравнения;
- условия: if, else, elif;
- блоки, отступы;
- строки и символы;
- циклы while, for;
- операторы break, continue;
- установка и подключение модулей;
- списки;
- функции;
- словари;
- интерпретатор: установка, запуск скрипта;
- файловый ввод/вывод.
IDE и редакторы кода
Писать в IDLE или Python Shell удобно только простой код, но для проектов лучше найти интегрированную среду разработки (IDE) или редактор кода.
IDE включает в себя редактор с подсветкой синтаксиса и автодополнением, инструменты сборки, выполнения и отладки и другие функции.
В большинстве редакторов есть подсветка синтаксиса и форматирование, выполнение и отладка кода.
Как правило, этот инструмент работает быстрее IDE, но имеет меньше функций.
Среди самых популярных платформ — PyCharm, Wing IDE, Komodo и другие. Больше вариантов — в нашем обзоре.
Git
С распределенной системой управления версиями (Git) нужно познакомиться в начале обучения.
Среди основных навыков — создание и перемещение файлов в каталогах, инициализация Git-репозитория и создание коммитов, а также настройка репозиториев в GitHub.
Расскажу-ка я вам, с чего начинать обучение Python.
Синтаксис
В первую очередь:
- операции с целыми и вещественными числами;
- типы данных;
- переменные, ветвления, стандартный ввод/вывод;
- логические операции, операции сравнения;
- условия: if, else, elif;
- блоки, отступы;
- строки и символы;
- циклы while, for;
- операторы break, continue;
- установка и подключение модулей;
- списки;
- функции;
- словари;
- интерпретатор: установка, запуск скрипта;
- файловый ввод/вывод.
IDE и редакторы кода
Писать в IDLE или Python Shell удобно только простой код, но для проектов лучше найти интегрированную среду разработки (IDE) или редактор кода.
IDE включает в себя редактор с подсветкой синтаксиса и автодополнением, инструменты сборки, выполнения и отладки и другие функции.
В большинстве редакторов есть подсветка синтаксиса и форматирование, выполнение и отладка кода.
Как правило, этот инструмент работает быстрее IDE, но имеет меньше функций.
Среди самых популярных платформ — PyCharm, Wing IDE, Komodo и другие. Больше вариантов — в нашем обзоре.
Git
С распределенной системой управления версиями (Git) нужно познакомиться в начале обучения.
Среди основных навыков — создание и перемещение файлов в каталогах, инициализация Git-репозитория и создание коммитов, а также настройка репозиториев в GitHub.
Приветствую вас, дорогие питонисты и питонистки!
3 часть получилась в формате Instant View, так как пост содержал очень большой код.
Приступаем читать и затем кодить!
3 часть получилась в формате Instant View, так как пост содержал очень большой код.
Приступаем читать и затем кодить!
Яндекс Дзен
Пример приложения - часть 3
Мы уже научились обрабатывать формы и устанавливать cookies. Сегодня же мы посмотрим, что может из этого получиться. Чтобы работать с пользовательскими данными, нужно где-то эти данные сохранять. Самый простой (но далеко не самый изящный и безопасный) - хранение…
Пишем простой сайт на Python.
Часть 4: Публикация в сети Интернет
В самом начале мы работали с локальном сервером.
Теперь узнаем, как его разместить в интернете.
Мы будем искать виртуальный сервер под наши нужды.
Погнали с нами читать в Яндекс.Дзен, мы уже создали там свой канал.
Часть 4: Публикация в сети Интернет
В самом начале мы работали с локальном сервером.
Теперь узнаем, как его разместить в интернете.
Мы будем искать виртуальный сервер под наши нужды.
Погнали с нами читать в Яндекс.Дзен, мы уже создали там свой канал.
Создаём сайт на Django: Часть 1
Я начинаю серию статей, посвященных разработке сайтов на Django.
Django — веб-фреймворк для создания сайтов, написанный на языке Python.
Мы создадим сервис, который фильтрует фриланс-проекты, которые может выполнить Python-программист, а далее показывает нам.
Я начинаю серию статей, посвященных разработке сайтов на Django.
Django — веб-фреймворк для создания сайтов, написанный на языке Python.
Мы создадим сервис, который фильтрует фриланс-проекты, которые может выполнить Python-программист, а далее показывает нам.
Python Lounge: работа и стажировки для программистов
Закрытый чат канала Python Lounge (ограничение участия (бесплатно, но нужно пройти отбор), но зато только отборный контент и самые крутые кодеры)
Помните мы проводили опрос про наш закрытый чат? Так вот мы почти все подготовили и готовы отобрать первых 50 человек для нашего чата.
Для попадания в закрытый чат канала Python Lounge вам необходимо отправить в личку @progyteam:
1. Имя или ник
2. Пришли 3 проекта, которыми ты гордишься (Ты принимал участие в создании)
3. Уровень, на который ты себя оцениваешь (Junior, Middle, Lead)
4. Что ты хочешь получить от чата? (Новые знания, новые проекты, новые знакомства по всему миру с крутыми прогерами)
5. Уровень владения английским (от 1 до 10, оцени сам)
Мы отберем 50 человек и отправим ссылку на чат в течение 3 дней!
Чат всегда будет бесплатным. Это наш принцип.
Хорошего кода!
Для попадания в закрытый чат канала Python Lounge вам необходимо отправить в личку @progyteam:
1. Имя или ник
2. Пришли 3 проекта, которыми ты гордишься (Ты принимал участие в создании)
3. Уровень, на который ты себя оцениваешь (Junior, Middle, Lead)
4. Что ты хочешь получить от чата? (Новые знания, новые проекты, новые знакомства по всему миру с крутыми прогерами)
5. Уровень владения английским (от 1 до 10, оцени сам)
Мы отберем 50 человек и отправим ссылку на чат в течение 3 дней!
Чат всегда будет бесплатным. Это наш принцип.
Хорошего кода!
Сегодня мы познакомимся с очень познавательной статьёй, а именно - реализация распознавания изображений в Python.
Мы попробуем создать простого питона-бота, который будет играть в Chrome Dino Game без участия пользователя. Здесь мы не используем какое-либо машинное обучение или искусственный интеллект для противодействия этой проблеме, но мы будем использовать простую обработку изображения/экрана.
Мы попробуем создать простого питона-бота, который будет играть в Chrome Dino Game без участия пользователя. Здесь мы не используем какое-либо машинное обучение или искусственный интеллект для противодействия этой проблеме, но мы будем использовать простую обработку изображения/экрана.
Скобки необходимы для создания генератора понимания:
Это не работает для функции с более чем одним аргументом:
g = x**x for x in range(10)Однако они могут быть опущены, если понимание функции генератора является единственным аргументом для функции:
File "<stdin>", line 1
g = x**x for x in range(10)
^
SyntaxError: invalid syntax
>>> g = (x**x for x in range(10))
>>> g
<generator object <genexpr> at 0x7f90ed650258>
list((x**x for x in range(4)))
[1, 1, 4, 27]
>>> list(x**x for x in range(4))
[1, 1, 4, 27]
Это не работает для функции с более чем одним аргументом:
print((x**x for x in range(4)), end='\n')
<generator object <genexpr> at 0x7f90ed650468>
>>>
>>>
>>> print(x**x for x in range(4), end='\n')
File "<stdin>", line 1
SyntaxError: Generator expression must be parenthesized if not sole argument
Анализ данных с помощью pandas.
Часть 0: введение, jupyter (ipython)
Цель этого цикла статей - дать конкретные примеры использования pandas.
pandas - это Python библиотека для анализа и обработки данных.
Она действительно быстрая и позволяет вам легко исследовать данные.
Часть 0: введение, jupyter (ipython)
Цель этого цикла статей - дать конкретные примеры использования pandas.
pandas - это Python библиотека для анализа и обработки данных.
Она действительно быстрая и позволяет вам легко исследовать данные.
Python позволяет перегружать множество различных операторов, и оператор shift является одним из них. Вот пример того, как создать композицию функции с помощью этого оператора. Здесь эти знаки показывают направление потока данных:
collections import deque
from math import sqrt
class Compose:
def __init__(self):
self._functions = deque()
def __call__(self, *args, **kwargs):
result = None
for f in self._functions:
result = f(*args, **kwargs)
args = [result]
kwargs = dict()
return result
def __rshift__(self, f):
self._functions.append(f)
return self
def __lshift__(self, f):
self._functions.appendleft(f)
return self
compose = Compose
sqrt_abs = (compose() << sqrt << abs)
sqrt_abs2 = (compose() >> abs >> sqrt)
print(sqrt_abs(-4)) # 2.0
print(sqrt_abs2(-4)) # 2.0
Приветствую всех!
Сегодня мы познакомимся с историей создания Python.
Разработка языка Python была начата в конце 1980-х годов сотрудником голландского института CWI Гвидо ван Россумом.
Для распределённой ОС Amoeba требовался расширяемый скриптовый язык, и Гвидо начал писать Python на досуге, позаимствовав некоторые наработки для языка ABC (Гвидо участвовал в разработке этого языка, ориентированного на обучение программированию).
В феврале 1991 года Гвидо опубликовал исходный текст в группе новостей alt.sources.
С самого начала Python проектировался как объектно-ориентированный язык.
3 декабря 2008 года, после длительного тестирования, вышла первая версия Python 3000 (или Python 3.0, также используется сокращение Py3k).
В Python 3000 устранены многие недостатки архитектуры с максимально возможным (но не полным) сохранением совместимости со старыми версиями Python.
На сегодня поддерживаются обе ветви развития (Python 3.x и 2.x), но поддержка Python 2.7 заканчивается в 2020 году.
Итак, мы узнали на чуточку больше про Python!
Сегодня мы познакомимся с историей создания Python.
Разработка языка Python была начата в конце 1980-х годов сотрудником голландского института CWI Гвидо ван Россумом.
Для распределённой ОС Amoeba требовался расширяемый скриптовый язык, и Гвидо начал писать Python на досуге, позаимствовав некоторые наработки для языка ABC (Гвидо участвовал в разработке этого языка, ориентированного на обучение программированию).
В феврале 1991 года Гвидо опубликовал исходный текст в группе новостей alt.sources.
С самого начала Python проектировался как объектно-ориентированный язык.
3 декабря 2008 года, после длительного тестирования, вышла первая версия Python 3000 (или Python 3.0, также используется сокращение Py3k).
В Python 3000 устранены многие недостатки архитектуры с максимально возможным (но не полным) сохранением совместимости со старыми версиями Python.
На сегодня поддерживаются обе ветви развития (Python 3.x и 2.x), но поддержка Python 2.7 заканчивается в 2020 году.
Итак, мы узнали на чуточку больше про Python!
Анализ данных с помощью pandas.
Часть 1: Чтение данных из csv файла
Продолжаем работать с pandas.
Эта часть показывает способ обработки данных, хранящихся в формате csv, а также построение простейших графиков.
Часть 1: Чтение данных из csv файла
Продолжаем работать с pandas.
Эта часть показывает способ обработки данных, хранящихся в формате csv, а также построение простейших графиков.
Анализ данных с помощью pandas.
Часть 2: Выбор данных и нахождение наиболее частых жалоб
В этой части мы будем использовать новый набор данных, чтобы показать, как быть с большими объёмами данных.
Это данные о 311 сервисных запросов (или жалоб) жителей, предоставленные NYC Open Data.
Часть 2: Выбор данных и нахождение наиболее частых жалоб
В этой части мы будем использовать новый набор данных, чтобы показать, как быть с большими объёмами данных.
Это данные о 311 сервисных запросов (или жалоб) жителей, предоставленные NYC Open Data.
Анализ данных с помощью pandas.
Часть 3: объединение и группировка данных
Эта часть показывает способы группировки, объединения и дополнения данных.
Часть 3: объединение и группировка данных
Эта часть показывает способы группировки, объединения и дополнения данных.
Анализ данных с помощью pandas.
Часть 4: объединение нескольких dataframe
В конце этой части, мы загрузим данные о погоде в Канаде за весь 2012 год, и сохраним в CSV файл.
Мы сделаем это, загрузив каждый месяц в отдельности, а затем сгруппировав все месяцы вместе.
Часть 4: объединение нескольких dataframe
В конце этой части, мы загрузим данные о погоде в Канаде за весь 2012 год, и сохраним в CSV файл.
Мы сделаем это, загрузив каждый месяц в отдельности, а затем сгруппировав все месяцы вместе.
Анализ данных с помощью pandas.
Часть 5: ищем самый снежный месяц
Мы уже видели, что pandas хорошо умеет обращаться с датами.
Но он также хорошо умеет работать со строками!
Возьмём наши данные из предыдущей части.
Часть 5: ищем самый снежный месяц
Мы уже видели, что pandas хорошо умеет обращаться с датами.
Но он также хорошо умеет работать со строками!
Возьмём наши данные из предыдущей части.
Анализ данных с помощью pandas.
Часть 6: работа с загрязненными данными
Главная проблема загрязненных данных: понять, они загрязнены или нет?
Используем данные NYC 311 service request из одной из прошлых статей, так как их много и они неочевидны.
Погнали уже кодить!
Часть 6: работа с загрязненными данными
Главная проблема загрязненных данных: понять, они загрязнены или нет?
Используем данные NYC 311 service request из одной из прошлых статей, так как их много и они неочевидны.
Погнали уже кодить!
Анализ данных с помощью pandas.
Часть 7: работа с датами и временем
Часто данные содержат не только числовые или строковые значения, но и даты / время, причём в огромном множестве разных форматов. pandas умеет работать с датами; в этой части будет показано, как.
Часть 7: работа с датами и временем
Часто данные содержат не только числовые или строковые значения, но и даты / время, причём в огромном множестве разных форматов. pandas умеет работать с датами; в этой части будет показано, как.
Анализ данных с помощью pandas.
Часть 8: работа с данными из базы данных SQL
До этого момента, мы получали данные только из csv файлов. Это довольно распространённый способ сохранения данных, но далеко не единственный!
Pandas может работать с данными из HTML, JSON, SQL, Excel (!!!), HDF5, Stata, и некоторых других вещей.
В этой части мы поговорим о работе с данными из баз данных SQL.
Часть 8: работа с данными из базы данных SQL
До этого момента, мы получали данные только из csv файлов. Это довольно распространённый способ сохранения данных, но далеко не единственный!
Pandas может работать с данными из HTML, JSON, SQL, Excel (!!!), HDF5, Stata, и некоторых других вещей.
В этой части мы поговорим о работе с данными из баз данных SQL.
Автопостинг c ВК в телеграм
По просьбе одного из подписчиков нашего канала мы приготовили для вас статью о том, как же осуществить автопостинг с ВК в телеграм.
По просьбе одного из подписчиков нашего канала мы приготовили для вас статью о том, как же осуществить автопостинг с ВК в телеграм.