en
Feedback
Machine learning Interview

Machine learning Interview

Open in Telegram

ИИ, Rust, вайбкодинг, Data Science, Deep Learning и делюсь тем, что интересно и полезно! Вопросы - @workakkk РКН: clck.ru/3FmwRz

Show more

📈 Analytical overview of Telegram channel Machine learning Interview

Channel Machine learning Interview (@machinelearning_interview) in the Russian language segment is an active participant. Currently, the community unites 30 268 subscribers, ranking 4 300 in the Technologies & Applications category and 21 337 in the Russia region.

📊 Audience metrics and dynamics

Since its creation on невідомо, the project has demonstrated rapid growth, gathering an audience of 30 268 subscribers.

According to the latest data from 03 September, 2026, the channel demonstrates stable activity. Although there has been a change in the number of participants by 130 over the last 30 days and by 20 over the last 24 hours, overall reach remains high.

  • Verification status: Not verified
  • Engagement rate (ER): The average audience engagement rate is 12.41%. Within the first 24 hours after publication, content typically collects 7.38% reactions from the total number of subscribers.
  • Post reach: On average, each post receives 3 755 views. Within the first day, a publication typically gains 2 234 views.
  • Reactions and interaction: The audience actively supports content: the average number of reactions per post is 31.
  • Thematic interests: Content is focused on key topics such as claude, llm, контекст, hermes, nvidia.

📝 Description and content policy

The author describes the resource as a platform for expressing subjective opinions:
ИИ, Rust, вайбкодинг, Data Science, Deep Learning и делюсь тем, что интересно и полезно! Вопросы - @workakkk РКН: clck.ru/3FmwRz

Thanks to the high frequency of updates (latest data received on 04 September, 2026), the channel maintains relevance and a high level of publication reach. Analytics show that the audience actively interacts with content, making it an important point of influence in the Technologies & Applications category.

30 268
Subscribers
+2024 hours
+697 days
+13030 days
Posts Archive
🚀 Опишите алгоритм для нахождения миллиона наименьших чисел в наборе из миллиарда чисел. Память компьютера позволяет хранить весь миллиард чисел. Если придумали какое-либо решение, то оцените его эффективность по времени. Есть ли более эффективное решение? Решение 1. Сортировка Можно отсортировать элементы в порядке возрастания, а затем взять первый миллион чисел. Это потребует O(n log(n)) времени. Решение 2. Минимум кучи Чтобы решить эту задачу, можно использовать минимум кучи. Мы сначала создаем кучу для первого миллиона чисел с наибольшим элементом сверху. Затем мы проходимся по списку. Вставляя элемент в список, удаляем наибольший элемент. В итоге мы получим кучу, содержащую миллион наименьших чисел. Эффективность алгоритма O(n log(m)), где m — количество значений, которые нужно найти. Решение 3. Ранжирование (если изменять исходный массив) Данный алгоритм очень популярен и позволяет найти i-й наименьший (или наибольший) элемент в массиве. Если элементы уникальны, поиск i-гo наименьшего элемента потребует О(n) времени. Основной алгоритм будет таким: Выберите случайный элемент в массиве и используйте его в качестве «центра». Разбейте элементы вокруг центра, отслеживая число элементов слева. Если слева находится ровно i элементов, вам нужно вернуть наибольший элемент. Если слева находится больше элементов, чем i, то повторите алгоритм, но только для левой части массива. Если элементов слева меньше, чем i, то повторите алгоритм справа, но ищите алгоритм с рангом i - leftSize. Приведенный далее код реализует этот алгоритм. public int partition(int[] array, int left, int right, int pivot) { while (true) { while (left <= right && array[left] <= pivot) { left++; } while (left <= right && array[right] > pivot) { right--; } if (left > right) { return left - 1; } swap(array, left, right); } } public int rank(int[] array, int left, int right, int rank) { int pivot = array[randomIntInRange(left, right)]; /* Раздел и возврат конца левого раздела */ int leftEnd = partition(array, left, right, pivot); int leftSize = leftEnd - left + 1; if (leftSize == rank + 1) { return max(array, left, leftEnd); } else if (rank < leftSize) { return rank(array, left, leftEnd, rank); } else { return rank(array, leftEnd + 1, right, rank - leftSize); } } Как только найден наименьший i-й элемент, можно пройтись по массиву и найти все значения, которые меньше или равны этому элементу. Если элементы повторяются (вряд ли они будут «уникальными»), можно слегка модифицировать алгоритм, чтобы он соответствовал этому условию. Но в этом случае невозможно будет предсказать время его выполнения. Существует алгоритм, гарантирующий, что мы найдем наименьший i-й элемент за линейное время, независимо от «уникальности» элементов. Однако эта задача несколько сложнее. Если вас заинтересовала эта тема, этот алгоритм приведен в книге Т. Кормен, Ч. Лейзер-сон, Р. Ривестп, К. Штайн «CLRS’ Introduction to Algorithms» (есть в переводе). Пишите свое решение в комментариях👇 @machinelearning_interview

