/
dayekb
/
vibecoding_ML
Обзор
Документация
Войти
/
dayekb
/
vibecoding_ML
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
test_simple.py
84 строки
3 KB
Your Name
Initial commit: Complete ML course project with EDA, pipelines, modeling, and advanced techniques
26 авг 2025, 20:23
26 авг 2025, 20:23
774682e
Код
Авторство
О чём код?
#!/usr/bin/env python3 """Упрощенный тестовый скрипт для проверки основных компонентов ML проекта.""" import sys import os import numpy as np import pandas as pd from sklearn.datasets import make_classification from sklearn.model_selection import train_test_split from sklearn.metrics import accuracy_score # Добавляем src в путь sys.path.append(os.path.join(os.path.dirname(__file__), 'src')) # Импортируем упрощенную конфигурацию sys.path.append(os.path.join(os.path.dirname(__file__), 'configs')) from simple_config import TEST_SIZE, RANDOM_STATE def test_basic_imports(): """Тестируем базовые импорты.""" print("🔍 Тестируем базовые импорты...") try: # Создаем простые данные для тестирования X, y = make_classification(n_samples=100, n_features=5, random_state=RANDOM_STATE) df = pd.DataFrame(X, columns=[f'feature_{i}' for i in range(X.shape[1])]) df['target'] = y print("✅ Базовые импорты успешны!") return df except Exception as e: print(f"❌ Ошибка базовых импортов: {e}") return None def test_basic_functionality(df): """Тестируем базовую функциональность.""" print("\n🧪 Тестируем базовую функциональность...") try: # Разделяем данные X = df.drop('target', axis=1) y = df['target'] X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=TEST_SIZE, random_state=RANDOM_STATE) print(f"✅ Данные разделены: train={len(X_train)}, test={len(X_test)}") # Простая модель from sklearn.ensemble import RandomForestClassifier model = RandomForestClassifier(n_estimators=10, random_state=RANDOM_STATE) model.fit(X_train, y_train) # Предсказания y_pred = model.predict(X_test) accuracy = accuracy_score(y_test, y_pred) print(f"✅ Точность модели: {accuracy:.3f}") return True except Exception as e: print(f"❌ Ошибка базовой функциональности: {e}") return False def main(): """Основная функция тестирования.""" print("🚀 Начинаем упрощенное тестирование ML проекта...\n") # Тест 1: Базовые импорты df = test_basic_imports() if df is None: print("❌ Критическая ошибка: не удалось создать тестовые данные") return # Тест 2: Базовая функциональность success = test_basic_functionality(df) if success: print("\n🎉 Базовое тестирование успешно завершено!") print("📝 Основные компоненты работают корректно") else: print("\n❌ Тестирование выявило проблемы") if __name__ == "__main__": main()