Forwarded from Systems.Education: Системный Анализ и Проектирование информационных систем: архитектура, интеграции, базы данных (Denis Beskov)
Мы с коллегам подготовили каталог ссылок на тему
Базы Данных и немного ХД, BI, DE, Data Science
https://systems.wiki/database
Если у вас есть полезные ссылки или желание присоединиться к команде кураторов раздела — пишите, welcome!
Что вошло в подборку:
Данные
Типы данных
Кодировки
Форматы представления, хранения и обмена данными
Категории данных
Управление данными
Основы, виды и история баз данных
Реляционные базы данных
Основы реляционных баз данных
Основы использования реляционных БД и SQL
Получение данных. Основы SQL (DQL: Data Query Language)
Базовые операторы SQL
Использование соединений
Агрегатные и аналитические функции
Основы оптимизации запросов
Простые операции с данными в SQL
Команды определения структур данных в SQL
Объектно-ориентированное программирование и реляционные БД
Проектирование реляционных баз данных
Введение в моделирование данных и нормальные формы
Ключи в БД
Сервисы проектирования РБД
Разработка реляционных баз данных
Производительность и оптимизация SQL
Индексы в таблицах
Планы запроса
Денормализация
Теорема CAP
Транзакции в БД, OLTP, ACID, TCL
Бизнес-логика и обработка данных.
Триггеры и процедуры в реляционных БД
Администрирование реляционных баз данных
Команды администрирования баз данных в SQL
Ограничение видимости данных с помощью представлений
Обновление схем БД, Миграция данных
Миграция данных при модернизации схемы данных и развитии ИС
Миграция данных при смене СУБД
Масштабирование реляционных баз данных
Популярные реляционные СУБД
РСУБД SQLite
РСУБД MySQL
- MariaDB
РСУБД PostgreSQL
- Индексы в Postgres
- Оптимизация запросов в Postgres
- Масштабирование в Postgres
- Postgres и другие СУБД
- СУБД Postgres Pro и Расширения Postgres
РСУБД Microsoft SQL Server
РСУБД Oracle
NoSQL (Not only SQL) СУБД
Введение в NoSQL
Базы «ключ-значение»
Redis
Memcached
Tarantool от Mail.ru
Документарные БД
Mongo
Колоночные БД (Columnar DB)
ClickHouse от Yandex
Wide-column Databases
Cassandra от Apache
Massive parallel processing СУБД
GreenPlum
Key-object хранилища
S3 от Amazon
Графовые базы данных и SPARQL
Введение в графовые БД
SPARQL (SPARQL Protocol and RDF Query Language)
ГрафСУБД Neo4J
Базы данных временных рядов (Time Series Database - TSDB)
Поисковый движок и хранилище ElasticSearch
Аналитические хранилища данных
BigQuery от Google
OLAP и Хранилища данных (DWH, Data Warehouse)
Подход OLAP (Online Analytical Processing)
Введение в хранилища данных
Моделирование хранилищ данных
Проектирование хранилищ данных
Качество данных в хранилище
Аппаратные технологии хранения данных
RAID-массивы
Исторические подходы к базам данных
Иерархические БД (1950-е года)
Сетевые БД (1950-е года)
Объектные БД (1980-е года)
Файловые БД VS Серверные БД (1990-е года)
XML БД (2000-е года)
СУБД для XML
Big Data и распределённые вычисления
Экосистема Hadoop от Apache Software Foundation
Data Mapping: integration, migration, transformation
Протоколы и стандарты на обмен данными
Процессы ETL (extraction, transformation, loading)
ETL-инструменты
Современные архитектуры данных
Data Lakes
Data Mesh
Data Fabric
Визуализация данных
Популярные js библиотеки визуализации
Business Intelligence (BI)
Основы анализа данных
Основы статистики
Основы анализа данных в Excel
Анализ данных с помощью SQL
Язык R для анализа данных
Python для анализа данных
Основы Data Science
Введение в Data Science
Нейронные сети
Основы Machine Learning
Введение в NLP (Natural Language Processing)
Фреймворки машинного обучения
Базы Данных и немного ХД, BI, DE, Data Science
https://systems.wiki/database
Если у вас есть полезные ссылки или желание присоединиться к команде кураторов раздела — пишите, welcome!
Что вошло в подборку:
Данные
Типы данных
Кодировки
Форматы представления, хранения и обмена данными
Категории данных
Управление данными
Основы, виды и история баз данных
Реляционные базы данных
Основы реляционных баз данных
Основы использования реляционных БД и SQL
Получение данных. Основы SQL (DQL: Data Query Language)
Базовые операторы SQL
Использование соединений
Агрегатные и аналитические функции
Основы оптимизации запросов
Простые операции с данными в SQL
Команды определения структур данных в SQL
Объектно-ориентированное программирование и реляционные БД
Проектирование реляционных баз данных
Введение в моделирование данных и нормальные формы
Ключи в БД
Сервисы проектирования РБД
Разработка реляционных баз данных
Производительность и оптимизация SQL
Индексы в таблицах
Планы запроса
Денормализация
Теорема CAP
Транзакции в БД, OLTP, ACID, TCL
Бизнес-логика и обработка данных.
Триггеры и процедуры в реляционных БД
Администрирование реляционных баз данных
Команды администрирования баз данных в SQL
Ограничение видимости данных с помощью представлений
Обновление схем БД, Миграция данных
Миграция данных при модернизации схемы данных и развитии ИС
Миграция данных при смене СУБД
Масштабирование реляционных баз данных
Популярные реляционные СУБД
РСУБД SQLite
РСУБД MySQL
- MariaDB
РСУБД PostgreSQL
- Индексы в Postgres
- Оптимизация запросов в Postgres
- Масштабирование в Postgres
- Postgres и другие СУБД
- СУБД Postgres Pro и Расширения Postgres
РСУБД Microsoft SQL Server
РСУБД Oracle
NoSQL (Not only SQL) СУБД
Введение в NoSQL
Базы «ключ-значение»
Redis
Memcached
Tarantool от Mail.ru
Документарные БД
Mongo
Колоночные БД (Columnar DB)
ClickHouse от Yandex
Wide-column Databases
Cassandra от Apache
Massive parallel processing СУБД
GreenPlum
Key-object хранилища
S3 от Amazon
Графовые базы данных и SPARQL
Введение в графовые БД
SPARQL (SPARQL Protocol and RDF Query Language)
ГрафСУБД Neo4J
Базы данных временных рядов (Time Series Database - TSDB)
Поисковый движок и хранилище ElasticSearch
Аналитические хранилища данных
BigQuery от Google
OLAP и Хранилища данных (DWH, Data Warehouse)
Подход OLAP (Online Analytical Processing)
Введение в хранилища данных
Моделирование хранилищ данных
Проектирование хранилищ данных
Качество данных в хранилище
Аппаратные технологии хранения данных
RAID-массивы
Исторические подходы к базам данных
Иерархические БД (1950-е года)
Сетевые БД (1950-е года)
Объектные БД (1980-е года)
Файловые БД VS Серверные БД (1990-е года)
XML БД (2000-е года)
СУБД для XML
Big Data и распределённые вычисления
Экосистема Hadoop от Apache Software Foundation
Data Mapping: integration, migration, transformation
Протоколы и стандарты на обмен данными
Процессы ETL (extraction, transformation, loading)
ETL-инструменты
Современные архитектуры данных
Data Lakes
Data Mesh
Data Fabric
Визуализация данных
Популярные js библиотеки визуализации
Business Intelligence (BI)
Основы анализа данных
Основы статистики
Основы анализа данных в Excel
Анализ данных с помощью SQL
Язык R для анализа данных
Python для анализа данных
Основы Data Science
Введение в Data Science
Нейронные сети
Основы Machine Learning
Введение в NLP (Natural Language Processing)
Фреймворки машинного обучения
Forwarded from Борис опять
Forwarded from Aspiring Data Science
https://www.youtube.com/watch?v=iKW-WQO1d1A
#ml #timeseries #nixtla
Хоту потестить эту Никстлу, кто-нить уже пробовал?
#ml #timeseries #nixtla
Хоту потестить эту Никстлу, кто-нить уже пробовал?
YouTube
NixtlaVerse, bridging the gap between statistics and deep learning for time series | PyData NYC 2022
Time-series modeling – analysis, and prediction of trends and seasonalities for data collected over time – is a rapidly growing category of software applications.
Businesses, ranging from finance to healthcare analytics, collect time-series data daily to…
Businesses, ranging from finance to healthcare analytics, collect time-series data daily to…
Forwarded from Записки Ппилифа (Ppilif [GMT+1])
Немного задротский пост про ЦПТ
Обычно, в курсе тервера ЦПТ не доказывают (если курс не на матфаке). Для этого нужно вводить характеристические функции. Они, конечно, красивые, но нигде в матстате дальше не понадобятся.
Оказывается, ЦПТ можно доказать без них. Статья свежая, от 2021 года. Мне жутко хотелось ее разобрать, но не было повода. Чтобы повод появился, решил устроить в Вышкинской магистратуре на курсе тервера бонусную пару с разбором.
От доказательства ощущаешь приятный вайб курса базового матана с леммой о двух милиционерах и теоремой Лагранжа 🙂
Я не понимал, что в доказательстве произошло с остаточным членов в ряде Тэйлора. Пошёл за советом. Оказалось, что есть пересказ этой статьи на русском.
Обычно, в курсе тервера ЦПТ не доказывают (если курс не на матфаке). Для этого нужно вводить характеристические функции. Они, конечно, красивые, но нигде в матстате дальше не понадобятся.
Оказывается, ЦПТ можно доказать без них. Статья свежая, от 2021 года. Мне жутко хотелось ее разобрать, но не было повода. Чтобы повод появился, решил устроить в Вышкинской магистратуре на курсе тервера бонусную пару с разбором.
От доказательства ощущаешь приятный вайб курса базового матана с леммой о двух милиционерах и теоремой Лагранжа 🙂
Я не понимал, что в доказательстве произошло с остаточным членов в ряде Тэйлора. Пошёл за советом. Оказалось, что есть пересказ этой статьи на русском.
Forwarded from Плюшевый Питон
Как мотивировать себя? Три ошибки
#soft_skills
Меня просили написать о мотивации. Это вообще одна из самых важных тем. Откуда брать силы на изучение новых технологий и саморазвитие? Что помогает, а что мешает нашей мотивации? Как поддерживать себя, когда хочется сдаться и всё бросить?
TLDR:
1. Мотивация - не причина, а следствие
2. Фокус на процессе (приложении усилий), а не на результате
3. Подбадривание себя, а не самокритика
Есть несколько ошибок, которые легко допустить. Первая из них - думать, что мотивация является причиной, а не следствием. Тот, кто так думает, откладывает своё развитие на потом, "когда будет подходящее настроение". Этот момент может и не наступить. Мотивация - результат осознанных усилий с чётким пониманием цели. Преодолеть себя, победить сиюминутную лень, сделать что-то полезное для своего развития - и тогда получить в награду мотивацию. В это, может быть, трудно поверить, но если понаблюдаете за собой, то увидите, что самая сильная и "долгоиграющая" мотивация бывает не перед началом работы, когда ещё ничего не сделано, а после того, как сделали несколько шагов к цели, получили хотя бы какие-то результаты.
Но при этом зацикливаться на результате тоже неправильно, это вторая ошибка. Выучить Питон, поменять карьеру, взяться за трудный проект - звучит страшно и даже невозможно, но если идти к цели постепенно и думать только о непосредственном следующем шаге, то всё обычно получается. Мы движемся вперёд тогда, когда делаем следующий шаг, а не тогда, когда уже дошли. Мне очень сильно помогает измерять свой прогресс не достижениями, а количеством вложенного времени. Парадоксально? Но что зависит от меня напрямую - приложить усилия или получить результат? Только первое. А потраченное время - это хорошая метрика для оценки приложенных усилий. Результат же почти всегда зависит не только от меня, но и от других участников процесса, от обстоятельств, от сложности задачи и так далее.
С этим связана третья ошибка - ругать себя за неудачи. Порой мы для себя бываем самыми жестокими и беспощадными критиками. Это здорово замедляет развитие. Ругать себя - значит лишать себя воли и мотивации. Кстати, доказано экспериментально. Негатива в жизни и так хватает, лучше поддерживать и подбадривать себя, хвалить себя (да, даже так) за прилагаемые усилия и время, вложенное в саморазвитие. Это правда эффективно, как бы наивно ни звучало. Помогает получать положительные эмоции в процессе работы над собой и над трудными задачами. Для хорошей мотивации нужны положительные подкрепления, так устроен мозг. Ежедневные маленькие победы над собой, своей ленью, страхами, заблуждениями приводят к тому, что высокая мотивация превращается в полезную привычку.
#soft_skills
Меня просили написать о мотивации. Это вообще одна из самых важных тем. Откуда брать силы на изучение новых технологий и саморазвитие? Что помогает, а что мешает нашей мотивации? Как поддерживать себя, когда хочется сдаться и всё бросить?
TLDR:
1. Мотивация - не причина, а следствие
2. Фокус на процессе (приложении усилий), а не на результате
3. Подбадривание себя, а не самокритика
Есть несколько ошибок, которые легко допустить. Первая из них - думать, что мотивация является причиной, а не следствием. Тот, кто так думает, откладывает своё развитие на потом, "когда будет подходящее настроение". Этот момент может и не наступить. Мотивация - результат осознанных усилий с чётким пониманием цели. Преодолеть себя, победить сиюминутную лень, сделать что-то полезное для своего развития - и тогда получить в награду мотивацию. В это, может быть, трудно поверить, но если понаблюдаете за собой, то увидите, что самая сильная и "долгоиграющая" мотивация бывает не перед началом работы, когда ещё ничего не сделано, а после того, как сделали несколько шагов к цели, получили хотя бы какие-то результаты.
Но при этом зацикливаться на результате тоже неправильно, это вторая ошибка. Выучить Питон, поменять карьеру, взяться за трудный проект - звучит страшно и даже невозможно, но если идти к цели постепенно и думать только о непосредственном следующем шаге, то всё обычно получается. Мы движемся вперёд тогда, когда делаем следующий шаг, а не тогда, когда уже дошли. Мне очень сильно помогает измерять свой прогресс не достижениями, а количеством вложенного времени. Парадоксально? Но что зависит от меня напрямую - приложить усилия или получить результат? Только первое. А потраченное время - это хорошая метрика для оценки приложенных усилий. Результат же почти всегда зависит не только от меня, но и от других участников процесса, от обстоятельств, от сложности задачи и так далее.
С этим связана третья ошибка - ругать себя за неудачи. Порой мы для себя бываем самыми жестокими и беспощадными критиками. Это здорово замедляет развитие. Ругать себя - значит лишать себя воли и мотивации. Кстати, доказано экспериментально. Негатива в жизни и так хватает, лучше поддерживать и подбадривать себя, хвалить себя (да, даже так) за прилагаемые усилия и время, вложенное в саморазвитие. Это правда эффективно, как бы наивно ни звучало. Помогает получать положительные эмоции в процессе работы над собой и над трудными задачами. Для хорошей мотивации нужны положительные подкрепления, так устроен мозг. Ежедневные маленькие победы над собой, своей ленью, страхами, заблуждениями приводят к тому, что высокая мотивация превращается в полезную привычку.
Forwarded from Aspiring Data Science
#sklearn #ml #timeseries #cv #retrainfrequency
О недостатке sklearn-овской реализации TimeSeriesSplit. Важной частью работы дата сайентиста является обучение моделек на данных, имеющих временное измерение. В них нельзя применить простое Kfold разбиение на группы, т.к. обучение "на будущем" в реальном использовании невозможно, а в кросс-валидацию внесёт оптимистичное смещение (bias, data leak). Поэтому почти всегда с такими данными используется вариация TimeSeriesSplit, в базовой версии имеющей сигнатуру (n_splits=5, *, max_train_size=None, test_size=None, gap=0). Минимальный размер трейна тут всегда равен размеру теста (что логично), максимальный может регулироваться параметром. gap позволяет делать разрывы между фолдами, чтобы нивелировать влияние корреляции между концом трейна и началом теста (и совсем избежать пресловутого смещения). В целом мощная функция, правда, есть недочёт. На больших данных каждый fit идёт очень долго и стоит дорого, а predict быстр и дёшев. А предсказания мы делаем всего лишь на текущий test, хотя могли бы делать на все оставшиеся данные. Для чего последнее могло бы понадобиться? А чтобы посмотреть, как долго держится предсказательная сила модели, и сделать вывод о требуемой частоте переобучения. Например, пройти по такому "длинному предикту" скользящим окном в неделю, месяц, полгода, и в рамках окна уже считать нужные метрики (точность, полноту, RMSE, к примеру). Этого можно добиться, субклассировав TimeSeriesSplit и расширяя её test_index, либо написав свою cross_validate и вызывая метод split() самостоятельно.
О недостатке sklearn-овской реализации TimeSeriesSplit. Важной частью работы дата сайентиста является обучение моделек на данных, имеющих временное измерение. В них нельзя применить простое Kfold разбиение на группы, т.к. обучение "на будущем" в реальном использовании невозможно, а в кросс-валидацию внесёт оптимистичное смещение (bias, data leak). Поэтому почти всегда с такими данными используется вариация TimeSeriesSplit, в базовой версии имеющей сигнатуру (n_splits=5, *, max_train_size=None, test_size=None, gap=0). Минимальный размер трейна тут всегда равен размеру теста (что логично), максимальный может регулироваться параметром. gap позволяет делать разрывы между фолдами, чтобы нивелировать влияние корреляции между концом трейна и началом теста (и совсем избежать пресловутого смещения). В целом мощная функция, правда, есть недочёт. На больших данных каждый fit идёт очень долго и стоит дорого, а predict быстр и дёшев. А предсказания мы делаем всего лишь на текущий test, хотя могли бы делать на все оставшиеся данные. Для чего последнее могло бы понадобиться? А чтобы посмотреть, как долго держится предсказательная сила модели, и сделать вывод о требуемой частоте переобучения. Например, пройти по такому "длинному предикту" скользящим окном в неделю, месяц, полгода, и в рамках окна уже считать нужные метрики (точность, полноту, RMSE, к примеру). Этого можно добиться, субклассировав TimeSeriesSplit и расширяя её test_index, либо написав свою cross_validate и вызывая метод split() самостоятельно.
Forwarded from Сиолошная
RL + NLP = ❤️
Статейка "Describe, Explain, Plan and Select: Interactive Planning with Large Language Models Enables Open-World Multi-Task Agents" рассказывает о том, как прикрепить большие языковые модели (LLM) к обучению агентов в сложных средах.
Картинка вкратце описывает суть происходящего:
1) LLM генерирует план, который должен быть выполнен, чтобы добиться награды
2) Selector выбирает, что нужно сделать сейчас, передает это в агента на исполнение
3) Агент сообщает LLMке в текстовом виде, каких успехов он добился, а чего сделать не смог (прям как я маме😂 )
4) формируется новый план, и пункты 1-3 повторяются итеративно
И всё это происходит в виде диалога с чатботом!
Ну и всё это канечно же бустит перформанс: Our experiments mark the milestone of the first multi-task agent that can robustly accomplish 70+ Minecraft tasks and nearly doubles the overall performances
Жду, когда больше техник из NLP для работы с LLM (вроде этого) придут в другие области.
Код будет тут, но пока его нет.
Статейка "Describe, Explain, Plan and Select: Interactive Planning with Large Language Models Enables Open-World Multi-Task Agents" рассказывает о том, как прикрепить большие языковые модели (LLM) к обучению агентов в сложных средах.
Картинка вкратце описывает суть происходящего:
1) LLM генерирует план, который должен быть выполнен, чтобы добиться награды
2) Selector выбирает, что нужно сделать сейчас, передает это в агента на исполнение
3) Агент сообщает LLMке в текстовом виде, каких успехов он добился, а чего сделать не смог (прям как я маме
4) формируется новый план, и пункты 1-3 повторяются итеративно
И всё это происходит в виде диалога с чатботом!
Ну и всё это канечно же бустит перформанс: Our experiments mark the milestone of the first multi-task agent that can robustly accomplish 70+ Minecraft tasks and nearly doubles the overall performances
Жду, когда больше техник из NLP для работы с LLM (вроде этого) придут в другие области.
Код будет тут, но пока его нет.
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from BOGDAN
примерно об этом вся книга Deep Work + рекомендую подкаст её автора
в частности, Моя текущая система планирования за 20 минут: https://youtu.be/dOQpZlZuySE
в частности, Моя текущая система планирования за 20 минут: https://youtu.be/dOQpZlZuySE
YouTube
Core Idea: Time Management
Download my FREE Deep Life Guide HERE: https://bit.ly/3QBIcug
Cal Newport first defines what a good time management system means. Then he describes in detail the three principles that are essential for any effective time management system. Cal describes…
Cal Newport first defines what a good time management system means. Then he describes in detail the three principles that are essential for any effective time management system. Cal describes…
Forwarded from BOGDAN
YouTube
Focus Toolkit: Tools to Improve Your Focus & Concentration
In this episode, I provide a list of behavioral, nutritional, and supplement-based tools you can use to improve your ability to get into a focused state to do mental or physical work. I explain science-supported strategies for transitioning into focus, maintaining…
Forwarded from Dima
Посмотри что-нибудь на edx.org про computer science, там бесплатно от гарварда
/стенфорда/крутых_чуваков курсы. У меня глянь симулятор сборки компа sukharev.io/textbook (тоже бесплатно, там блокается проход после 2 урока, если понравится, напишешь мне — я проведу кастомер интервью с тобой, чтобы сделать симулятор кайфовее и открою весь доступ)) я так собираю фидбек
/стенфорда/крутых_чуваков курсы. У меня глянь симулятор сборки компа sukharev.io/textbook (тоже бесплатно, там блокается проход после 2 урока, если понравится, напишешь мне — я проведу кастомер интервью с тобой, чтобы сделать симулятор кайфовее и открою весь доступ)) я так собираю фидбек