Anaxagor / applyBN

4 stars 0 forks source link

Создание базового варианта архитектуры #9

Open Anaxagor opened 2 weeks ago

Anaxagor commented 2 weeks ago

Диаграмма классов applybn drawio

Anaxagor commented 2 weeks ago
from applybn import DataLoader, DataPreprocessor
from applybn.PGM import BayesianNetwork, SCM
from applybn.anomaly_detector import TabularAnomalyDetector
from applybn.feature_selector import BNFeatureSelector
from applybn.data_generator import BNClassBalancer

# Загрузка и подготовка данных
data_loader = DataLoader(file_path='data.csv')
data = data_loader.load_data()

preprocessor = DataPreprocessor()
processed_data = preprocessor.preprocess(data)

# Обучение байесовской сети
bayesian_network = BayesianNetwork()
bayesian_network.train(processed_data)

# Поиск аномалий
anomaly_detector = TabularAnomalyDetector(bayesian_network)
anomalies = anomaly_detector.detect(processed_data)

# Отбор признаков
feature_selector = BNFeatureSelector(bayesian_network)
selected_features = feature_selector.select(processed_data)

# Балансировка классов
class_balancer = BNClassBalancer(bayesian_network)
balanced_data = class_balancer.balance(processed_data)