Skip to content

AlexanderMeshchaninov/Banking_ML_Project

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

5 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Banking_ML_Project

ОписаниС ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°

ЦСль ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° β€” ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ характСристик, ΠΏΠΎ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ ΠΌΠΎΠΆΠ½ΠΎ Π²Ρ‹ΡΠ²ΠΈΡ‚ΡŒ ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΎΠ², Π±ΠΎΠ»Π΅Π΅ склонных ΠΊ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΈΡŽ Π΄Π΅ΠΏΠΎΠ·ΠΈΡ‚Π° Π² Π±Π°Π½ΠΊΠ΅, ΠΈ Π·Π° счёт этого ΠΏΠΎΠ²Ρ‹ΡΠΈΡ‚ΡŒ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΈΠ²Π½ΠΎΡΡ‚ΡŒ ΠΌΠ°Ρ€ΠΊΠ΅Ρ‚ΠΈΠ½Π³ΠΎΠ²ΠΎΠΉ ΠΊΠ°ΠΌΠΏΠ°Π½ΠΈΠΈ.

Π—Π°Π΄Π°Ρ‡Π° относится ΠΊ Π±ΠΈΠ½Π°Ρ€Π½ΠΎΠΉ классификации. НСобходимо ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ модСль машинного обучСния, которая Π½Π° основС ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½Π½Ρ‹Ρ… характСристик ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π° Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€Π΅Π΄ΡΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ, Π²ΠΎΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΎΠ½ ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ ΠΎΠ± ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΈΠΈ Π΄Π΅ΠΏΠΎΠ·ΠΈΡ‚Π° (1) ΠΈΠ»ΠΈ Π½Π΅Ρ‚ (0).

Установка зависимостСй

Π’Π΅ΡΡŒ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ выполнялся Π² Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠΉ срСдС venv.

ΠŸΠ΅Ρ€Π΅Π΄ запуском установитС Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Π΅ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ:

    $ pip install requirements.txt

ΠŸΡ€ΠΎΠ΅ΠΊΡ‚ состоит ΠΈΠ· ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… этапов:

  1. ΠŸΠ΅Ρ€Π²ΠΈΡ‡Π½Π°Ρ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π΄Π°Π½Π½Ρ‹Ρ…

  2. Π Π°Π·Π²Π΅Π΄Ρ‹Π²Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ Π°Π½Π°Π»ΠΈΠ· Π΄Π°Π½Π½Ρ‹Ρ… (EDA)

  3. ΠžΡ‚Π±ΠΎΡ€ ΠΈ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΡ€ΠΈΠ·Π½Π°ΠΊΠΎΠ²

  4. РСшСниС Π·Π°Π΄Π°Ρ‡ΠΈ классификации: логистичСская рСгрСссия ΠΈ Ρ€Π΅ΡˆΠ°ΡŽΡ‰ΠΈΠ΅ Π΄Π΅Ρ€Π΅Π²ΡŒΡ

  5. РСшСниС Π·Π°Π΄Π°Ρ‡ΠΈ классификации: ансамбли ΠΌΠΎΠ΄Π΅Π»Π΅ΠΉ ΠΈ построСниС ΠΏΡ€ΠΎΠ³Π½ΠΎΠ·Π°

  6. ΠžΠ±Ρ‰ΠΈΠΉ Π²Ρ‹Π²ΠΎΠ΄

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Π΅ Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ

  • Python 3.12+
  • Pandas, Numpy, Matplotlib, Seaborn
  • Scikit-learn
  • Regex
  • Pickle (сСриализация ΠΈ дСсСриализация ΠΌΠΎΠ΄Π΅Π»Π΅ΠΉ)
  • Optuna (ΠΏΠΎΠ΄Π±ΠΎΡ€ Π³ΠΈΠΏΠ΅Ρ€ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ²)

ΠŸΠΎΠ΄Ρ…ΠΎΠ΄Ρ‹ ΠΊ ΠΌΠΎΠ΄Π΅Π»ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡŽ

ΠŸΡ€ΠΎΠ΅ΠΊΡ‚ Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΡŽ ΠΈ сравнСниС Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… ΠΌΠΎΠ΄Π΅Π»Π΅ΠΉ Π² Ρ‚ΠΎΠΌ числС ΠΈ стСкинг:

МодСль ΠŸΠΎΠ΄Ρ…ΠΎΠ΄ НазначСниС
LogisticRegression Π“ΠΈΠΏΠ΅Ρ€ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ ΠΏΠΎΠ΄ΠΎΠ±Ρ€Π°Π½Ρ‹ Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽ ΠžΡ†Π΅Π½ΠΊΠ° ΠΌΠΎΠ΄Π΅Π»ΠΈ ΠΏΠΎ всСм Ρ‡Π΅Ρ‚Ρ‹Ρ€Π΅ΠΌ ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΠ°ΠΌ
DecisionTreeClassifier Π“ΠΈΠΏΠ΅Ρ€ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ ΠΏΠΎΠ΄ΠΎΠ±Ρ€Π°Π½Ρ‹ Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽ ΠžΡ†Π΅Π½ΠΊΠ° ΠΌΠΎΠ΄Π΅Π»ΠΈ ΠΏΠΎ всСм Ρ‡Π΅Ρ‚Ρ‹Ρ€Π΅ΠΌ ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΠ°ΠΌ
RandomForestClassifier Π“ΠΈΠΏΠ΅Ρ€ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ ΠΏΠΎΠ΄ΠΎΠ±Ρ€Π°Π½Ρ‹ Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽ ΠžΡ†Π΅Π½ΠΊΠ° ΠΌΠΎΠ΄Π΅Π»ΠΈ ΠΏΠΎ всСм Ρ‡Π΅Ρ‚Ρ‹Ρ€Π΅ΠΌ ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΠ°ΠΌ
GradientBoostingClassifier Π“ΠΈΠΏΠ΅Ρ€ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ ΠΏΠΎΠ΄ΠΎΠ±Ρ€Π°Π½Ρ‹ Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽ ΠžΡ†Π΅Π½ΠΊΠ° ΠΌΠΎΠ΄Π΅Π»ΠΈ ΠΏΠΎ всСм Ρ‡Π΅Ρ‚Ρ‹Ρ€Π΅ΠΌ ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΠ°ΠΌ
Π‘Ρ‚Π΅ΠΊΠΈΠ½Π³ Π“ΠΈΠΏΠ΅Ρ€ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ ΠΏΠΎΠ΄ΠΎΠ±Ρ€Π°Π½Ρ‹ Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽ ΠžΡ†Π΅Π½ΠΊΠ° ΠΌΠΎΠ΄Π΅Π»ΠΈ ΠΏΠΎ всСм Ρ‡Π΅Ρ‚Ρ‹Ρ€Π΅ΠΌ ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΠ°ΠΌ
GridSearch + DecisionTreeClassifier Π“ΠΈΠΏΠ΅Ρ€ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ ΠΏΠΎΠ΄ΠΎΠ±Ρ€Π°Π½Ρ‹ GridSearch ΠžΡ†Π΅Π½ΠΊΠ° ΠΌΠΎΠ΄Π΅Π»ΠΈ ΠΏΠΎ всСм Ρ‡Π΅Ρ‚Ρ‹Ρ€Π΅ΠΌ ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΠ°ΠΌ
Optuna + RandomForestClassifier Π“ΠΈΠΏΠ΅Ρ€ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ ΠΏΠΎΠ΄ΠΎΠ±Ρ€Π°Π½Ρ‹ Optuna ΠžΡ†Π΅Π½ΠΊΠ° ΠΌΠΎΠ΄Π΅Π»ΠΈ ΠΏΠΎ всСм Ρ‡Π΅Ρ‚Ρ‹Ρ€Π΅ΠΌ ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΠ°ΠΌ

КаТдая модСль тСстируСтся Π½Π° Π²Ρ‹Π±ΠΎΡ€ΠΊΠ΅ 67% ΠΎΠ±ΡƒΡ‡Π°ΡŽΡ‰Π΅ΠΉ части ΠΈ 33% Π²Π°Π»ΠΈΠ΄Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ.

Π‘Ρ€Π°Π²Π½Π΅Π½ΠΈΠ΅ производится ΠΏΠΎ ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΠ°ΠΌ: Precision, Recall, F1, Accuracy

Π’ этом Π½ΠΎΡƒΡ‚Π±ΡƒΠΊΠ΅ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Ρ‹:

  • прСобразования Π΄Π°Π½Π½Ρ‹Ρ… (ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π°Π½Ρ‹ Π½ΠΎΠΌΠΈΠ½Π°Π»ΡŒΠ½Ρ‹Π΅ ΠΈ порядковыС ΠΏΡ€ΠΈΠ·Π½Π°ΠΊΠΈ + цСлСвая пСрСмСнная)
  • ΠΎΡ‚Π±ΠΎΡ€ ΠΏΡ€ΠΈΠ·Π½Π°ΠΊΠΎΠ² с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ SelectKBest
  • ΠΌΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Ρ… MinMaxScaler
  • ΠΏΠΎΠ΄Π±ΠΎΡ€ Π³ΠΈΠΏΠ΅Ρ€ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ GridSearch, Optuna
  • кросс-валидация
  • сСриализация Π΄Π²ΡƒΡ… Π»ΡƒΡ‡ΡˆΠΈΡ… ΠΌΠΎΠ΄Π΅Π»Π΅ΠΉ: основной ΠΈ Π°Π»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Π½ΠΎΠΉ Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ pkl

About

Banking_ML_Project

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published