Сбер расширяет географию своих ивентов: 6 октября в Тбилиси состоится первый технологический митап, посвящённый разработке ре
Сбер расширяет географию своих ивентов: 6 октября в Тбилиси состоится первый технологический митап, посвящённый разработке рекомендательных систем 👨‍💻 На RecSys MeetUp вы познакомитесь с экспертами Сбера, станете частью одного из крупнейших IT-комьюнити и узнаете о: ✔️ Технологических трендах в области искусственного интеллекта и машинного обучения. ✔️ Устройстве современных стримингов компаний-партнёров Сбера. Гарантируем: будет интересно и безумно полезно каждому DS-специалисту. Регистрируйтесь по ссылке, встречаемся 6 октября в 18:30 по адресу: Тбилиси, Ресторан на 6 этаже отеля «Golden Palace», переулок Агмашенебели 62 💚

⭐️ Разбираем реальную задачи с собеседования Data Science https://www.youtube.com/watch?v=iLzA0H0Ao6o&t=28s @machinelearning_interview

🚗 Тест-драйв PyTorch 2.0 и заглядываем под капот «двушки» ⚜️ Новейший метод для ускорения кода в PyTorch 2.0 — torch.compile(), который позволяет JIT‑компилировать код PyTorch в оптимизированные ядра, требуя минимальных изменений кода. JIT‑компиляция (Just‑In‑Time compilation) — это процесс, при котором код на высокоуровневом языке преобразуется в код на низкоуровневом языке, который может быть быстрее и эффективнее исполнен процессором или графическим ускорителем. torch.compile() использует TorchDynamo и заданный бэкенд для JIT‑компиляции кода PyTorch. Рассмотрим, насколько эффективен torch.compile() на практике, заглянем под капот «двушки» PyTorch 2.0, чтобы узнать, как работает этот метод и какие преимущества он дает. Разработчики PyTorch заявляют, что torch.compile() может дать прирост производительности до 50% по сравнению с обычным кодом PyTorch. Для проверки этого заявления мы проведем ряд экспериментов на разных моделях и данных, выясним, есть ли реальная выгода от использования torch.compile(). 📌 Для того чтобы понять, как работает torch.compile() рассмотрим основные его компоненты, которые отвечают за различные аспекты JIT‑компиляции кода PyTorch: ▪️TorchDynamo — это динамический компилятор, который анализирует код PyTorch и определяет, какие части кода могут быть скомпилированы в оптимизированные ядра. Отслеживает изменения в коде и перекомпилирует его при необходимости. ▪️AOT AutoGrad — это система автоматического дифференцирования, которая позволяет вычислять градиенты для скомпилированных ядер. Генерирует код для обратного распространения ошибки во время компиляции, а не во время исполнения, что ускоряет процесс обучения нейронных сетей. ▪️PrimTorch — это набор примитивных операций, которые используются для построения скомпилированных ядер. Включает в себя базовые математические и логические операции, а также операции над тензорами, такие как сложение, умножение, свертка и т. д. ▪️TorchInductor — это бэкенд для JIT‑компиляции кода PyTorch в оптимизированные ядра для разных устройств. Поддерживает разные бэкенды и адаптирует код PyTorch к специфике каждого устройства. Далее подробнее рассмотрим, как работают компоненты TorchDynamo и TorchInductor и как они взаимодействуют друг с другом, чтобы обеспечить JIT‑компиляцию кода PyTorch. 📌Читать @machinelearning_interview

VK Data Meetup — митап об инструментах и людях, которые умеют работать с данными ⏰ Когда: 12 октября, 14:00 по Москве 📍 Реги
VK Data Meetup — митап об инструментах и людях, которые умеют работать с данными ⏰ Когда: 12 октября, 14:00 по Москве 📍 Регистрация VK Data Meetup — это серия событий о практиках работы с данными на разных уровнях. Митап 12 октября посвящен работе с большими данными и ML. Обсудим: • Тренды работы с данными; • Процессы взаимодействия со смежными подразделениями и внутри дата-команд; • Новые инструменты, такие как Spark on Kubernetes и No Code AutoML-платформы; • Кейсы решения практических бизнес-задач от ведущих российских компаний. Митап будет интересен дата- и ML-инженерам, тимлидам и разработчикам платформ данных, архитекторам и специалистам по Data Science. Присоединяйтесь к сообществу VK Data Meetup, чтобы узнать про работающие практики и поделиться своим опытом. Зарегистрироваться

