Warning: mkdir(): No space left on device in /var/www/group-telegram/post.php on line 37

Warning: file_put_contents(aCache/aDaily/post/boris_again/--): Failed to open stream: No such file or directory in /var/www/group-telegram/post.php on line 50
Борис опять | Telegram Webview: boris_again/1199 -
Telegram Group & Telegram Channel
# Поиск работы: разбор тестового задания Easysize

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

Они делают рекомендации размеров одежды на Shopify. При выборе размера покупатель заполняет небольшой опрос: обычно ношу 36-ой, рост 156, бывает жмет в плечах. В ответ получает ML рекомендацию: покупай 36-ой. Это растит конверсию в покупку.

На собеседовании мы с СТО сразу нашли общий язык. Он рассказал, что под каждый магазин они тренируют модель руками. Вначале бывает очень мало данных от магазинов. Я сразу понял: "Значит проблема в том, что так масштабироваться невозможно. Нужно подключать магазины автоматически и решить проблему холодного старта." СТО очень понравилось, что я ухватил суть проблемы. Я сказал, что могу это сделать.

После ряда собеседований они прислали мне тестовое задание. CSV с 300 ответами покупателей на опрос. Id продукта, категория, рост покупателя, обычно покупаемый размер, ответы в каких местах обычно жмет, какой размер в итоге купил, какой фидбек оставил, какие были проблемы с купленной вещью. Задача: дать рекомендации.

Первая проблема, что нет таргета. Мы не знаем какой размер человеку действительно подходит, знаем только какой он купил. Вторая проблема: ничего не учится. Я подошел к задаче как к классификации, где рекомендуемый размер это класс. Попробовал для начала предсказывать купленный размер. Логрег просто не сходится. Еще в начале подумал, что влияют только две фичи: обычно покупаемый размер и рост. Визуализация это подтвердила: какой человек обычно носит размер, такой и покупает. Данных нет, таргета нет, фичей нет, какой тут ML?

Я уже хотел бросить это тестовое. Но решил поиграть в игру: что если бы я уже работал в этой компании? Приходит ко мне бизнес, и что я ему скажу? "Ой тут ничего не сделать, я сдаюсь"? Стало интересно, что же можно выжать.

ML не обучается. Максимум можно сделать какую-то таблицу: с таким обычным размером, таким ростом и прочими ответами как у тебя люди чаще всего покупают эту вещь с размеро• Х. Не руками же эту таблицу составлять: и оверфит большой, и обновлять трудно, и проблему масштабирования так не решить. Нужна обучаемая автоматическая таблица.

И я как раз знаю такую! Random Forest. Раскладывает обучающую выборку по полочкам. Не переобучается. Экстраполировать не умеет, а нам как раз не нужно. Все виды фичей умеет обрабатывать из коробки, никакого препроцессинга не надо. На train-test split данных нет, а RF как раз дает бесплатно out-of-bag оценку тестовой ошибки. Обучил на предсказание купленного размера: красота, около 0.7 OOB f1-score. Но как же рекомендовать не тот размер, что обычно покупают, а тот, что подойдет? Придумал трюк: выкидываем все примеры, где у людей был негативный фидбек, на остальных обучаем. Получаем модель, которая говорит "люди с твоими параметрами, которые оказались довольны, купили Х."

Попробовал, изучил результаты предсказаний на недовольных покупкой, которые не попали в трейн сет модели. Нашел несколько крутых случаев: человек купил размер Х, написал фидбек, что вещт оказалась маловата. Рекомендация модели: стоило покупать на размер больше. Вау, полезные рекомендации, отпад!

Но это только начало, потому что это выполнение на сто процентов. Надо на стопятьдесят. Что еще можно выжать? Я задумался, что для эффективности рекомендаций важно доверие к ним. С чего тебе верить черному ящику, который говорит покупать 50-ый размер?



group-telegram.com/boris_again/1199
Create:
Last Update:

# Поиск работы: разбор тестового задания Easysize

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

Они делают рекомендации размеров одежды на Shopify. При выборе размера покупатель заполняет небольшой опрос: обычно ношу 36-ой, рост 156, бывает жмет в плечах. В ответ получает ML рекомендацию: покупай 36-ой. Это растит конверсию в покупку.

