Проєкт класифікує дні на високі/низькі втрати (target_high_loss
) за показниками втрат техніки/об'єктів.
Нижче — візуалізації (вбудовані прямо в README) та технічні інтерпретації.
Файл: data/processed/cleaned.csv
Розмір: 48×15
Ціль: target_high_loss
(1 — втрати вище медіани головного числового показника, 0 — інакше).
date_end | date_start | APV | Ammunition/fuel depot | Anti-aircraft warfare systems | Cannons | MRL | Mortar/ATGM/MG |
---|---|---|---|---|---|---|---|
2023-06-25 | 2023-06-19 | 59 | 3 | nan | 3 | 3 | 6 |
2023-07-03 | 2023-06-26 | 27 | 7 | nan | 4 | 2 | 2 |
2023-07-10 | 2023-07-03 | 18 | 3 | nan | 1 | 1 | 6 |
2023-07-17 | 2023-07-10 | 15 | 8 | nan | 5 | 1 | 3 |
2023-07-24 | 2023-07-17 | 36 | 3 | 3 | 5 | nan | nan |
2023-07-31 | 2023-07-24 | 26 | 5 | 1 | 6 | nan | 5 |
2023-08-07 | 2023-07-31 | 42 | 2 | 1 | 9 | nan | 5 |
2023-08-14 | 2023-08-07 | 33 | 7 | 3 | 17 | nan | 3 |
Ознака | n | mean | median | std | min | q1 | q3 | max | skew |
---|---|---|---|---|---|---|---|---|---|
APV | 48 | 53.5 | 42.5 | 31.874 | 15 | 34 | 60.5 | 174 | 1.953 |
Cannons | 48 | 50.229 | 49.5 | 35.554 | 1 | 29 | 65 | 175 | 1.07 |
MRL | 39 | 3.59 | 3 | 3.024 | 1 | 2 | 4 | 18 | 3.049 |
Anti-aircraft warfare systems | 37 | 2.811 | 3 | 1.853 | 1 | 1 | 3 | 9 | 1.289 |
Пояснення метрик: mean
— середнє, median
— медіана, std
— стандартне відхилення, q1/q3
— квартилі, iqr=q3-q1
, skew
— асиметрія (правий «хвіст» при skew>0
).
Heatmap: img/heatmap_correlations.png
Технічний аналіз. Обчислено кореляцію Пірсона між числовими ознаками (категоріальні закодовані). Топ-звʼязки з ціллю:
Ознака | corr_target |
---|---|
Personnel | 0.785947 |
Strongpoint | 0.499741 |
APV | 0.477978 |
Tanks | 0.454517 |
Cannons | 0.382548 |
date_end | 0.359731 |
date_start | 0.359731 |
Self-propelled artillery | 0.328671 |
Mortar/ATGM/MG | 0.281915 |
Vehicles | 0.262352 |
MRL | 0.25186 |
Radio equipment | 0.17628 |
- Високі додатні кореляції у Personnel, Strongpoint, APV, Tanks, Cannons — саме ці ознаки тягнуть рішення моделей з порогами.
- Vehicles, MRL — помірні кореляції, корисні у взаємодіях.
- AA systems — слабкий соло-сигнал; Ammunition/fuel depot — майже нульовий (можлива шумність/рідкісність подій).
date_start
/date_end
мають певний звʼязок — вказує на часові кластери; краще агрегувати їх у тижні/місяці.
Технічний аналіз. Правоскошений розподіл (skew≈1.95
) з викидами (120–175). Саме «хвіст» створює високі значення у класі 1; для моделей — природні пороги на ~60/90/120.
Технічний аналіз. Довгий правий хвіст (skew≈1.07
), кластери 40–70 та піки 90+, 130+, 170+. Інформативно, але чутливо до викидів — дерева/ансамблі працюють краще за kNN/SVM.
Технічний аналіз. Більшість значень 1–5, поодинокі піки (10, 18) формують «хвіст» (skew≈3.05
). Корисна як додатковий тригер «високих» днів у комбінації з APV/Cannons.
Технічний аналіз. Вузький розподіл (1–3), менша варіативність — слабший самостійний предиктор; дає приріст у складі ансамблів.
Технічний аналіз. Для APV
та Cannons
медіани й верхні квартилі у класі 1 вищі → великі ефекти зміщення. Для MRL
— помірний ефект; для AA systems
— слабкий, різницю роблять поодинокі високі значення.
APV:
Cannons:
MRL:
AA systems:
Пояснення. Розрив медіан та IQR між класами підтверджує, що прості порогові правила (дерева/ансамблі) мають перевагу, тоді як методи відстаней (kNN) та гладких кордонів (SVM) втрачають на перекриттях.
Технічний аналіз. Ансамблі/дерево: 0 помилок на тесті (10 прикладів) — правдоподібно при чітких порогах по APV/Cannons, але оцінка може бути оптимістичною через малий тест → потрібен Stratified K‑Fold та регуляризація дерев. kNN/SVM помиляються на прикордонних точках.
Модель | macro_F1 |
---|---|
DecisionTree | 1 |
RandomForest | 1 |
AdaBoost | 1 |
kNN | 0.8 |
SVM | 0.791667 |
Дерево папок: див. розділ «Навігація по директоріях» вище.
- Шлях:
data/processed/cleaned.csv
- Сенс: після видалення колонок з >40% пропусків + додана ціль
target_high_loss
(1 — втрати вище медіани ключового показника). - Що кажуть дані: у класі 1 розподіли APV і Cannons зміщені вгору, MRL помірно вищий; це створює природні порогові правила для дерев/ансамблів.
- Навіщо зберігати: «еталон» сирих числових значень для EDA/графіків.
- Шлях:
data/processed/encoded_scaled.csv
- Сенс: результат Pipeline (SimpleImputer + OneHotEncoder + StandardScaler); 88 ознак +
target
. - Що кажуть дані: простір без пропусків і в одному масштабі — коректна база для SVM/kNN; збільшення розмірності через OHE пояснює чутливість до тюнингу.
- Навіщо зберігати: швидкий реюз для повторного навчання/валідацій без прогону всього препроцесингу.
- Шляхи:
data/processed/X_train_scaled.csv
,data/processed/X_test_scaled.csv
- Сенс: готові матриці після Pipeline; фіт препроцесора лише на train ⇒ нема витоків.
- Що кажуть дані: тест містить 10 прикладів (баланс 5/5), тож метрики волатильні; однак пороговість сигналу дозволяє ансамблям давати 1.00 на цьому тесті.
- Шляхи:
data/processed/y_train.csv
,data/processed/y_test.csv
- Сенс: бінарна ціль
target
для train/test. - Що кажуть дані: баланс класів на train ≈ 20/18, на test — 5/5 ⇒ macro-F1 ≈ accuracy та відсутній системний перекіс.
- Шлях:
data/processed/classification_reports_YYYYMMDD-HHMMSS.txt
- Що всередині:
precision/recall/F1/support
для кожної моделі + друк матриць похибок. - Зведення macro-F1 на тесті:
Модель | macro_F1 |
---|---|
DecisionTree | 1 |
RandomForest | 1 |
AdaBoost | 1 |
kNN | 0.8 |
SVM | 0.791667 |
Інтерпретація:
- DecisionTree / RandomForest / AdaBoost = 1.00 — на малому тесті порогові розділення по APV/Cannons дають ідеальні метрики; перевіряти Stratified K-Fold і регуляризувати дерева.
- kNN ≈ 0.80, SVM ≈ 0.79 — помилки на «перекриттях» розподілів і в «хвостах» (див. гістограми), де гладка межа/локальна більшість не завжди співпадають з порогами.
- Найінформативніші фічі:
APV
,Cannons
; помірні:MRL
,Vehicles
; слабші соло:AA systems
,Ammunition/fuel depot
. - Моделі‑лідери на цьому тесті: RandomForest, AdaBoost, DecisionTree (F1=1.00) — через порогову природу сигналу.
- Для виробничої якості: додати Stratified K‑Fold, регуляризувати дерева, агрегувати дати у тиждень/місяць, оцінити Permutation/SHAP‑важливості.