🚀 TorchServe – это фреймворк, который является частью экосистемы PyTorch для обслуживания моделей, который является гибким и
🚀 TorchServe – это фреймворк, который является частью экосистемы PyTorch для обслуживания моделей, который является гибким и простым в использовании. Инструмент позволяет развертывать обученные модели PyTorch без необходимости писать собственный код. Он обеспечивает очень легкую настройку и низкую задержку даже для масштабных проектов. Возможности: Поддержка нескольких форматов моделей (torchscript, onnx, ipex, tensorrt); TorchServe можно использовать для многих типов вывода в производственных условиях. Объединение нескольких моделей в один граф/workflow; Инференс API (REST и GRPC); API для управления моделями; Метрики из коробки. pip install torch==1.7.0 torchvision==0.8.1 -f https://download.pytorch.org/whl/torch_stable.html pip install torchserve==0.2.0 torch-model-archiver==0.2.0 Примеры, демонстрирующие возможности и интеграции TorchServe @machinelearning_interview

❗️ Как устроены методы коллаборативной фильтрации для рекомендательных систем? 👉 Изучаем SVD алгоритм на открытом уроке 25 с
❗️ Как устроены методы коллаборативной фильтрации для рекомендательных систем? 👉 Изучаем SVD алгоритм на открытом уроке 25 сентября в 17:30 мск — «Методы коллаборативной фильтрации для рекомендательных систем: изучаем SVD алгоритм» 🔹 На занятии мы обсудим один из самых мощных алгоритмов области рексис, основанный на сингулярном разложении матрицы (SVD) 📌 Результаты урока: Вы примените на практике подход на основе SVD разложения матрицы для построения рекомендательной системы 👉 РЕГИСТРАЦИЯ https://otus.pw/8td7/ Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru. Вебинар пройдет в преддверии старта онлайн-курса «Machine Learning. Advanced» от OTUS. Реклама. ООО "ОТУС ОНЛАЙН-ОБРАЗОВАНИЕ". ИНН 9705100963. erid: LjN8Jx2Cp

🔍 Анализ данных для задач НЛП Для успешного NLP-проекта одним из важнейших этапов является предварительная обработка данных. В этой статье мы рассмотрим все шаги, связанные с анализом данных для любой задачи НЛП. Для анализа данных мы можем использовать статистические методы, вычислительные алгоритмы, чтобы обработать данные и повысить производительность модели. Шаги, описанные в этом посте, могут быть использованы для анализа данных для любой задачи НЛП. Настройка среды ▪Первым шагом любого проекта является настройка среды, т.е. установка важных пакетов и импорт важных библиотек. !pip install nltk !pip install pandas import pandas as pd import nltk from nltk.tokenize import sent_tokenize,word_tokenize from nltk.stem import PorterStemmer from nltk.corpus import stopwords import re Обзор данных ▪Следующим этапом проекта будет загрузка датасета. В данном случае мы будем использовать набор данных твитов о катастрофах из Kaggle. ▪Мы можем загрузить наш датасет с помощью библиотеки pandas. df = pd.read_csv("/train.csv") ▪Для того чтобы получить общее представление о данных, мы можем просмотреть верхние строки набора данных с помощью функции head в pandas: df.head(10) Для анализа столбца ключевых слов мы используем библиотеку seaborn, которая позволяет визуализировать распределение ключевых слов и их корреляцию с целью. plt.figure(figsize=(10,70)) sns.countplot(data=df,y="keyword",hue="target",saturation=0.50) plt.legend(bbox_to_anchor=(1.02, 1), loc='upper left', borderaxespad=0) plt.show() 📌 Продолжение @pro_python_code