На собеседовании мы с СТО сразу нашли общий язык. Он рассказал, что под каждый магазин они тренируют модель руками. Вначале бывает очень мало данных от магазинов. Я сразу понял: "Значит проблема в том, что так масштабироваться невозможно. Нужно подключать магазины автоматически и решить проблему холодного старта." СТО очень понравилось, что я ухватил суть проблемы. Я сказал, что могу это сделать.

После ряда собеседований они прислали мне тестовое задание. CSV с 300 ответами покупателей на опрос. Id продукта, категория, рост покупателя, обычно покупаемый размер, ответы в каких местах обычно жмет, какой размер в итоге купил, какой фидбек оставил, какие были проблемы с купленной вещью. Задача: дать рекомендации.

Первая проблема, что нет таргета. Мы не знаем какой размер человеку действительно подходит, знаем только какой он купил. Вторая проблема: ничего не учится. Я подошел к задаче как к классификации, где рекомендуемый размер это класс. Попробовал для начала предсказывать купленный размер. Логрег просто не сходится. Еще в начале подумал, что влияют только две фичи: обычно покупаемый размер и рост. Визуализация это подтвердила: какой человек обычно носит размер, такой и покупает. Данных нет, таргета нет, фичей нет, какой тут ML?

Я уже хотел бросить это тестовое. Но решил поиграть в игру: что если бы я уже работал в этой компании? Приходит ко мне бизнес, и что я ему скажу? "Ой тут ничего не сделать, я сдаюсь"? Стало интересно, что же можно выжать.

ML не обучается. Максимум можно сделать какую-то таблицу: с таким обычным размером, таким ростом и прочими ответами как у тебя люди чаще всего покупают эту вещь с размеро• Х. Не руками же эту таблицу составлять: и оверфит большой, и обновлять трудно, и проблему масштабирования так не решить. Нужна обучаемая автоматическая таблица.

И я как раз знаю такую! Random Forest. Раскладывает обучающую выборку по полочкам. Не переобучается. Экстраполировать не умеет, а нам как раз не нужно. Все виды фичей умеет обрабатывать из коробки, никакого препроцессинга не надо. На train-test split данных нет, а RF как раз дает бесплатно out-of-bag оценку тестовой ошибки. Обучил на предсказание купленного размера: красота, около 0.7 OOB f1-score. Но как же рекомендовать не тот размер, что обычно покупают, а тот, что подойдет? Придумал трюк: выкидываем все примеры, где у людей был негативный фидбек, на остальных обучаем. Получаем модель, которая говорит "люди с твоими параметрами, которые оказались довольны, купили Х."

Попробовал, изучил результаты предсказаний на недовольных покупкой, которые не попали в трейн сет модели. Нашел несколько крутых случаев: человек купил размер Х, написал фидбек, что вещт оказалась маловата. Рекомендация модели: стоило покупать на размер больше. Вау, полезные рекомендации, отпад!

Но это только начало, потому что это выполнение на сто процентов. Надо на стопятьдесят. Что еще можно выжать? Я задумался, что для эффективности рекомендаций важно доверие к ним. С чего тебе верить черному ящику, который говорит покупать 50-ый размер?

BY Борис опять


Warning: Undefined variable $i in /var/www/group-telegram/post.php on line 260

Share with your friend now:
group-telegram.com/boris_again/1199

View MORE
Open in Telegram


Telegram | DID YOU KNOW?

Date: |

The Security Service of Ukraine said in a tweet that it was able to effectively target Russian convoys near Kyiv because of messages sent to an official Telegram bot account called "STOP Russian War." Also in the latest update is the ability for users to create a unique @username from the Settings page, providing others with an easy way to contact them via Search or their t.me/username link without sharing their phone number. The Securities and Exchange Board of India (Sebi) had carried out a similar exercise in 2017 in a matter related to circulation of messages through WhatsApp. Russian President Vladimir Putin launched Russia's invasion of Ukraine in the early-morning hours of February 24, targeting several key cities with military strikes. Two days after Russia invaded Ukraine, an account on the Telegram messaging platform posing as President Volodymyr Zelenskiy urged his armed forces to surrender.
from vn


Telegram Борис опять
FROM American