forked from Elkhiat15/Airbnb-Rating-Classification
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathMakefile
More file actions
68 lines (48 loc) · 1.65 KB
/
Copy pathMakefile
File metadata and controls
68 lines (48 loc) · 1.65 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
.PHONY: all data scrape merge validate clean features train train-smote-tomek train-smote train-borderline train-single train-single-smote-tomek train-single-smote train-single-borderline compare-models mlflow-ui test lint check format eda install-ml
# Default
all: merge clean features train test
merge:
poetry run python3 scraper/merge.py
# Validation
# validate:
# python3 validation/validation.py --data data/merged/merged_airbnb_data.csv
# Cleaning
clean:
poetry run python3 cleaning/cleaning.py
# Feature Engineering
features:
poetry run python3 feature_engineering/pipeline.py
# Model Training
# Train all models (full hyperparameter grids)
train:
poetry run python3 modelling/train.py
train-smote-tomek:
poetry run python3 modelling/train_enhanced.py --balance smote_tomek
train-smote:
poetry run python3 modelling/train_enhanced.py --balance mild_smote
train-borderline:
poetry run python3 modelling/train_enhanced.py --balance borderline
# Train all models (single parameter sets - fastest)
train-single:
poetry run python3 modelling/train_single.py
train-single-smote-tomek:
poetry run python3 modelling/train_single.py --balance smote_tomek
train-single-smote:
poetry run python3 modelling/train_single.py --balance mild_smote
train-single-borderline:
poetry run python3 modelling/train_single.py --balance borderline
mlflow-ui:
poetry run mlflow ui
# EDA Dashboard
eda:
poetry run python3 -m streamlit run eda/dashboard.py
# Testing
test:
poetry run pytest tests/ -v --cov=. --cov-report=term-missing
# Linting
lint:
poetry run ruff check .
format-check:
poetry run ruff format --check .
format:
poetry run ruff format .