❗️ Как стать высокооплачиваемым специалистом в ML? 👉 Совершенствуй мастерство ML в сообществе единомышленников на открытом у
❗️ Как стать высокооплачиваемым специалистом в ML? 👉 Совершенствуй мастерство ML в сообществе единомышленников на открытом уроке 26 сентября в 20:00 мск — «Алгоритм PCA как один из популярных Unsupervised алгоритмов ML» 🔹 Зачастую нам приходится проецировать многомерные данные на плоскость либо в пространство меньшей размерности. На открытом уроке вы узнаете, что из себя представляет задача снижения размерности 📌 Результаты урока: Вы изучите основные техники снижения размерности и изучите метод PCA 👉 РЕГИСТРАЦИЯ https://otus.pw/xq3E/ Реклама. ООО "ОТУС ОНЛАЙН-ОБРАЗОВАНИЕ". ИНН 9705100963. erid: LjN8KPo2x

⚡️ Онлайн-хакатон MORE.Tech 5.0 с призовым фондом 1 100 000 рублей от Банка ВТБ! 🟣 Треки: Mobile+Web: разработай сервис для
⚡️ Онлайн-хакатон MORE.Tech 5.0 с призовым фондом 1 100 000 рублей от Банка ВТБ! 🟣 Треки: Mobile+Web: разработай сервис для подбора оптимального банковского отделения; Metaverse: создай элементы виртуального пространства для взаимодействия пользователей с продуктами банка. Что тебя ждет: 🔹 Познакомишься с опытными ИТ-экспертами ВТБ; 🔹 Прокачаешься в разработке за 3 дня как за месяц. Помимо главного денежного приза в 1 100 000 рублей, тебя ждет фирменный мерч и подарки! Если нет своей команды — поможем ее собрать! Регистрируйся и вступай в чат участников, получи ответы на волнующие вопросы, найди команду или создай свою. ▶️ Регистрация уже идет, успевай подать заявку по ссылке Реклама. ООО "ФИЗТЕХ ДЖЕНЕЗИС". ИНН 7735184156. erid: LjN8JwFuz

🐼Как устроен Pandas: взгляд изнутри Структура данных Pandas Как правило, датафрейм поддерживается каким-нибудь массивом, например NumPy или Pandas ExtensionArray. Эти массивы хранят данные датафрейма. pandas добавляет промежуточный слой Block и BlockManager. Он управляет этими массивами, обеспечивая максимальную эффективность операций. Это одна из причин, почему в Pandas методы, работающие с несколькими столбцами, могут быть очень быстрыми. Далее более подробно рассмотрим упомянутые слои. Массивы Фактические данные датафрейма могут храниться в наборе массивов NumPy или Pandas ExtensionArray. Этот слой обычно направляет к базовой реализации, например использует NumPy API при условии хранения данных в массивах NumPy. Pandas хранит в них данные и вызывает свои методы без расширения интерфейса. Массивы NumPy обычно являются двумерными и дают ряд преимуществ в производительности, о которых речь пойдет далее. На данный момент Pandas ExtensionArray в основном представляют собой одномерные структуры данных, благодаря чему операции становятся предсказуемыми. Однако не обошлось и без недостатков: в ряде случаев страдает производительность. ExtensionArray допускает применение датафреймов, которые поддерживаются массивами PyArrow и другими типами данных Pandas. Block Датафрейм обычно состоит из столбцов, представленных по крайней мере одним массивом. Как правило, имеется коллекция массивов, так как один массив может хранить только один определенный тип данных. Эти массивы хранят данные, но не владеют информацией о том, какие столбцы они представляют. Каждый массив из датафрейма обернут соответствующим блоком Block. Block добавляет дополнительную информацию в массивы, например расположение представленных им столбцов. Block служит слоем вокруг фактических массивов с возможностью расширения вспомогательными методами, необходимыми для операций Pandas. ✔ При выполнении фактической операции с датафреймом Block гарантирует, что метод направляется в базовый массив. Например, при вызове astype он убедится, что эта операция вызывается в массиве. Данный слой не располагает информацией о других столбцах в датафрейме, являясь автономным объектом. BlockManager Как следует из названия, BlockManager управляет всеми Block, связанными с одним датафреймом. Он содержит сами Block и информацию об осях датафрейма, например имена столбцов и метки Index. И самое главное в том, что он направляет большинство операций к фактическим Block: df.replace(...) BlockManager гарантирует, что replace выполняется для каждого Block. Понятие консолидированного датафрейма Мы исходим из того, что датафреймы поддерживаются типами данных NumPy, например их данные могут храниться в двумерных массивах. При создании датафрейма Pandas гарантирует, что на каждый тип данных приходится только один Block: df = pd.DataFrame( { "a": [1, 2, 3], "b": [1.5, 2.5, 3.5], "c": [10, 11, 12], "d": [10.5, 11.5, 12.5], } ) У этого датафрейма есть 4 столбца, представленные двумя массивами: один из них хранит целочисленный тип данных, а другой — числа с плавающей точкой. Это и есть консолидированный датафрейм. Добавим новый столбец к этому датафрейму: df["new"] = 100 У него такой же тип данных, как и у существующих столбцов "a" и "c". Рассмотрим 2 возможных варианта дальнейших действий: 1. Добавление нового столбца в существующий массив, содержащий целочисленные столбцы. 2. Создание нового массива только для хранения нового столбца. ◾️ Первый вариант предусматривает добавление нового столбца в существующий массив. Для этого требуется скопировать данные, поскольку NumPy не поддерживает эту операцию без копирования. В итоге добавление одного столбца оборачивается слишком большими затратами. ◾️ Второй вариант 📌 Читать

