Вот пример кода на Python с использованием библиотеки Plotly для визуализации данных из базы данных SQLite:
### 1. Установите необходимые библиотеки:
### 2. Пример кода:
### Объяснение:
1. Подключение к базе данных SQLite с помощью
2. Создается таблица с информацией о продажах и вставляются данные, если их еще нет.
3. Данные загружаются в DataFrame с помощью
4. Используется библиотека Plotly (`plotly.express`) для создания гистограммы, отображающей количество проданных товаров по каждому продукту.
Этот код визуализирует количество проданных товаров с помощью столбчатой диаграммы.
Подпишись 👉🏻 @KodduuPython 🤖
### 1. Установите необходимые библиотеки:
pip install sqlite3 plotly pandas
### 2. Пример кода:
import sqlite3
import pandas as pd
import plotly.express as px
# Подключение к базе данных SQLite
conn = sqlite3.connect('example.db')
# Создание таблицы и вставка данных (если еще не создана)
conn.execute('''
CREATE TABLE IF NOT EXISTS sales (
id INTEGER PRIMARY KEY,
product TEXT,
quantity INTEGER,
price REAL
)
''')
conn.execute('''
INSERT INTO sales (product, quantity, price) VALUES
('Product A', 10, 25.50),
('Product B', 20, 15.75),
('Product C', 5, 100.00)
''')
conn.commit()
# Загрузка данных из базы данных в DataFrame
df = pd.read_sql_query("SELECT * FROM sales", conn)
# Закрытие соединения
conn.close()
# Визуализация данных с использованием Plotly
fig = px.bar(df, x='product', y='quantity', title='Количество проданных товаров')
fig.show()
### Объяснение:
1. Подключение к базе данных SQLite с помощью
sqlite3.2. Создается таблица с информацией о продажах и вставляются данные, если их еще нет.
3. Данные загружаются в DataFrame с помощью
pandas.4. Используется библиотека Plotly (`plotly.express`) для создания гистограммы, отображающей количество проданных товаров по каждому продукту.
Этот код визуализирует количество проданных товаров с помощью столбчатой диаграммы.
Подпишись 👉🏻 @KodduuPython 🤖
Вот пример кода на Python с использованием библиотеки Altair для визуализации данных из базы данных SQLite:
### 1. Установите необходимые библиотеки:
### 2. Пример кода:
### Особенности Altair:
1. Декларативный синтаксис: Altair использует декларативный подход к визуализации данных. Это означает, что вы описываете, что хотите отобразить, а Altair сам управляет деталями рендеринга, что упрощает процесс создания сложных графиков.
2. Интерактивность: Altair позволяет легко добавлять интерактивные элементы к графикам, такие как зум, панорамирование, фильтрация данных и отображение подсказок (как в примере с `tooltip`).
3. Интеграция с Pandas: Altair работает непосредственно с Pandas DataFrame, что упрощает обработку данных и их визуализацию.
4. Автоматическая настройка масштабов и осей: Altair автоматически настраивает оси и масштаб графиков, исходя из типа данных, что помогает быстро строить корректные визуализации без необходимости ручной настройки.
5. Поддержка сложных графиков: Altair отлично справляется как с простыми визуализациями (столбчатые диаграммы, линейные графики), так и с более сложными (тепловые карты, диаграммы рассеивания, многослойные визуализации).
### Объяснение:
1. SQLite: используется для хранения данных о продажах. В данном примере создается таблица с информацией о продуктах, их количестве и цене.
2. Pandas: загружает данные из базы данных в DataFrame, что делает их удобными для последующей визуализации.
3. Altair: используется для создания столбчатой диаграммы. На оси
4. Интерактивность: Altair легко поддерживает интерактивные элементы, такие как всплывающие подсказки при наведении на элементы диаграммы.
Этот код создаёт простую и интерактивную столбчатую диаграмму с использованием Altair, которая отлично подходит для анализа и представления данных в Jupyter Notebook или в HTML-файле.
Подпишись 👉🏻 @KodduuPython 🤖
### 1. Установите необходимые библиотеки:
pip install sqlite3 altair pandas
### 2. Пример кода:
import sqlite3
import pandas as pd
import altair as alt
# Подключение к базе данных SQLite
conn = sqlite3.connect('example.db')
# Создание таблицы и вставка данных (если еще не создана)
conn.execute('''
CREATE TABLE IF NOT EXISTS sales (
id INTEGER PRIMARY KEY,
product TEXT,
quantity INTEGER,
price REAL
)
''')
conn.execute('''
INSERT INTO sales (product, quantity, price) VALUES
('Product A', 10, 25.50),
('Product B', 20, 15.75),
('Product C', 5, 100.00)
''')
conn.commit()
# Загрузка данных из базы данных в DataFrame
df = pd.read_sql_query("SELECT * FROM sales", conn)
# Закрытие соединения
conn.close()
# Визуализация данных с использованием Altair
chart = alt.Chart(df).mark_bar().encode(
x='product:N', # категориальная переменная для оси X
y='quantity:Q', # количественная переменная для оси Y
tooltip=['product', 'quantity', 'price'] # отображение данных при наведении
).properties(
title='Количество проданных товаров'
)
# Отображение графика в Jupyter Notebook
chart.display()
# Если нужно вывести график в HTML-файл
# chart.save('sales_chart.html')
### Особенности Altair:
1. Декларативный синтаксис: Altair использует декларативный подход к визуализации данных. Это означает, что вы описываете, что хотите отобразить, а Altair сам управляет деталями рендеринга, что упрощает процесс создания сложных графиков.
2. Интерактивность: Altair позволяет легко добавлять интерактивные элементы к графикам, такие как зум, панорамирование, фильтрация данных и отображение подсказок (как в примере с `tooltip`).
3. Интеграция с Pandas: Altair работает непосредственно с Pandas DataFrame, что упрощает обработку данных и их визуализацию.
4. Автоматическая настройка масштабов и осей: Altair автоматически настраивает оси и масштаб графиков, исходя из типа данных, что помогает быстро строить корректные визуализации без необходимости ручной настройки.
5. Поддержка сложных графиков: Altair отлично справляется как с простыми визуализациями (столбчатые диаграммы, линейные графики), так и с более сложными (тепловые карты, диаграммы рассеивания, многослойные визуализации).
### Объяснение:
1. SQLite: используется для хранения данных о продажах. В данном примере создается таблица с информацией о продуктах, их количестве и цене.
2. Pandas: загружает данные из базы данных в DataFrame, что делает их удобными для последующей визуализации.
3. Altair: используется для создания столбчатой диаграммы. На оси
x отображаются названия продуктов, на оси y — количество проданных единиц. При наведении курсора на столбцы появляется информация о продукте, количестве и цене.4. Интерактивность: Altair легко поддерживает интерактивные элементы, такие как всплывающие подсказки при наведении на элементы диаграммы.
Этот код создаёт простую и интерактивную столбчатую диаграмму с использованием Altair, которая отлично подходит для анализа и представления данных в Jupyter Notebook или в HTML-файле.
Подпишись 👉🏻 @KodduuPython 🤖
Вот пример кода на Python с использованием библиотеки Seaborn для визуализации данных из базы данных SQLite:
### 1. Установите необходимые библиотеки:
### 2. Пример кода:
### Особенности Seaborn:
1. Статистически достоверные визуализации: Seaborn построен на базе Matplotlib и предоставляет высокоуровневый API для создания визуализаций, специально ориентированных на статистический анализ данных.
2. Гибкость в работе с данными: Seaborn поддерживает работу с Pandas DataFrame, что делает его отличным инструментом для визуализации данных, загруженных из различных источников, включая базы данных.
3. Автоматические настройки графиков: Seaborn автоматически выбирает стили и цвета для графиков, что помогает создать эстетически приятные и читабельные диаграммы без необходимости детальной настройки.
4. Простота в работе с категориальными и числовыми переменными: Seaborn предоставляет множество встроенных функций для отображения категориальных данных (например, barplot, countplot) и корреляций между переменными.
5. Взаимодействие с Matplotlib: Seaborn может интегрироваться с Matplotlib, что позволяет настроить графики более гибко, используя все возможности Matplotlib для изменения стиля и оформления.
### Объяснение:
1. SQLite используется для хранения и работы с данными, связанными с продажами.
2. Pandas загружает данные из базы данных в DataFrame, что делает их удобными для последующей визуализации.
3. Seaborn создаёт столбчатую диаграмму, которая визуализирует количество проданных товаров по каждому продукту.
4. Matplotlib используется для управления отображением графиков (например, добавление заголовков и отображение диаграмм).
Этот код создаёт простую и эстетически приятную диаграмму с помощью Seaborn, которая демонстрирует количество проданных товаров для каждого продукта.
Подпишись 👉🏻 @KodduuPython 🤖
### 1. Установите необходимые библиотеки:
pip install sqlite3 seaborn pandas matplotlib
### 2. Пример кода:
import sqlite3
import pandas as pd
import seaborn as sns
import matplotlib.pyplot as plt
# Подключение к базе данных SQLite
conn = sqlite3.connect('example.db')
# Создание таблицы и вставка данных (если еще не создана)
conn.execute('''
CREATE TABLE IF NOT EXISTS sales (
id INTEGER PRIMARY KEY,
product TEXT,
quantity INTEGER,
price REAL
)
''')
conn.execute('''
INSERT INTO sales (product, quantity, price) VALUES
('Product A', 10, 25.50),
('Product B', 20, 15.75),
('Product C', 5, 100.00)
''')
conn.commit()
# Загрузка данных из базы данных в DataFrame
df = pd.read_sql_query("SELECT * FROM sales", conn)
# Закрытие соединения
conn.close()
# Визуализация данных с использованием Seaborn
plt.figure(figsize=(8, 6))
sns.barplot(x='product', y='quantity', data=df)
# Добавление заголовка
plt.title('Количество проданных товаров')
# Отображение графика
plt.show()
### Особенности Seaborn:
1. Статистически достоверные визуализации: Seaborn построен на базе Matplotlib и предоставляет высокоуровневый API для создания визуализаций, специально ориентированных на статистический анализ данных.
2. Гибкость в работе с данными: Seaborn поддерживает работу с Pandas DataFrame, что делает его отличным инструментом для визуализации данных, загруженных из различных источников, включая базы данных.
3. Автоматические настройки графиков: Seaborn автоматически выбирает стили и цвета для графиков, что помогает создать эстетически приятные и читабельные диаграммы без необходимости детальной настройки.
4. Простота в работе с категориальными и числовыми переменными: Seaborn предоставляет множество встроенных функций для отображения категориальных данных (например, barplot, countplot) и корреляций между переменными.
5. Взаимодействие с Matplotlib: Seaborn может интегрироваться с Matplotlib, что позволяет настроить графики более гибко, используя все возможности Matplotlib для изменения стиля и оформления.
### Объяснение:
1. SQLite используется для хранения и работы с данными, связанными с продажами.
2. Pandas загружает данные из базы данных в DataFrame, что делает их удобными для последующей визуализации.
3. Seaborn создаёт столбчатую диаграмму, которая визуализирует количество проданных товаров по каждому продукту.
4. Matplotlib используется для управления отображением графиков (например, добавление заголовков и отображение диаграмм).
Этот код создаёт простую и эстетически приятную диаграмму с помощью Seaborn, которая демонстрирует количество проданных товаров для каждого продукта.
Подпишись 👉🏻 @KodduuPython 🤖
⚡2👍1
👉👉👉 Грядет большое повышение цен на курсы ИТ на Stepik 👆👆👆
👉 Покупайте по старым ценам пока есть возможность, доступ к курсам и всем обновлениям курса останется у Вас навсегда 🔥
Наши курсы:
👉 Python: самый быстрый курс 🔥
Перед Вами самый быстрый курс по Python, тут есть все что нужно чтобы начать программировать на Python. Для тех кому некогда, но очень надо выучить Python или подтянуть базу перед собеседованием. Уже 389 позитивных оценок уроков. Мы отвечаем на все ваши комментарии и вопросы в курсе.
👉 Python в нескучных примерах (50)
Для того чтобы научится программировать - нужно много программировать, совершать ошибки, править код, узнавать как можно сделать код лучше, делать код лучше, и продолжать программировать. В этом курсе нет воды, только большое количество примеров на основании которых вы можете написать много своего кода и стать лучше. Рекомендуем брать пример и расширять его, и свою версию выкладывать на github, потом вы сможете использовать эти переработанные примеры как свое портфолио для фриланса или для найма на работу.
👉 JavaScript: самый быстрый курс 🔥
Перед Вами самый быстрый курс по JavaScript, тут есть все что нужно чтобы начать программировать на JS. Для тех кому некогда, но очень надо выучить JS или подтянуть базу перед собеседованием. Мы отвечаем на все ваши комментарии и вопросы в курсе.
👉 Язык программирования BrainFuck или ВыносМозга!
Очень простой с точки зрения кол-ва команд и одновременно сложный для программирования язык, потому что читабельнность почти нулевая. Assembler по сравнению с ним просто Easy. Зато это мега язык для понимания того как работают любая программа на уровне скомпилированного кода - всем рекомендую кодить раз в неделю на BrainFuck и все остальные языки будут Very Easy.
Наши программы:
👉 Junior Python Developer 🔥🔥
Этот набор курсов является специализацией для того чтобы с 0 дойти до уровня Junior Python Developer. Особенность включенных курсов в том что первый дает всю базу в максимально короткий срок, а второй дает возможность попробовать множество различных библиотек и нескучных идей кода.
👉 Junior FullStack Developer: Python+JavaScript (быстрый курс) 🔥🔥🔥
Этот набор курсов является специализацией для того чтобы с 0 дойти до уровня Junior FullStack Developer. Программа для тех кому некогда, но очень надо выучить JS и Python или подтянуть базу перед собеседованием. Мы отвечаем на все ваши комментарии и вопросы в курсе.
Подпишись 👉🏻 @KodduuPython 🤖
👉 Покупайте по старым ценам пока есть возможность, доступ к курсам и всем обновлениям курса останется у Вас навсегда 🔥
Наши курсы:
👉 Python: самый быстрый курс 🔥
Перед Вами самый быстрый курс по Python, тут есть все что нужно чтобы начать программировать на Python. Для тех кому некогда, но очень надо выучить Python или подтянуть базу перед собеседованием. Уже 389 позитивных оценок уроков. Мы отвечаем на все ваши комментарии и вопросы в курсе.
👉 Python в нескучных примерах (50)
Для того чтобы научится программировать - нужно много программировать, совершать ошибки, править код, узнавать как можно сделать код лучше, делать код лучше, и продолжать программировать. В этом курсе нет воды, только большое количество примеров на основании которых вы можете написать много своего кода и стать лучше. Рекомендуем брать пример и расширять его, и свою версию выкладывать на github, потом вы сможете использовать эти переработанные примеры как свое портфолио для фриланса или для найма на работу.
👉 JavaScript: самый быстрый курс 🔥
Перед Вами самый быстрый курс по JavaScript, тут есть все что нужно чтобы начать программировать на JS. Для тех кому некогда, но очень надо выучить JS или подтянуть базу перед собеседованием. Мы отвечаем на все ваши комментарии и вопросы в курсе.
👉 Язык программирования BrainFuck или ВыносМозга!
Очень простой с точки зрения кол-ва команд и одновременно сложный для программирования язык, потому что читабельнность почти нулевая. Assembler по сравнению с ним просто Easy. Зато это мега язык для понимания того как работают любая программа на уровне скомпилированного кода - всем рекомендую кодить раз в неделю на BrainFuck и все остальные языки будут Very Easy.
Наши программы:
👉 Junior Python Developer 🔥🔥
Этот набор курсов является специализацией для того чтобы с 0 дойти до уровня Junior Python Developer. Особенность включенных курсов в том что первый дает всю базу в максимально короткий срок, а второй дает возможность попробовать множество различных библиотек и нескучных идей кода.
👉 Junior FullStack Developer: Python+JavaScript (быстрый курс) 🔥🔥🔥
Этот набор курсов является специализацией для того чтобы с 0 дойти до уровня Junior FullStack Developer. Программа для тех кому некогда, но очень надо выучить JS и Python или подтянуть базу перед собеседованием. Мы отвечаем на все ваши комментарии и вопросы в курсе.
Подпишись 👉🏻 @KodduuPython 🤖
Stepik: online education
Python: самый быстрый курс
Перед Вами самый быстрый курс по Python, тут есть все что нужно чтобы начать программировать на Python. Для тех кому некогда, но очень надо выучить Python или подтянуть базу перед собеседованием. Уже 389 позитивных оценок уроков. Мы отвечаем на все ваши комментарии…
Вот пример кода на Python с использованием библиотеки PyGal для визуализации данных из базы данных SQLite.
### 1. Установите необходимые библиотеки:
### 2. Пример кода:
### Особенности PyGal:
1. SVG-графики: PyGal создает графики в формате SVG, что делает их масштабируемыми без потери качества. Это особенно полезно для веб-приложений.
2. Интерактивные элементы: Графики могут быть интерактивными, поддерживая взаимодействие через веб-браузеры (например, всплывающие подсказки на элементах).
3. Простота использования: PyGal позволяет создавать различные виды графиков (столбчатые, круговые, линейные и т.д.) с минимальными усилиями. Простой и интуитивно понятный API делает библиотеку доступной даже для начинающих.
4. Гибкость настройки: PyGal поддерживает тонкую настройку визуальных параметров графиков, таких как цвет, подписи, легенды и оси.
5. Интеграция с Pandas: PyGal легко интегрируется с Pandas, что упрощает загрузку данных из баз данных и их визуализацию.
### Объяснение:
- SQLite: используется для хранения и управления данными о продажах.
- Pandas: загружает данные из базы данных в DataFrame.
- PyGal: строит столбчатую диаграмму, на которой отображаются названия продуктов и количество проданных единиц. График сохраняется в формате SVG, что делает его легко встраиваемым в веб-приложения.
Этот код создаст статичный или интерактивный SVG-график, который можно использовать в веб-приложениях или сохранять как файл.
Подпишись 👉🏻 @KodduuPython 🤖
### 1. Установите необходимые библиотеки:
pip install sqlite3 pygal pandas
### 2. Пример кода:
import sqlite3
import pandas as pd
import pygal
# Подключение к базе данных SQLite
conn = sqlite3.connect('example.db')
# Создание таблицы и вставка данных (если еще не создана)
conn.execute('''
CREATE TABLE IF NOT EXISTS sales (
id INTEGER PRIMARY KEY,
product TEXT,
quantity INTEGER,
price REAL
)
''')
conn.execute('''
INSERT INTO sales (product, quantity, price) VALUES
('Product A', 10, 25.50),
('Product B', 20, 15.75),
('Product C', 5, 100.00)
''')
conn.commit()
# Загрузка данных из базы данных в DataFrame
df = pd.read_sql_query("SELECT * FROM sales", conn)
# Закрытие соединения
conn.close()
# Визуализация данных с использованием PyGal
bar_chart = pygal.Bar()
bar_chart.title = 'Количество проданных товаров'
# Добавление данных на график
for index, row in df.iterrows():
bar_chart.add(row['product'], row['quantity'])
# Сохранение графика в файл
bar_chart.render_to_file('sales_chart.svg')
# Отображение графика в Jupyter Notebook (если используется Jupyter)
from IPython.display import display, SVG
display(SVG(bar_chart.render(disable_xml_declaration=True)))
### Особенности PyGal:
1. SVG-графики: PyGal создает графики в формате SVG, что делает их масштабируемыми без потери качества. Это особенно полезно для веб-приложений.
2. Интерактивные элементы: Графики могут быть интерактивными, поддерживая взаимодействие через веб-браузеры (например, всплывающие подсказки на элементах).
3. Простота использования: PyGal позволяет создавать различные виды графиков (столбчатые, круговые, линейные и т.д.) с минимальными усилиями. Простой и интуитивно понятный API делает библиотеку доступной даже для начинающих.
4. Гибкость настройки: PyGal поддерживает тонкую настройку визуальных параметров графиков, таких как цвет, подписи, легенды и оси.
5. Интеграция с Pandas: PyGal легко интегрируется с Pandas, что упрощает загрузку данных из баз данных и их визуализацию.
### Объяснение:
- SQLite: используется для хранения и управления данными о продажах.
- Pandas: загружает данные из базы данных в DataFrame.
- PyGal: строит столбчатую диаграмму, на которой отображаются названия продуктов и количество проданных единиц. График сохраняется в формате SVG, что делает его легко встраиваемым в веб-приложения.
Этот код создаст статичный или интерактивный SVG-график, который можно использовать в веб-приложениях или сохранять как файл.
Подпишись 👉🏻 @KodduuPython 🤖
Библиотека Folium предназначена для создания интерактивных карт с использованием Python. Она особенно полезна для визуализации географических данных с привязкой к координатам. Ниже приведен пример кода для работы с базой данных и отображения данных на карте с использованием Folium.
### 1. Установите необходимые библиотеки:
### 2. Пример кода:
### Особенности Folium:
1. Создание интерактивных карт: Folium использует библиотеку Leaflet.js для создания интерактивных карт. Это позволяет легко отображать маркеры, полигоны и другие объекты на карте.
2. Простота использования: Вы можете создавать карты и добавлять маркеры на них с минимальными усилиями.
3. Взаимодействие с данными: Folium поддерживает добавление различных объектов, таких как всплывающие окна (popup) и тултипы (tooltip), что делает карты интерактивными.
4. Географические координаты: Основана на данных широты и долготы, что делает её удобной для работы с любыми геоданными (например, GPS-данными).
5. Отображение в веб-браузере: Сгенерированные карты сохраняются в HTML-файлах, что делает их легкими для интеграции в веб-приложения.
### Объяснение:
- SQLite: используется для хранения данных о местоположениях (широта и долгота).
- Folium: используется для создания карты и добавления маркеров на основе данных местоположений.
- Map: создается карта с центром, рассчитанным по среднему значению широты и долготы.
- Markers: маркеры добавляются на карту в цикле для каждого местоположения, извлеченного из базы данных.
Этот код создаст интерактивную карту с маркерами, которые можно кликнуть для отображения названий мест.
Подпишись 👉🏻 @KodduuPython 🤖
### 1. Установите необходимые библиотеки:
pip install sqlite3 folium pandas
### 2. Пример кода:
import sqlite3
import pandas as pd
import folium
# Подключение к базе данных SQLite
conn = sqlite3.connect('example.db')
# Создание таблицы и вставка данных (если еще не создана)
conn.execute('''
CREATE TABLE IF NOT EXISTS locations (
id INTEGER PRIMARY KEY,
name TEXT,
latitude REAL,
longitude REAL
)
''')
conn.execute('''
INSERT INTO locations (name, latitude, longitude) VALUES
('Location A', 51.5074, -0.1278), -- Лондон
('Location B', 48.8566, 2.3522), -- Париж
('Location C', 40.7128, -74.0060) -- Нью-Йорк
''')
conn.commit()
# Загрузка данных из базы данных в DataFrame
df = pd.read_sql_query("SELECT * FROM locations", conn)
# Закрытие соединения
conn.close()
# Создание карты с центром на среднем значении широты и долготы
map_center = [df['latitude'].mean(), df['longitude'].mean()]
mymap = folium.Map(location=map_center, zoom_start=3)
# Добавление маркеров на карту
for index, row in df.iterrows():
folium.Marker(
location=[row['latitude'], row['longitude']],
popup=row['name'],
icon=folium.Icon(color='blue')
).add_to(mymap)
# Сохранение карты в файл
mymap.save("map.html")
# Отображение карты в Jupyter Notebook (если используете Jupyter)
mymap
### Особенности Folium:
1. Создание интерактивных карт: Folium использует библиотеку Leaflet.js для создания интерактивных карт. Это позволяет легко отображать маркеры, полигоны и другие объекты на карте.
2. Простота использования: Вы можете создавать карты и добавлять маркеры на них с минимальными усилиями.
3. Взаимодействие с данными: Folium поддерживает добавление различных объектов, таких как всплывающие окна (popup) и тултипы (tooltip), что делает карты интерактивными.
4. Географические координаты: Основана на данных широты и долготы, что делает её удобной для работы с любыми геоданными (например, GPS-данными).
5. Отображение в веб-браузере: Сгенерированные карты сохраняются в HTML-файлах, что делает их легкими для интеграции в веб-приложения.
### Объяснение:
- SQLite: используется для хранения данных о местоположениях (широта и долгота).
- Folium: используется для создания карты и добавления маркеров на основе данных местоположений.
- Map: создается карта с центром, рассчитанным по среднему значению широты и долготы.
- Markers: маркеры добавляются на карту в цикле для каждого местоположения, извлеченного из базы данных.
Этот код создаст интерактивную карту с маркерами, которые можно кликнуть для отображения названий мест.
Подпишись 👉🏻 @KodduuPython 🤖
👉 👉 👉 Курс на выходные JavaScript: самый быстрый курс. Успеваем и учим JS за два дня. Только до 30 сентября 👍👍👍
Вот пример кода на Python с использованием библиотеки Bokeh для визуализации данных из базы данных SQLite. Bokeh позволяет создавать интерактивные визуализации, которые могут быть отображены как в Jupyter Notebook, так и в веб-приложениях.
### 1. Установите необходимые библиотеки:
### 2. Пример кода:
### Особенности Bokeh:
1. Интерактивность: Bokeh позволяет создавать интерактивные графики и диаграммы, которые поддерживают навигацию, зум, панорамирование и выбор данных прямо в браузере.
2. Поддержка сложных визуализаций: Вы можете легко создавать как простые, так и сложные визуализации, такие как карты, тепловые карты, временные ряды и многое другое.
3. Веб-интеграция: Графики, созданные с помощью Bokeh, могут быть легко интегрированы в веб-приложения или сохранены как автономные HTML-файлы.
4. Простота использования с Pandas: Bokeh хорошо интегрируется с Pandas, что позволяет легко загружать и отображать данные из баз данных.
5. ColumnDataSource: Bokeh использует специальный объект
### Объяснение:
- SQLite: Используется для хранения данных о продажах.
- Pandas: Загружает данные из базы данных в DataFrame для удобного доступа.
- Bokeh: Используется для создания интерактивной столбчатой диаграммы. Столбцы соответствуют количеству проданных товаров по каждому продукту.
- ColumnDataSource: Преобразует данные из DataFrame в формат, совместимый с Bokeh.
- Интерактивные элементы: Можно выбирать, настраивать и изменять отображение элементов визуализации (например, легенды или зума).
Этот код создаст интерактивную диаграмму, которую можно отображать в Jupyter Notebook или сохранить как HTML-файл для дальнейшего использования.
Подпишись 👉🏻 @KodduuPython 🤖
### 1. Установите необходимые библиотеки:
pip install sqlite3 bokeh pandas
### 2. Пример кода:
import sqlite3
import pandas as pd
from bokeh.plotting import figure, output_file, show
from bokeh.models import ColumnDataSource
from bokeh.io import output_notebook
# Подключение к базе данных SQLite
conn = sqlite3.connect('example.db')
# Создание таблицы и вставка данных (если еще не создана)
conn.execute('''
CREATE TABLE IF NOT EXISTS sales (
id INTEGER PRIMARY KEY,
product TEXT,
quantity INTEGER,
price REAL
)
''')
conn.execute('''
INSERT INTO sales (product, quantity, price) VALUES
('Product A', 10, 25.50),
('Product B', 20, 15.75),
('Product C', 5, 100.00)
''')
conn.commit()
# Загрузка данных из базы данных в DataFrame
df = pd.read_sql_query("SELECT * FROM sales", conn)
# Закрытие соединения
conn.close()
# Преобразование данных в ColumnDataSource для использования в Bokeh
source = ColumnDataSource(df)
# Настройка вывода для Jupyter Notebook
output_notebook()
# Создание фигуры
p = figure(x_range=df['product'], plot_height=400, title="Количество проданных товаров",
toolbar_location=None, tools="")
# Добавление столбцов на график
p.vbar(x='product', top='quantity', width=0.5, source=source, legend_field="product")
# Настройки визуализации
p.xgrid.grid_line_color = None
p.y_range.start = 0
p.legend.orientation = "horizontal"
p.legend.location = "top_center"
# Отображение графика в Jupyter Notebook
show(p)
# Если нужно вывести график в HTML-файл
# output_file("sales_bokeh.html")
# show(p)
### Особенности Bokeh:
1. Интерактивность: Bokeh позволяет создавать интерактивные графики и диаграммы, которые поддерживают навигацию, зум, панорамирование и выбор данных прямо в браузере.
2. Поддержка сложных визуализаций: Вы можете легко создавать как простые, так и сложные визуализации, такие как карты, тепловые карты, временные ряды и многое другое.
3. Веб-интеграция: Графики, созданные с помощью Bokeh, могут быть легко интегрированы в веб-приложения или сохранены как автономные HTML-файлы.
4. Простота использования с Pandas: Bokeh хорошо интегрируется с Pandas, что позволяет легко загружать и отображать данные из баз данных.
5. ColumnDataSource: Bokeh использует специальный объект
ColumnDataSource для передачи данных в график. Это упрощает работу с различными типами данных.### Объяснение:
- SQLite: Используется для хранения данных о продажах.
- Pandas: Загружает данные из базы данных в DataFrame для удобного доступа.
- Bokeh: Используется для создания интерактивной столбчатой диаграммы. Столбцы соответствуют количеству проданных товаров по каждому продукту.
- ColumnDataSource: Преобразует данные из DataFrame в формат, совместимый с Bokeh.
- Интерактивные элементы: Можно выбирать, настраивать и изменять отображение элементов визуализации (например, легенды или зума).
Этот код создаст интерактивную диаграмму, которую можно отображать в Jupyter Notebook или сохранить как HTML-файл для дальнейшего использования.
Подпишись 👉🏻 @KodduuPython 🤖
👉 👉 👉 Сегодня последний день распродажи JavaScript: самый быстрый курс. Успеваем и учим JS за два дня 👍👍👍
Вот пример кода на Python, демонстрирующий некоторые интересные методы разработки, включая использование декораторов, контекстных менеджеров, асинхронного программирования и датаклассов.
Объяснение кода:
1. Декоратор `async_timeit`: Этот декоратор измеряет время выполнения асинхронной функции. Он оборачивает функцию и выводит время, затраченное на её выполнение.
2. Асинхронный контекстный менеджер `managed_resource`: Используя
3. Датакласс `User`: С помощью
4. Асинхронная функция `fetch_user_data`: Имитация асинхронного запроса данных пользователя. Использует
5. Функция `main`: Основная асинхронная функция, которая использует контекстный менеджер и вызывает функцию для получения данных пользователя.
6. Запуск программы:
Пример вывода при выполнении программы:
Ключевые моменты:
- Асинхронное программирование: Использование
- Декораторы: Позволяют добавлять дополнительную функциональность к функциям (например, измерение времени выполнения) без изменения их исходного кода.
- Контекстные менеджеры: Упрощают управление ресурсами, гарантируя их корректное использование и освобождение.
- Датаклассы: Предоставляют удобный способ определения классов данных с автоматической генерацией методов
- Типизация: Использование аннотаций типов из модуля
Этот пример демонстрирует, как современные возможности Python могут быть объединены для написания эффективного и поддерживаемого кода.
Подпишись 👉🏻 @KodduuPython 🤖
import asyncio
from dataclasses import dataclass
from contextlib import asynccontextmanager
from typing import Callable, Awaitable
import time
# Декоратор для измерения времени выполнения асинхронной функции
def async_timeit(func: Callable[..., Awaitable]) -> Callable[..., Awaitable]:
async def wrapper(*args, **kwargs):
start = time.time()
result = await func(*args, **kwargs)
end = time.time()
print(f"Время выполнения {func.__name__}: {end - start:.4f} секунд")
return result
return wrapper
# Асинхронный контекстный менеджер для управления ресурсами
@asynccontextmanager
async def managed_resource(name: str):
print(f"Открытие ресурса: {name}")
await asyncio.sleep(0.1) # Имитация времени открытия ресурса
try:
yield
finally:
await asyncio.sleep(0.1) # Имитация времени закрытия ресурса
print(f"Закрытие ресурса: {name}")
# Датакласс для хранения данных пользователя
@dataclass
class User:
id: int
name: str
email: str
# Асинхронная функция для имитации запроса данных
@async_timeit
async def fetch_user_data(user_id: int) -> User:
await asyncio.sleep(1) # Имитация задержки сети
return User(id=user_id, name=f"User{user_id}", email=f"user{user_id}@example.com")
async def main():
async with managed_resource("database"):
user = await fetch_user_data(1)
print(f"Получены данные пользователя: {user}")
# Запуск асинхронного события
asyncio.run(main())
Объяснение кода:
1. Декоратор `async_timeit`: Этот декоратор измеряет время выполнения асинхронной функции. Он оборачивает функцию и выводит время, затраченное на её выполнение.
2. Асинхронный контекстный менеджер `managed_resource`: Используя
@asynccontextmanager, мы создаём контекстный менеджер, который может работать с async with. Он управляет ресурсом (например, подключением к базе данных), обеспечивая корректное открытие и закрытие.3. Датакласс `User`: С помощью
@dataclass мы легко создаём класс для хранения данных пользователя без необходимости писать стандартные методы вручную.4. Асинхронная функция `fetch_user_data`: Имитация асинхронного запроса данных пользователя. Использует
asyncio.sleep для симуляции задержки сети.5. Функция `main`: Основная асинхронная функция, которая использует контекстный менеджер и вызывает функцию для получения данных пользователя.
6. Запуск программы:
asyncio.run(main()) используется для запуска асинхронной функции main.Пример вывода при выполнении программы:
Открытие ресурса: database
Время выполнения fetch_user_data: 1.0012 секунд
Получены данные пользователя: User(id=1, name='User1', email='user1@example.com')
Закрытие ресурса: database
Ключевые моменты:
- Асинхронное программирование: Использование
async и await позволяет выполнять операции без блокировки основного потока, что повышает эффективность при работе с вводом/выводом.- Декораторы: Позволяют добавлять дополнительную функциональность к функциям (например, измерение времени выполнения) без изменения их исходного кода.
- Контекстные менеджеры: Упрощают управление ресурсами, гарантируя их корректное использование и освобождение.
- Датаклассы: Предоставляют удобный способ определения классов данных с автоматической генерацией методов
__init__, __repr__ и других.- Типизация: Использование аннотаций типов из модуля
typing улучшает читаемость кода и позволяет использовать статические анализаторы для обнаружения ошибок.Этот пример демонстрирует, как современные возможности Python могут быть объединены для написания эффективного и поддерживаемого кода.
Подпишись 👉🏻 @KodduuPython 🤖
👏2🔥1
Вот пример кода на Python, демонстрирующий использование библиотеки Sktime для анализа временных рядов. В этом примере мы будем использовать модель AutoARIMA для прогнозирования.
Объяснение кода:
- Импорт библиотек: Импортируем необходимые библиотеки, включая
- Загрузка данных: Используем встроенный датасет
- Разделение данных: Разбиваем данные на обучающую и тестовую выборки с помощью функции
- Инициализация модели: Создаем экземпляр модели
- Обучение модели: Обучаем модель на обучающей выборке.
- Прогнозирование: Прогнозируем значения для горизонта прогнозирования, равного длине тестовой выборки.
- Оценка модели: Вычисляем средний абсолютный процент ошибки (MAPE) между прогнозом и фактическими значениями.
- Визуализация: Строим график, отображающий обучающую выборку, тестовую выборку и прогнозные значения.
Дополнительная информация:
Библиотека Sktime предоставляет унифицированный интерфейс для обучения и прогнозирования моделей временных рядов, облегчая сравнение различных алгоритмов и упрощая процесс их применения.
Подпишись 👉🏻 @KodduuPython 🤖
import pandas as pd
from sktime.datasets import load_airline
from sktime.forecasting.arima import AutoARIMA
from sktime.forecasting.model_selection import temporal_train_test_split
from sktime.performance_metrics.forecasting import mean_absolute_percentage_error
import matplotlib.pyplot as plt
# Загрузка встроенного датасета "Airline Passengers"
y = load_airline()
# Разделение данных на обучающую и тестовую выборки
y_train, y_test = temporal_train_test_split(y, test_size=36)
# Инициализация модели AutoARIMA
forecaster = AutoARIMA(sp=12, suppress_warnings=True)
# Обучение модели
forecaster.fit(y_train)
# Прогнозирование
fh = list(range(1, len(y_test) + 1))
y_pred = forecaster.predict(fh)
# Вычисление ошибки
mape = mean_absolute_percentage_error(y_test, y_pred)
print(f"MAPE: {mape:.2f}")
# Визуализация результатов
plt.figure(figsize=(12, 6))
plt.plot(y_train.index, y_train, label='Обучающая выборка')
plt.plot(y_test.index, y_test, label='Тестовая выборка')
plt.plot(y_test.index, y_pred, label='Прогноз')
plt.legend()
plt.show()
Объяснение кода:
- Импорт библиотек: Импортируем необходимые библиотеки, включая
sktime, pandas и matplotlib.- Загрузка данных: Используем встроенный датасет
load_airline, который содержит ежемесячное количество авиапассажиров.- Разделение данных: Разбиваем данные на обучающую и тестовую выборки с помощью функции
temporal_train_test_split.- Инициализация модели: Создаем экземпляр модели
AutoARIMA, устанавливая сезонный период sp=12 (так как данные ежемесячные).- Обучение модели: Обучаем модель на обучающей выборке.
- Прогнозирование: Прогнозируем значения для горизонта прогнозирования, равного длине тестовой выборки.
- Оценка модели: Вычисляем средний абсолютный процент ошибки (MAPE) между прогнозом и фактическими значениями.
- Визуализация: Строим график, отображающий обучающую выборку, тестовую выборку и прогнозные значения.
Дополнительная информация:
Библиотека Sktime предоставляет унифицированный интерфейс для обучения и прогнозирования моделей временных рядов, облегчая сравнение различных алгоритмов и упрощая процесс их применения.
Подпишись 👉🏻 @KodduuPython 🤖
Ниже пример использования библиотеки Darts для прогнозирования временных рядов на Python. В этом примере мы будем использовать модель LightGBM для прогнозирования пассажиропотока авиалиний.
Объяснение кода:
- Импорт библиотек:
-
- Модули из
- Загрузка данных:
- Используем встроенный датасет
- Создание временного ряда:
- Данные преобразуются в объект
- Разделение данных:
- Разбиваем данные на обучающую и тестовую выборки в соотношении 80/20 с помощью метода
- Инициализация модели:
- Используем модель
- Обучение модели:
- Модель обучается на обучающей выборке с помощью метода
- Прогнозирование:
- Прогнозируем будущие значения на горизонте, равном длине тестовой выборки, с помощью метода
- Оценка модели:
- Вычисляем метрику MAPE (Mean Absolute Percentage Error) между прогнозными и фактическими значениями тестовой выборки.
- Визуализация:
- Строим график фактических и прогнозных данных для наглядной оценки качества модели.
Дополнительный контекст по библиотеке Darts:
Darts — это мощная библиотека Python с открытым исходным кодом для анализа и прогнозирования временных рядов. Она предоставляет единый и простой в использовании интерфейс для различных моделей, включая:
- Классические статистические модели: ARIMA, Exponential Smoothing и др.
- Модели машинного обучения: LightGBM, Random Forest и др.
- Модели глубокого обучения: RNN, LSTM, TCN и др.
Основные преимущества Darts:
- Унифицированный интерфейс: Позволяет легко переключаться между моделями и сравнивать их.
- Поддержка многомерных временных рядов: Работает с одномерными и многомерными данными.
- Интеграция с другими библиотеками: Совместима с
- Продвинутые функции:
- Обработка пропущенных значений.
- Масштабирование и нормализация данных.
- Возможность добавления экзогенных переменных.
- Поддержка вероятностного прогнозирования и ансамблирования моделей.
Когда использовать Darts:
- Разработка и прототипирование моделей: Быстрое тестирование различных моделей на ваших данных.
- Комплексные проекты: Когда требуется использование сложных моделей глубокого обучения или обработка многомерных временных рядов.
- Научные исследования: Для экспериментов с новыми архитектурами моделей и методами прогнозирования.
Установка библиотеки Darts:
Перед началом работы необходимо установить библиотеку Darts:
import pandas as pd
import matplotlib.pyplot as plt
from darts import TimeSeries
from darts.datasets import AirPassengersDataset
from darts.models import LightGBMModel
from darts.metrics import mape
# Загрузка датасета "Air Passengers"
series = AirPassengersDataset().load()
# Разделение данных на обучающую и тестовую выборки (80% и 20%)
train, val = series.split_before(0.8)
# Инициализация модели LightGBM
model = LightGBMModel(lags=12)
# Обучение модели на обучающей выборке
model.fit(train)
# Прогнозирование на горизонте, равном длине тестовой выборки
forecast = model.predict(len(val))
# Вычисление ошибки MAPE
error = mape(val, forecast)
print(f"MAPE: {error:.2f}%")
# Визуализация результатов
plt.figure(figsize=(12, 6))
series.plot(label='Фактические данные')
forecast.plot(label='Прогноз')
plt.legend()
plt.title('Прогнозирование пассажиропотока авиалиний с помощью Darts')
plt.show()
Объяснение кода:
- Импорт библиотек:
-
pandas и matplotlib для работы с данными и их визуализации.- Модули из
darts, включая TimeSeries, встроенные датасеты, модели и метрики.- Загрузка данных:
- Используем встроенный датасет
AirPassengersDataset, содержащий ежемесячные данные о количестве авиапассажиров с 1949 по 1960 год.- Создание временного ряда:
- Данные преобразуются в объект
TimeSeries, который является основным классом для работы с временными рядами в Darts.- Разделение данных:
- Разбиваем данные на обучающую и тестовую выборки в соотношении 80/20 с помощью метода
split_before.- Инициализация модели:
- Используем модель
LightGBMModel, указав lags=12, что означает использование данных за предыдущие 12 месяцев для прогнозирования.- Обучение модели:
- Модель обучается на обучающей выборке с помощью метода
fit.- Прогнозирование:
- Прогнозируем будущие значения на горизонте, равном длине тестовой выборки, с помощью метода
predict.- Оценка модели:
- Вычисляем метрику MAPE (Mean Absolute Percentage Error) между прогнозными и фактическими значениями тестовой выборки.
- Визуализация:
- Строим график фактических и прогнозных данных для наглядной оценки качества модели.
Дополнительный контекст по библиотеке Darts:
Darts — это мощная библиотека Python с открытым исходным кодом для анализа и прогнозирования временных рядов. Она предоставляет единый и простой в использовании интерфейс для различных моделей, включая:
- Классические статистические модели: ARIMA, Exponential Smoothing и др.
- Модели машинного обучения: LightGBM, Random Forest и др.
- Модели глубокого обучения: RNN, LSTM, TCN и др.
Основные преимущества Darts:
- Унифицированный интерфейс: Позволяет легко переключаться между моделями и сравнивать их.
- Поддержка многомерных временных рядов: Работает с одномерными и многомерными данными.
- Интеграция с другими библиотеками: Совместима с
pandas, numpy и другими популярными библиотеками.- Продвинутые функции:
- Обработка пропущенных значений.
- Масштабирование и нормализация данных.
- Возможность добавления экзогенных переменных.
- Поддержка вероятностного прогнозирования и ансамблирования моделей.
Когда использовать Darts:
- Разработка и прототипирование моделей: Быстрое тестирование различных моделей на ваших данных.
- Комплексные проекты: Когда требуется использование сложных моделей глубокого обучения или обработка многомерных временных рядов.
- Научные исследования: Для экспериментов с новыми архитектурами моделей и методами прогнозирования.
Установка библиотеки Darts:
Перед началом работы необходимо установить библиотеку Darts:
pip install darts
Важно: Некоторые модели могут требовать дополнительных зависимостей. Например, для моделей глубокого обучения может потребоваться установка
Пример расширения: Прогнозирование с экзогенными переменными
Вы можете улучшить модель, добавив экзогенные переменные (дополнительные признаки):
Заключение:
Библиотека Darts значительно упрощает процесс моделирования и прогнозирования временных рядов, предоставляя гибкий и интуитивно понятный интерфейс. Она подходит как для начинающих, так и для опытных специалистов по данным, позволяя быстро прототипировать и внедрять модели различной сложности.
Подпишись 👉🏻 @KodduuPython 🤖
torch или tensorflow. Установите их при необходимости:
pip install 'u8darts[torch]'
Пример расширения: Прогнозирование с экзогенными переменными
Вы можете улучшить модель, добавив экзогенные переменные (дополнительные признаки):
# Допустим, у нас есть экзогенные данные
exog_series = ...
# Разделение экзогенных данных
exog_train, exog_val = exog_series.split_before(0.8)
# Обновляем модель для использования экзогенных переменных
model = LightGBMModel(lags=12, lags_exog=[0])
# Обучение модели с экзогенными данными
model.fit(train, future_covariates=exog_train)
# Прогнозирование с использованием экзогенных данных
forecast = model.predict(len(val), future_covariates=exog_val)
Заключение:
Библиотека Darts значительно упрощает процесс моделирования и прогнозирования временных рядов, предоставляя гибкий и интуитивно понятный интерфейс. Она подходит как для начинающих, так и для опытных специалистов по данным, позволяя быстро прототипировать и внедрять модели различной сложности.
Подпишись 👉🏻 @KodduuPython 🤖
Очень очень рады сообщить - мы обновили курс Python: самый быстрый курс 👍
👉 Добавили описания в уроки, где их не хватало
👉 Добавили 44 новых теста и 30 новых интерактивных задач
👉 И сохранили баланс курса, его все еще можно пройти за выходные
🔥 Ваша скидка 1500 руб до 8 ноября 🔥
Подпишись 👉🏻 @KodduuPython 🤖
👉 Добавили описания в уроки, где их не хватало
👉 Добавили 44 новых теста и 30 новых интерактивных задач
👉 И сохранили баланс курса, его все еще можно пройти за выходные
🔥 Ваша скидка 1500 руб до 8 ноября 🔥
Подпишись 👉🏻 @KodduuPython 🤖
Stepik: online education
Python: самый быстрый курс
Перед Вами самый быстрый курс по Python, тут есть все что нужно чтобы начать программировать на Python. Для тех кому некогда, но очень надо выучить Python или подтянуть базу перед собеседованием. Уже 389 позитивных оценок уроков. Мы отвечаем на все ваши комментарии…
Ниже приведён пример использования библиотеки AutoTS для прогнозирования временных рядов на Python, а также объяснение её преимуществ.
Объяснение кода:
- Импорт библиотек:
-
-
-
- Загрузка данных:
- Используем датасет авиапассажиров, доступный по URL.
- Парсим колонку
- Инициализация модели AutoTS:
-
-
-
-
-
-
-
- Обучение модели:
- Метод
- Получение прогноза:
- Метод
- Результат содержит прогнозируемые значения в атрибуте
- Визуализация:
- Объединяем фактические данные и прогноз для наглядности.
- Строим график с фактическими данными и прогнозом.
Преимущества AutoTS:
- Автоматизация моделирования:
- AutoTS автоматизирует процесс выбора модели, предварительной обработки данных и настройки гиперпараметров, что экономит время и усилия аналитика.
- Широкий спектр моделей:
- Поддерживает различные модели прогнозирования, включая традиционные статистические модели и современные алгоритмы машинного обучения и глубокого обучения.
- Ансамблирование моделей:
- Возможность создавать ансамбли из нескольких моделей для улучшения точности прогноза и повышения устойчивости к переобучению.
- Генетический алгоритм для оптимизации:
- Использует генетический алгоритм для эффективного поиска оптимальной комбинации моделей и параметров.
- Гибкость и настройка:
- Позволяет пользователю настраивать список моделей, методы предварительной обработки и другие параметры для достижения наилучших результатов.
import pandas as pd
import matplotlib.pyplot as plt
from autots import AutoTS
# Загрузка данных
# Используем встроенный датасет о пассажиропотоке авиалиний
data_url = 'https://raw.githubusercontent.com/jbrownlee/Datasets/master/airline-passengers.csv'
df = pd.read_csv(data_url, parse_dates=['Month'])
df.rename(columns={'Month': 'date', 'Passengers': 'value'}, inplace=True)
# Просмотр первых нескольких строк данных
print(df.head())
# Инициализация модели AutoTS
model = AutoTS(
forecast_length=12,
frequency='MS', # MS - начало месяца
ensemble='simple',
model_list='fast', # варианты: 'superfast', 'default', 'fast_parallel'
transformer_list='fast', # методы предварительной обработки данных
max_generations=5,
num_validations=2,
)
# Обучение модели
model = model.fit(
df,
date_col='date',
value_col='value',
id_col=None,
)
# Получение прогноза
prediction = model.predict()
forecast = prediction.forecast
# Вывод прогноза
print(forecast)
# Объединение фактических данных и прогноза для визуализации
forecast = forecast.reset_index()
forecast.columns = ['date', 'value']
full_df = pd.concat([df, forecast], ignore_index=True)
# Визуализация результатов
plt.figure(figsize=(12, 6))
plt.plot(df['date'], df['value'], label='Фактические данные')
plt.plot(forecast['date'], forecast['value'], label='Прогноз')
plt.legend()
plt.title('Прогнозирование пассажиропотока авиалиний с помощью AutoTS')
plt.xlabel('Дата')
plt.ylabel('Количество пассажиров')
plt.show()
Объяснение кода:
- Импорт библиотек:
-
pandas для работы с табличными данными.-
matplotlib для визуализации результатов.-
autots для автоматизированного прогнозирования временных рядов.- Загрузка данных:
- Используем датасет авиапассажиров, доступный по URL.
- Парсим колонку
Month как даты и переименовываем колонки для соответствия формату, ожидаемому AutoTS.- Инициализация модели AutoTS:
-
forecast_length=12 — горизонт прогнозирования (12 месяцев).-
frequency='MS' — частота временного ряда (начало месяца).-
ensemble='simple' — использование простого ансамбля моделей для улучшения прогноза.-
model_list='fast' — быстрый набор моделей для тестирования (можно выбрать более полный набор).-
transformer_list='fast' — быстрый набор методов предварительной обработки.-
max_generations=5 — количество поколений генетического алгоритма для поиска оптимальной модели.-
num_validations=2 — количество разбиений для кросс-валидации.- Обучение модели:
- Метод
fit обучает модель на предоставленных данных, указывая, какие колонки содержат дату и значения.- Получение прогноза:
- Метод
predict получает прогноз на указанный горизонт.- Результат содержит прогнозируемые значения в атрибуте
forecast.- Визуализация:
- Объединяем фактические данные и прогноз для наглядности.
- Строим график с фактическими данными и прогнозом.
Преимущества AutoTS:
- Автоматизация моделирования:
- AutoTS автоматизирует процесс выбора модели, предварительной обработки данных и настройки гиперпараметров, что экономит время и усилия аналитика.
- Широкий спектр моделей:
- Поддерживает различные модели прогнозирования, включая традиционные статистические модели и современные алгоритмы машинного обучения и глубокого обучения.
- Ансамблирование моделей:
- Возможность создавать ансамбли из нескольких моделей для улучшения точности прогноза и повышения устойчивости к переобучению.
- Генетический алгоритм для оптимизации:
- Использует генетический алгоритм для эффективного поиска оптимальной комбинации моделей и параметров.
- Гибкость и настройка:
- Позволяет пользователю настраивать список моделей, методы предварительной обработки и другие параметры для достижения наилучших результатов.
👍1