| import os | |
| BASE_DIR = os.path.dirname(os.path.abspath(__file__)) | |
| DATA_RAW_DIR = os.path.join(BASE_DIR, "data", "raw") | |
| DATA_PROCESSED_DIR = os.path.join(BASE_DIR, "data", "processed") | |
| MODELS_DIR = os.path.join(BASE_DIR, "models") | |
| OUTPUTS_DIR = os.path.join(BASE_DIR, "outputs") | |
| RAW_DATA_PATH = os.path.join(DATA_RAW_DIR, "online_retail_II.csv") | |
| CLEANED_DATA_PATH = os.path.join(DATA_PROCESSED_DIR, "cleaned_retail_data.csv") | |
| RFM_FEATURES_PATH = os.path.join(DATA_PROCESSED_DIR, "rfm_features.csv") | |
| SCALED_DATA_PATH = os.path.join(DATA_PROCESSED_DIR, "scaled_rfm_data.pkl") | |
| KMEANS_MODEL_PATH = os.path.join(MODELS_DIR, "kmeans_model.pkl") | |
| CUSTOMER_SEGMENTS_PATH = os.path.join(OUTPUTS_DIR, "customer_segments.csv") | |
| SEGMENT_PRODUCTS_PATH = os.path.join(OUTPUTS_DIR, "segment_products.csv") | |
| # Ensure directories exist | |
| for directory in [DATA_RAW_DIR, DATA_PROCESSED_DIR, MODELS_DIR, OUTPUTS_DIR]: | |
| if not os.path.exists(directory): | |
| os.makedirs(directory) | |