Skip to content

DmDSLab 2.0.0 - UCI Integration & Modern Python

Latest

Choose a tag to compare

@Dmatryus Dmatryus released this 30 Jul 07:07
· 61 commits to main since this release
90d202b

🎉 DmDSLab 2.0.0 - UCI Integration & Modern Python

Мы рады представить DmDSLab 2.0.0 - крупнейшее обновление библиотеки с момента её создания! Эта версия привносит долгожданную интеграцию с UCI Machine Learning Repository и переход на современные версии Python.

🌟 Главные особенности

🌐 Полная интеграция с UCI ML Repository

Теперь вы можете загружать датасеты из крупнейшего репозитория машинного обучения прямо из Python:

from dmdslab.datasets import load_uci_by_name

# Простая загрузка популярных датасетов
iris = load_uci_by_name('iris')
wine = load_uci_by_name('wine')

# Или по ID
from dmdslab.datasets.uci import UCIDatasetManager
manager = UCIDatasetManager()
data = manager.load_dataset(53)  # Iris dataset

💾 Интеллектуальное кеширование

  • Автоматическое сохранение загруженных датасетов
  • Молниеносная повторная загрузка из кеша

🚀 Переход на Python 3.11+

  • Современные возможности языка
  • Оптимизированные зависимости

📊 Что нового

✨ Новые возможности

  • UCI Dataset Loader

    • Загрузка по ID: manager.load_dataset(53)
    • Загрузка по имени: load_uci_by_name('iris')
    • Пакетная загрузка: manager.load_datasets([53, 17, 19])
  • Автоматическое определение характеристик

    • Тип задачи (классификация/регрессия/кластеризация)
    • Категориальные признаки
    • Пропущенные значения
    • Статистика датасета
  • Progress Bars

    • Визуализация процесса загрузки
    • Отслеживание пакетной загрузки
    • Настраиваемое отображение
  • Расширенное логирование

    • DEBUG, INFO, WARNING, ERROR уровни
    • Детальная информация о процессе загрузки
    • Настраиваемый формат вывода

🔧 Технические улучшения

  • Модульная архитектура с четким разделением компонентов
  • Улучшенная обработка ошибок с специализированными исключениями
  • Расширенная система типов с полной поддержкой type hints
  • Оптимизированное управление памятью

⚠️ Breaking Changes

Python 3.11+ обязателен

  • Удалена поддержка Python 3.8, 3.9, 3.10
  • Минимальная версия теперь Python 3.11
  • Пользователям старых версий Python рекомендуется использовать DmDSLab 1.0.1

Изменения API

  • Переработана структура модулей
  • Новое пространство имен для UCI функций
  • Улучшенная интеграция с ModelData

📦 Установка

# Базовая установка
pip install DmDSLab

# С поддержкой UCI (рекомендуется)
pip install DmDSLab[uci]

# Полная установка
pip install DmDSLab[all]

Требования: Python 3.11 или выше

🔄 Миграция с версии 1.x

Проверьте версию Python

python --version  # Должно быть 3.11.x или 3.12.x

Обновите импорты

# Старый способ (1.x)
from dmdslab.datasets import ModelData

# Новый способ (2.0) - без изменений для базовых классов
from dmdslab.datasets import ModelData

# Новые возможности UCI
from dmdslab.datasets import load_uci_by_name, UCIDatasetManager

Используйте новые возможности

# Быстрая загрузка популярных датасетов
iris = load_uci_by_name('iris')
adult = load_uci_by_name('adult')
mushroom = load_uci_by_name('mushroom')

# Управление кешем
from dmdslab.datasets import get_uci_cache_info, clear_uci_cache
info = get_uci_cache_info()
print(f"Датасетов в кеше: {info['total_datasets']}")

📈 Производительность

Благодаря переходу на Python 3.11:

  • Загрузка датасетов быстрее на 25-60%
  • Обработка больших массивов данных эффективнее на 40%
  • Меньшее потребление памяти
  • Быстрее запуск и импорт модулей

💬 Обратная связь

Нашли баг? Есть предложение?
-Создайте issue

Полный список изменений: CHANGELOG.md
Скачать: PyPI | GitHub Release


DmDSLab - Data Science Laboratory Toolkit
Сделано с ❤️ для исследователей данных