Команда VK Cloud недавно запустила новый канал о работе с данными — Данные на стероидах. В нем ребята публикуют подборки инте
Команда VK Cloud недавно запустила новый канал о работе с данными — Данные на стероидах. В нем ребята публикуют подборки интересного контента по темам Data science, ML и Big Data. Например, рассказывают, про планирование и жизненный цикл ML-проектов, из-за чего происходят и как избежать утечек при работе с ML, или как создавать футуристичные графики с помощью Python. Помимо прочего, в канале много полезной информации о работе с данными, архитектуре дата-решений и новостей российского и международного Data-сообщества. 👉🏻 Подписывайтесь на канал Данные на стероидах, будет интересно!

Команда VK Cloud недавно запустила новый канал о работе с данными — Данные на стероидах. В нем ребята публикуют подборки инте
Команда VK Cloud недавно запустила новый канал о работе с данными — Данные на стероидах. В нем ребята публикуют подборки интересного контента по темам Data science, ML и Big Data. Например, рассказывают, про планирование и жизненный цикл ML-проектов, из-за чего происходят и как избежать утечек при работе с ML, или как создавать футуристичные графики с помощью Python. Помимо прочего, в канале много полезной информации о работе с данными, архитектуре дата-решений и новостей российского и международного Data-сообщества. 👉🏻 Подписывайтесь на канал Данные на стероидах, будет интересно!

🔝Лучшие GitHub репозитории для изучения MLOps. #️⃣ MLOps-Basics #️⃣ MLOps-Guide #️⃣ Awesome MLOps #️⃣ Awesome MLOps - Tools
🔝Лучшие GitHub репозитории для изучения MLOps. #️⃣ MLOps-Basics #️⃣ MLOps-Guide #️⃣ Awesome MLOps #️⃣ Awesome MLOps - Tools #️⃣ DTU MLOps #️⃣ MLOps Course @DevOPSitsec

SmartDev 2023 — большая конференция про технологии от Сбера 21 сентября в кинотеатре «Октябрь» пройдет технологическая конференция SmartDev 2023, организованная Сбером. На одной площадке соберутся ведущие инженеры и разработчики из Сбера, VK, Яндекса, Kaspersky и других компаний, чтобы обменяться опытом создания лучших технологических решений в мире. Основные темы конференции: – Машинное обучение и искусственный интеллект – Архитектура программных решений – DevOps – Работа с большими данными – Безопасность приложений – Инновации и стратегии в разработке ПО Помимо этого впервые в России можно услышать выступление генерального директора Gitee, китайского аналога GitHub.Yong Xu. Также участники конференции смогут задать вопросы создателям нашумевших проектов от Сбера — сервиса GigaChat и нейросети Kandinsky. Конференция соберёт 1500 участников в офлайне и несколько тысяч зрителей в онлайне. Участие бесплатное, подробности и регистрация — на сайте конференции.

