❗️Навигация❗️
#DataScience - Про дата-сатанизм: материалы, идеи, мысли и т.д.
#DataAnalyst - Соответственно про дата-аналитику
#Материалы - Про ресурсы и материалы, которые помогут IT
#Собесы - Рекомендации про собесы
#События - Хакатоны, митапы, встречи, соревнования, работа
#Мысляки - Мои мысли и рассуждения на разные темы
#DataScience - Про дата-сатанизм: материалы, идеи, мысли и т.д.
#DataAnalyst - Соответственно про дата-аналитику
#Материалы - Про ресурсы и материалы, которые помогут IT
#Собесы - Рекомендации про собесы
#События - Хакатоны, митапы, встречи, соревнования, работа
#Мысляки - Мои мысли и рассуждения на разные темы
🔥5
Личный ROADMAP по Data Science/Data Analytics
+ ссылки на ресурсы
Придерживаясь этого плана, я стал Junior Data Science по NLP🤓1. Математика 🧮
Для начала хватит первого курса вышмата:
- Линейная алгебра (матрица, определитель, обратная матрица и т.д.)
- Математический анализ (производные, градиенты, дифференциалы, интегралы и т.д.)
Здесь подойдёт любой курс по вышмату первого курса
2. Статистика и теория вероятностей. 📈
Это очень важная часть обучения, ей стоит уделить значительное внимание, потому что дальнейшее машинное обучения строится на статистике и тервере
3. Python 🐍
Это ваше сердце, вы будете к этому прикасаться каждый день.
Примерный стек:
pandas , numpy , matplotlib
Чтобы запомнить лучше, необходима практика
3. SQL 🗃
Здесь самое главное - практика. Вы не сможете выучить SQL, не решив, хотя бы 100 задач
Теория + практика
Практика
Вот здесь чуть-чуть разделяются пути аналитика и дата-сатаниста
Для Data Scientist'а
1. Машинное обучение. 🤖
Начинаем с линейной регрессии и заканчиваем... А ничем мы не заканчиваем, это тема необъятна просто продолжаем учиться.
Если чувствуем, что спокойно можем написать fit/predict без документации, то пробуем ходить на собеседования и выполнять рекомендации, которые я написал в посте выше
Курс по ML
2. Нейронки. 🤖🤖🤖
Это будет страшно, но выполнимо. Еë вы будете изучать очень и ОЧЕНЬ много, но как только вы выучите основы, то опять по собесам бегайте
Курсы от МФТИ
3. A/B тесты. 📊
Они нужны в нашем случае, чтобы быть уверенным можно ли загружать модельки загружать на прод.
Желаю ознакомиться с данной темой, всегда будет полезна
Вводное видео по a/b тестам
Необязательные для Джуна, но очень желательные
4. Алгоритмы 😵💫
Когда вы будете писать нейронку, и вам необходимо написать эффективную программу, то ИДЕИ и НАВЫКИ, которые вы получите в результате изучения алгоритмов вам очень помогут
Здесь нужно решать задачи на алгоритмы
5. Английский 🗣
Необходимо, чтобы изучать новую информацию по дата-сатанизму.
Сам изучаю данную тему, поэтому сложно сказать по ресурсам.
Также поделюсь совместным каналом, в котором публикуются материалы по Data Science: https://news.1rj.ru/str/shaminmatan
#DataAnalyst
#DataScience
#Материалы
Stepik: online education
Основы статистики
Курс знакомит слушателей с основными понятиями и методами математической статистики. В течение трех недель мы рассмотрим наиболее широко используемые статистические методы и принципы, стоящие за ними. Полученных знаний будет достаточно для решения широкого…
🔥17👍2👏2🤔1💊1
Ebout Data Science | Дима Савелко pinned «Всём привет, привет всем 🙌 Я Дима - ditengm, и это мой телеграм канал про it. Чем он будет отличаться от других тг каналов: ➡️ я буду рассказывать про опыт и мысли человека, который родился в маленьком городе на 20к, выбрался в Москву и уже нашёл работу…»
Сегодня был на конференции ITalks, на которой говорилось о российском Финтехе.
Плюсы от конференций:1. Нетворкинг 👥
Моя самая любимая часть конференций. Вы можете познакомиться с человеком, который
- даст вам оффер 💥
- даст совет и рекомендации🔥
- пригласит на стажировку ⚡️
- ну или вы просто можете классно провести время ☀️
Пример:
Я познакомился с завкафедрой института искусственного интеллекта и анализа данных вуза
Замечательный мужик, который знает очень много в своей сфере. Он пригласил меня выступить на конференции по нейронкам, естественно я согласился)
2. Знания 📜
Доклады людей, которые шарят в той или иной сфере, могут очень вас идейно прокачать.
Пример:
Сегодня был доклад про биометрию
(Это когда с помощью личика можешь заходить в телефончик)
- Обсуждалась система биометрии в современных процессах.
- Была выдвинута идея введения edge-устройств для защиты ваших личных данных (данных вашего красивого личика)
- А также оптимизация нейронок для слабых устройств
И на эти темы у меня есть знания от топового специалиста 🏆
3. Развлечение 🎉
Иногда стоит отдохнуть с друзьями, этому может способствовать конференция. Допустим сегодня давали бесплатную еду и бесплатный алкоголь, плюс там выступал Wylsacom, что подогревало мой интерес
Ходите на конференции и митапы, так вы будете красавчиками красивыми 😎
#Мысляки #События
🔥5
+1 Выигранный Хакатон 😎Наша команда заняла второе место на хакатоне ZakupkiHack. Я выступал в качестве капитана-MLщика, и это была далеко не самая лёгкая задача. Два с половиной дня написания кода и одна бессоная ночь дали свои плоды, и у нас получилось сделать достойное решение.
Задача 🤔
Сделать анализ рынка для поставщика, который вводит описание интересующего его товара. Например, мне интересны "игрушки для детей от трёх лет", и алгоритм делает аналитику на основе похожих товаров.
Что было дано 🗂
Датасет из позиций закупок, грубо говоря, были даны покупки определённого товара. В эту закупку входила цена, страна, описание и категория товара.
Решение 📊
1. Почистили мега вонючий датасет от мусора💩
2. Распарсили текст и провели лемматизацию (это штука переводит слово в изначальное состояние: слово красивейший в красивый )
сделали из них эмбеддинги (вектора (для самых маленьких - это циферки) , которые передают определённую информацию о словах). 🧮
3. С помощью расчёта угла косинуса между описанием, который нам дал поставщик, желающий получить аналитику, и всеми описаниями, которые у нас были в тексте. Подсчитанный угол косинуса показывает насколько близки вектора друг другу, другими словами, насколько сильно описания сходятся, тем самым отобрали топ похожих описаний из изначального датасета
4. По итогу построили графики, которые показывают место нашего поставщика среди конкурентов, конкуренцию на рынке, а также анализ по странам 📈
Проблемы 🫠
1. Там было много редких слов, которые было очень сложно обработать. Из-за их редкости алгоритму было очень сложно понять, что мы вообще от него хотим, да даже человеку порой сложно догадаться до этого.
Вот представьте, что у вас просят шиберную задвижку DN 500, я бы ударил этого человека, который меня это попросил 🤡
2. Мы выдаём определённое количество подходящих товаров, то есть мы можем выдать товары, которые не подходят его запросу, или выдать не все запросы
Итог:
Много вкусной еды на фуршете.... 🥴
Ну и конечно же второе место с проектом, который не стыдно показать работодателем. Также познакомился со многими интересными людьми и возможно нашёл работу🤫
GitHub с проектом
#События
GitHub
GitHub - ditengm/HackatonZakupki: Solving of Hackaton "Zakupki"
Solving of Hackaton "Zakupki". Contribute to ditengm/HackatonZakupki development by creating an account on GitHub.
🔥8👍4❤2
Необходимость ВУЗа для программиста
Есть мир айтишников, а есть остальной мир : гуманитариев, инженеров и всех кто не IT. Я сейчас буду рассматривать конкретно сторону IT. И это чисто субъективщина, свои мысли в комментарии. Буду рад обсудить 🤡
Начну с того, что нужно среднестатистическому прогеру - работа. Потому что основное обучение ремеслу происходит именно там, а значит и развитие по карьерной лестнице. Но джуну сложно получить еë, ведь даже при поиске первой работы, тебя просят
ВУЗ не даëт релевантный опыт работы, как следствие, выпускник выходит с голой попой и никому не нужный 🫣
1 год бакалавра необходим - это матан + линал, это база, особенно в DS. Но остальные три года? За это время можно выучить релевантные предметы и стать специалистом более лучшего качества в определённой сфере
Тут можно поспорить: ВУЗ тебя делает специалиста широкого качества. Ты сможешь и в DS, и в DA, и в разработку, да даже принтеры чинить сможешь. Но качество образования лично моего ВУЗа (МИРЭА) оставляет желать лучшего ПО НЕКОТОРЫМ ПРЕДМЕТАМ. На мой вопрос к преподавателю "зачем это мне нужно будет , и где я смогу это применять? ", препод с улыбкой отворачивается, игнорируя меня. И как тогда мне интересоваться предмету, если я даже не знаю зачем он мне нужен ?
Я слышал и видел много практик, когда человек работал с второго курса и на выходе из ВУЗа получал +200к, при этом забивая на образование в ВУЗе, но не забивая на личное образование 😎
Вопрос остаëтся открытым в комментариях, но стоит подчеркнуть, что ВУЗ даëт невероятно важную вещь в жизни - социальный лифт. Ты знакомишься, сотрудничаешь, враждуешь, дружишь, создаëшь... И все те дела, которые воспитывают тебя, как социальную единицу. В этом я полностью благодарен ВУЗу.
#Мысляки
❤🔥6👍1🤔1
Материалы по DS / DAPython / SQL
- Программирование на Python
- Алгоритмы и структуры данных МФТИ
- Тренировка алгосов
- Интерактивный тренажер по SQL
- Оконные функции
- Pandas
- Numpy
- Matplotlib
Статистика:
- Основы статистики I
- Основы статистики II
- A/B тестирование
- Математическая статистика
- Теория вероятностей
ML / AI
- Введение в Data Science и машинное обучение
- Машинное обучение МФТИ
- Глубинное обучение ШАД
- Машинное и глубокое обучение DLS
Tableau
- Визуализация данных с Tableau
- Tableau - продвинутый курс
Пост будет со временем дополняться
Пару ссылок взял у этого товарища - https://github.com/0n1xx
#Материалы #DataScience #DataAnalyst
Stepik: online education
Программирование на Python
Курс посвящен базовым понятиям и элементам языка программирования Python (операторы, числовые и строковые переменные, списки, условия и циклы). Курс является вводным и наиболее подойдет слушателям, не имеющим опыта написания программ ни на одном из языков…
🔥11🍌1
Ebout Data Science | Дима Савелко pinned «Личный ROADMAP по Data Science/Data Analytics + ссылки на ресурсы Придерживаясь этого плана, я стал Junior Data Science по NLP🤓 1. Математика 🧮 Для начала хватит первого курса вышмата: - Линейная алгебра (матрица, определитель, обратная матрица и т.д.) …»
Ebout Data Science | Дима Савелко pinned «Материалы по DS / DA Python / SQL - Программирование на Python - Алгоритмы и структуры данных МФТИ - Тренировка алгосов - Интерактивный тренажер по SQL - Оконные функции - Pandas - Numpy - Matplotlib Статистика: - Основы статистики I - Основы статистики…»
Основные типы задач машинного обучения
Умение различать типы задач в машинном обучении - это одна из самых важных задач, с которыми вы столкнётесь.Есть три основных вида задач машинного обучения:
- Обучение с учителем (Supervised Learning)
- Обучение без учителя (Unsupervised Learning)
- Обучение с подкреплением (Reinforcement Learning)
1️⃣ Обучение с учителем (Supervised Learning) - это когда у вас есть с чем сравнивать, то есть примеры правильных ответов, на которых обучается модель. Грубо говоря, вы показываете тупой машине, что является правильным ответом, а она со временем становится умной и красивой
а) Задача регрессии - предсказание определённого числа на основе каких-то данных. (Предсказание стоимости квартиры, исходя от месторасположения и количества квадратных метров)
б) Задача классификации - предсказание определённого класса тоже на основе каких-то данных (Предсказание пола человека по росту, весу и тд.)
2️⃣ Обучение без учителя (Unsupervised Learning) - это когда моделька предсказывает без вашего вмешательства, то есть вы не лезете в её обучение, она сильная и независимая
а) Кластеризация - объединение объектов в группы по схожим признакам
б) Рекомендательные системы - подбор контента на основе предпочтений пользователя (Spotify, youtube, netflix - все они используют рекомендательные системы)
в) Поиск аномалий — поиск объекта, сильно отличающегося от других
3️⃣ Обучение с подкреплением (Reinforcement Learning)
Модель обучается на основе её прошлых предсказаний, она взаимодействует с некоторой средой, получая от неё негативные и позитивные сигналы, тем самым выступая для себя в роле учителя
Пример
Почитать про машинное обучение можно здесь или здесь
#DataSciencce
YouTube
НА ЧТО СПОСОБЕН ИСКУССТВЕННЫЙ ИНТЕЛЛЕКТ ОТ OPENAI? @KosmoStory
➥ Подпишись - http://bit.ly/KosmoStory
➥ Наш основной канал - http://bit.ly/SUBKosmo
➥ Наш Telegram - https://telega.at/kosmo_off
➥ Группа Вк - https://vk.com/kosmo_official
Вся музыка взята с библиотеки Epidemic Sound
Production Music courtesy of Epidemic…
➥ Наш основной канал - http://bit.ly/SUBKosmo
➥ Наш Telegram - https://telega.at/kosmo_off
➥ Группа Вк - https://vk.com/kosmo_official
Вся музыка взята с библиотеки Epidemic Sound
Production Music courtesy of Epidemic…
🔥4❤1
Градиентный спуск.Что это такое ?
Разберёмся на примере:
Представьте, что вы находитесь среди гор, причём вы стоите на одной из вершин, и ваша задача - это спуститься вниз в самую глубокую точку, но при этом вы не понимаете - спускаетесь вы или нет, когда идёте вперёд. Но у вас в руке есть компас, который показывает, где находится самая высока точка среди вас этого горного массива. И вы уверенно шагаете напротив направления этой стрелки. 🏞
Градиентный спуск - это ваше движение для нахождения локального минимума функции вдоль градиента.
Градиент - это ваш компас, то есть вектор, который показывает направление наибольшее возрастания некоторой скалярной величины.
Градиент функции — это вектор, координатами которого являются частные производные этой функции по всем её переменным, грубо говоря, показывает точку куда смотрит ваш компас в вашем пространстве
Этапы градиентного спуска для функции одной переменной на картинке:
1️⃣ Мы появились в какой-то точке X_start, около которой хотим найти минимум функции
2️⃣ Затем мы находим наш градиент (направление нашего компаса)
3️⃣ И с определённой длиной шага спускаемся против направления нашего градиента. Определённая длина - это какое-то число, с которым мы будем спускаться вниз. Оно означает длину нашего шага. Назовём его learning_rate. Зачем это нужно, расскажу чуть позже.
4️⃣ Спустившись, мы получили новую точку X. И теперь повторяем всё с самого начало - то есть X_start = X
И наша финальная формула выглядит так: X = X_start - learning_rate * Градиент
Так как градиент - это вектор, который состоит из чисел. Они могут быть большими или маленькими. И мы можем спокойно перепрыгнуть наш минимум или вовсе не дойти до него. Поэтому для контроля мы используем Learning rate, он уменьшает наш шаг 🏃♀️
Подробнее можно посмотреть здесь или здесь
#DataScience
YouTube
[DeepLearning | видео 2] Градиентный спуск: как учатся нейронные сети
Оригинальная запись: https://www.youtube.com/watch?v=IHZwWFHWa-w
👍4🐳1
Про джунство на 2-ом курсеЭтот пост про:
1⃣ Как я к этому пришёл?
2⃣ Как совмещаю с вузом?
3⃣ Как меня взяли, если я на 2-ом курсе?
4⃣ Что я конкретно делаю на работе?
Можете смело пропускать пункты, которые вам не нравятся. Изложение будет по порядку 🙌
Как я к этому пришёл? 🏃♂
Работал. Много работал.
Это путь длинною в год, в начале которого я решил собрать команду, чтобы участвовать в хакатонах и параллельно изучал ML' ку в DLS.
Хакатоны дали мне бесценный опыт управления командой и некоторое виденье, как должны решаться бизнес задачки.
В конце весны, под самый разгар сессии, я решил активно начать искать различные вакансии. Путëм такого ожесточённого поиска я устроился на Karpov/Courses, а там пошло поехало...
Мне дали курсы от Толи Карпова, а они самая настоящая имба.
Я не останавливался в своих поисках работы ,и меня позвали на собеседование в DSM GROUP на аналитика, но во мне заметили потенциал дата сатаниста ,и дали мне офер сатанистом
Вывод: работай, не сдавайся, не бойся ошибок и работай
Как я совмещаю с вузом? 🫣
В вуз я хожу два раза в неделю, стараясь вовремя закрывать дедлайны, а все остальные дни хожу на работу. Спасибо моим любимым одногруппникам, что кидаете мне ДЗ. В целом каждый может совмещать, но работа - это дополнительные усилия и ответственность. Можно договариваться с одногруппниками, с преподавателями, короче, крутится и вертеться
Как меня взяли, если я на 2-ом курсе? 🤓
Всë зависит от работодателя: некоторым компаниям непринципиально взять студента, некоторые принимают только с высшим образованием, некоторые принимают только студентов. Мне повезло, моему руководителю было всë равно на возраст.
Ещё дело в том, сможете ли вы решить бизнес-задачу - вы должны доказать, что именно вы лучше всех выполните задачу и принесëте больше всех денег компании
Что я делаю на работе? 🧑💻
Я разрабатываю модель, которая должна определять один класс из десятки тысяч по текстовому описанию препарата. Это задача про nlp и про классический ml. Основная сложность заключается в достижении высокого качества. Мне нужно выбить accuracy ≈ 0.95, а я напомню, что это многоклассовая классификация по текстовому описанию
Более подробный пост будет, когда я выполню задачу, расскажу про технологии и подходы
Вывод:
- Работал много и усердно, чтобы был виден результат
- Вы должны чётко распределять нагрузку между работой и остальной жизнью
- Порешайте больше бизнес-задач в DS, чтобы показать работадателю, что
♂ ass you can ♂
#Мысляки
❤12🔥5⚡1🏆1👨💻1
Линейная регрессияВы бизнесмен, продаёте квартиры. Вам необходимо узнать сколько будут стоить квартиры с определённым количеством квадратных метров (м^2), пусть это количество = x 🤔
То есть, у вас есть:
- Количество минут до метро равное x
Вам необходимо:
- Узнать цену квартиры, пусть она будет равна y
У вас есть распределение цен в зависимости от количества квадратных метров (Красные точки на картинке снизу).
Окей, у нас есть данные, у нас есть задача: предсказать что-то от чего-то (Число на вход - число на выход). И тут приходит она - линейная регрессия 🤤
Линейная регрессия - это линейная модель, то есть зависимости в ней являются линейными: y = b_0 + b_1*x_1 + ... + b_n*x_n,
где b_0, b_1, ... b_n - это константы, обычные числа, x_1, ... x_n - переменные 🫠
Что делает линейная регрессия:
- Она инициализирует b-этки, то есть генерирует рандомные коэффициенты для нашей линейной модели
- Потом подбирает их особым образом, чтобы линия, которая получается в ходе построения модели, передавала зависимость между ценой и квадратными метрами
Как она подбирает b-этки:
Здесь в бой вступает функция потерь.
Вот представьте, что у вас получилось какое предсказание y, но оно плохое, недостаточно передаёт нашу истинную зависимость
Функция потерь показывает насколько наша модель ошибается. Взяв производную от функции потерь, и с помощью градиентного спуска будем корректировать b-этки, что позволит модели лучше передать зависимость в данных 🙄
И что дальше ? Как оценить нашу модель ?
Есть такая вещь, называется метриками. Они показывают насколько модели хорошо работают. Метрик существует довольно таки много, например, для линейной регрессии: MSE, MAE, RMSE, RMSLE. Чаще всего используется MSE. но всё таки зависит от задачи.
Итог:
Линейная регрессия - незаменимая вещь любого дата сатаниста, правильно отобрав фичи, можно выбить качество большее, чем у какой-нибудь нейронки.
Данный пост был ознакомительный, подробнее читать тут, а смотреть тут 🫡
#DataScience
Хабр
Открытый курс машинного обучения. Тема 4. Линейные модели классификации и регрессии
Всем привет! Сегодня мы детально обсудим очень важный класс моделей машинного обучения – линейных. Ключевое отличие нашей подачи материала от аналогичной в курсах эконометрики и статистики – это...
🔥6👍2❤1🍌1
Векторное представление слов
Вот представьте, что вам необходимо предсказать положительный или отрицательный отзыв фильма.Отзыв - "Фильм для дауничей, ливнул на 5 минуте" 🥴
Нам понятно, что явно отзыв отрицательный и написан недалёким человеком, но как машине понять окрас этого отзыва ?
Явно нужно построить модель бинарной классификации и засунуть в неё.... слова?! Нет, эмбеддинги
Эмбеддинги - это векторное представление чего-либо, в данном случае слов. То есть у нас есть слово "Мама", мы его представляем в вектор = [0,1, -3, ..., 12, -153]
Есть несколько методов, как можно представить слово в вектор.
1️⃣ Bag Of Words - для каждого слова подсчитываем его встречаемость в тексте.
Плюсы:
· Простой в применении;
· Не требует обработки текста.
Недостатки:
· Может порождать огромные матрицы;
· Не учитываем общий контекст задачи и среднюю частоту всех слов;
Смотреть тут
2️⃣ TF-IDF - позволяет выделить самые слова в тексте, учитывая общий контекст задачи, и то что написано в других объектах
Плюсы:
· Более компактный, чем bag of words;
· Учитывает важность слов.
Недостатки:
· Получаем оценку важности каждого слова через частности, но не погружаемся в контекст;
· Как и bag of words, у данного метода есть проблемы с однокоренными словами, падежами, склонениями и так далее.
Смотреть и читать
3️⃣ Word2Vec - название говорит само за себя, СловоКВектору
Плюсы:
· Модель быстро обучается и генерирует эмбеддинги (даже ваши собственные).
· Эмбеддинги наделены смыслом, спорные моменты поддаются расшифровке.
Минусы:
· Обучение на уровне слов: нет информации о предложении или контексте, в котором используется слово.
· Модель не учитывает то, что слово может иметь различное значение в зависимости от контекста использования
· Не очень хорошо обрабатывает неизвестные и редкие слова.
Смотреть
4️⃣ fastText - К основной модели Word2Vec добавлена модель символьных n-грамм. Это когда мы разбиваем слова на части "Черепаха" - "Чер", "ера", "реп", "епа", "пах", "аха"
Плюсы:
· Благодаря n-граммам неплохо работает на редких и устаревших словах.
· Решает проблему опечаток и склонений
Минусы:
· Обучение на уровне слов: нет информации о предложении или контексте, в котором используется слово.
· Игнорируется совместная встречаемость, то есть модель не учитывает различное значение слова в разных контекстах
Смотреть
Классная статья про эти и другие модели создания эмбеддингов
YouTube
Bag of Words
Analyzing and quantifying unstructured data, such as text, is the core of natural language processing. In this short video, director of data science, Max Margenot explains how to preprocess a text document using tokenization and stemming to create a bag of…
👍4❤2🐳2🤔1🤯1
Как сделать рекомендательную систему 🧮Мне дали тестовое задание после выигранного хака от Росэлторга 😎
На вход: у вас есть услуга ,и её надо продать. Также есть её описание: цена, категория, площадка продажи и тд.
На выход: топ покупателей, которые в потенциале могут заинтересовать этой услугой
Решение:
1️⃣ Преподготовка данных.
Датасеты, которые мне дали были довольно таки большие, поэтому я разбил его на рандомные строки и смерджил
Почистил их, сгенерил пару фич и свалидировал на основании времени
Дефолтная скучная фигня в данном случае
2️⃣ Обучение модельки
На одну услугу претендует несколько продавцов, но выигрывает только один. Поэтому я решил задачу бинарной классификации (чи купил/чи не купил).
ROC-AUC = 0.907 | PR-AUC = 0.955
Репозиторий с хорошими примерами использования CatBoost
3️⃣ Формирование эмбеддинга
Также в данных было описание: "Продам
Найдя похожие записи про продажи
Я использовал FastText над лемматизированными словами. так как он не боится редких слов и не боится орфографических ошибок из-за n-gramm
4️⃣ Метрики
Было подсчитано две метрики
1 - Для какой части процедур в зависимости от n угадали хотя бы одного участника, то есть с какой долей вероятности мы угадали хотя бы одно микрославича
2 - Общая доля угаданных уникальных участий, сколько в среднем микрославичей мы можем угадать
Вывод:
Можно построить рекомендательную системы таким образом, которым я рассказал. Такой подходит тогда, когда у вас нет оценки релевантности у продукта, а только лишь его описание. Такой метод называется Контентной рекомендацией.
Отбор кандидатов - нахождение похожих товаров с помощью FastText и косинусной близости
Формирование фичей и применение модельки поверх всего говна, которого мы сделали 💩
GitHub
RecSysRoseltorg/RecommendationSystem.ipynb at main · ditengm/RecSysRoseltorg
Recommendation system for purchases and customers - ditengm/RecSysRoseltorg