👆 Принципы SOLID в инженерии данных. Часть 1. SOLID — это набор основных принципов процесса разработки ПО, направленных на упрощение чтения, тестирования и сопровождения кода. Как расшифровывается SOLID Акроним SOLID расшифровывается так: Single responsibility principle («Принцип единственной ответственности»). Open/close principle («Принцип открытости/закрытости»). Liskov substitution principle («Принцип подстановки Лисков»). Interface segregation principle («Принцип разделения интерфейса»). Dependency inversion principle («Принцип инверсии зависимостей). 1. Принцип единственной ответственности Согласно этому принципу, класс должен меняться только по одной причине. То есть у каждого модуля должно быть только одно назначение, отчего код становится удобнее для восприятия и тестирования. Примеры Продемонстрируем нарушение и соблюдение принципа единственной ответственности, создав простой класс для банковского счета: а) нарушение принципа: class BankAccount: def __init__(self, account_number: int, balance: float): self.account_number = account_number self.balance = balance def deposit_money(self, amount: float): self.balance += amount def withdraw_money(self, amount: float): if amount > self.balance: raise ValueError("Unfortunately your balance is insufficient for any withdrawals right now ... ") self.balance -= amount def print_balance(self): print(f'Account no: {self.account_number}, Balance: {self.balance} ') def change_account_number(self, new_account_number: int): self.account_number = new_account_number print(f'Your account number has changed to "{self.account_number}" ') Принцип нарушается, поскольку классом BankAccount контролируется больше одной задачи, связанной с банковскими счетами: управление профилями счетов и управление денежными средствами. б) соблюдение принципа: А вот пример соблюдения принципа: class DepositManager: def deposit_money(self, account, amount): account.balance += amount class WithdrawalManager: def withdraw_money(self, account, amount): if amount > account.balance: raise ValueError("Unfortunately your balance is insufficient for any withdrawals right now ... ") account.balance -= amount class BalancePrinter: def print_balance(self, account): print(f'Account no: {account.account_number}, Balance: {account.balance} ') class AccountNumberManager: def change_account_number(self, account, new_account_number): account.account_number = new_account_number print(f'Your account number has changed to "{account.account_number}" ') class BankAccount: def __init__(self, account_number: int, balance: float): self.account_number = account_number self.balance = balance self.deposit_manager = DepositManager() self.withdrawal_manager = WithdrawalManager() self.balance_printer = BalancePrinter() self.account_number_manager = AccountNumberManager() def deposit_money(self, amount: float): self.deposit_manager.deposit_money(self, amount) def withdraw_money(self, amount: float): self.withdrawal_manager.withdraw_money(self, amount) def print_balance(self): self.balance_printer.print_balance(self) def change_account_number(self, new_account_number: int): self.account_number_manager.change_account_number(self, new_account_number) Задачи, связанные с управлением банковским счетом, мы разделили на отдельные классы, упростив в случае необходимости изменение классов одинакового назначения. в) пример расширения кодовой базы: 🔘 Продолжение части 1 🔘 Часть 2 🔘 Часть 3 @machinelearning_interview

➕Открытый практикум Data Analyst by Rebrain: Data-профессии, их роль и взаимодействие Успевайте зарегистрироваться. Количеств
➕Открытый практикум Data Analyst by Rebrain: Data-профессии, их роль и взаимодействие Успевайте зарегистрироваться. Количество мест строго ограничено! ↘️Регистрация Время проведения: 19 Сентября (Вторник) в 19:00 по МСК Программа практикума: 🔹Узнаете про разные направления в data-направлении 🔹Какая ключевая роль у Аналитика данных 🔹По каким принципам идёт взаимодействие и решаемые задачи Кто ведёт? Артур Сапрыкин – Data Scientist, AI исследователь, предприниматель, автор курсов по машинному обучению, преподаватель. Подключайтесь! Реклама. ООО "РЕБРЕИН". ИНН 7727409582 erid: 2VtzqwNjQb2

🖥 Аналитика небольших данных: как совместить Excel, Python и SQL с помощью инструментов с открытым исходным кодом Однажды Дж
🖥 Аналитика небольших данных: как совместить Excel, Python и SQL с помощью инструментов с открытым исходным кодом Однажды Джоэл Спольски в своей знаменитой презентации «You Suck at Excel» сказал, что существуют сотни коммерческих продуктов, вместо которых можно было бы использовать табличку Excel. В этой шутке очень высокая доля правды. Excel благородя интуитивному UI, формулам и VBA дает возможность пользователям самим решать широкий спектр задач, избавляя от необходимости каждый раз обращаться за помощью к разработчикам или внедрять в компании новый продукт. Excel используется везде от мелкой розницы до Fortune 500 и CERN. Пользовательский интерфейс Excel оказался, настолько удачным – ни один из конкурентов так и отошел от привычных таблиц. Для пользователя Excel интерфейс Google Spreadsheet будет привычным и интуитивно понятным. А вот по своим функциональным возможностям Excel до сих пор превосходит большинство конкурентов. Как с помощью двух мощных инструментов с открытым исходным кодом можно совместить привычный для пользователей интерфейс, надежность и мощь SQL, гибкость Python и командную работу как в Google Spreadsheet? Давайте рассмотрим это на простом примере. 📌Читать дальше @machinelearning_interview