forked from sanieldalib/Amazon-Review-Classifier
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathrun_all_models.cmd
More file actions
147 lines (130 loc) · 5.44 KB
/
run_all_models.cmd
File metadata and controls
147 lines (130 loc) · 5.44 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
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
@echo off
REM ============================================
REM Run All Models Script
REM This script runs data preprocessing and all model scripts
REM Outputs are saved to logs directory
REM ============================================
echo ============================================
echo Amazon Review Classifier - Batch Run
echo ============================================
echo.
REM Change to script directory to ensure correct paths
cd /d "%~dp0"
REM Create logs directory if it doesn't exist
if not exist "logs" mkdir logs
REM Get timestamp for log files (format: YYYYMMDD_HHMMSS)
REM Handle date format variations and remove invalid characters
for /f "tokens=2 delims==" %%I in ('wmic os get localdatetime /value') do set datetime=%%I
set timestamp=%datetime:~0,8%_%datetime:~8,6%
set timestamp=%timestamp: =0%
echo Starting batch run at %date% %time%
echo Log files will be saved to logs\ directory
echo.
REM Step 1: Data Preprocessing
echo [1/8] Running data preprocessing...
Rscript data_preprocessing.R > logs\01_data_preprocessing_%timestamp%.log 2>&1
if %errorlevel% neq 0 (
echo ERROR: Data preprocessing failed! Check logs\01_data_preprocessing_%timestamp%.log
pause
exit /b 1
)
echo Data preprocessing completed successfully.
echo.
REM Step 2: Model 01 - GLM Lasso Min
echo [2/8] Running Model 01 - GLM Lasso (lambda.min)...
Rscript model_01_glm_lasso_min.R > logs\02_model_01_glm_lasso_min_%timestamp%.log 2>&1
if %errorlevel% neq 0 (
echo WARNING: Model 01 failed! Check logs\02_model_01_glm_lasso_min_%timestamp%.log
) else (
echo Model 01 completed successfully.
)
echo.
REM Step 3: Model 02 - GLM Lasso 1se
echo [3/8] Running Model 02 - GLM Lasso (lambda.1se)...
Rscript model_02_glm_lasso_1se.R > logs\03_model_02_glm_lasso_1se_%timestamp%.log 2>&1
if %errorlevel% neq 0 (
echo WARNING: Model 02 failed! Check logs\03_model_02_glm_lasso_1se_%timestamp%.log
) else (
echo Model 02 completed successfully.
)
echo.
REM Step 4: Model 03 - Random Forest (SKIPPED - using Ranger instead for better performance)
REM echo [4/9] Running Model 03 - Random Forest...
REM Rscript model_03_random_forest.R > logs\04_model_03_random_forest_%timestamp%.log 2>&1
REM if %errorlevel% neq 0 (
REM echo WARNING: Model 03 failed! Check logs\04_model_03_random_forest_%timestamp%.log
REM ) else (
REM echo Model 03 completed successfully.
REM )
echo [4/8] Skipping Model 03 - Random Forest (using Ranger instead)
echo.
REM Step 5: Model 04 - Ranger (Fast Random Forest)
echo [5/8] Running Model 04 - Ranger (Fast Random Forest)...
Rscript model_04_ranger.R > logs\05_model_04_ranger_%timestamp%.log 2>&1
if %errorlevel% neq 0 (
echo WARNING: Model 04 failed! Check logs\05_model_04_ranger_%timestamp%.log
) else (
echo Model 04 completed successfully.
)
echo.
REM Step 6: Model 05 - XGBoost
echo [6/8] Running Model 05 - XGBoost...
Rscript model_05_xgboost.R > logs\06_model_05_xgboost_%timestamp%.log 2>&1
if %errorlevel% neq 0 (
echo WARNING: Model 05 failed! Check logs\06_model_05_xgboost_%timestamp%.log
) else (
echo Model 05 completed successfully.
)
echo.
REM Step 7: Model 06 - Simple GLM
echo [7/8] Running Model 06 - Simple GLM...
Rscript model_06_simple_glm.R > logs\07_model_06_simple_glm_%timestamp%.log 2>&1
if %errorlevel% neq 0 (
echo WARNING: Model 06 failed! Check logs\07_model_06_simple_glm_%timestamp%.log
) else (
echo Model 06 completed successfully.
)
echo.
REM Step 8: Model 07 - Neural Network (REVIEW_TEXT only)
echo [8/8] Running Model 07 - Neural Network (REVIEW_TEXT only)...
echo This may take several minutes...
Rscript model_07_neural_network.R > logs\08_model_07_neural_network_%timestamp%.log 2>&1
if %errorlevel% neq 0 (
echo WARNING: Model 07 failed! Check logs\08_model_07_neural_network_%timestamp%.log
echo Note: Neural network models require keras3 package. See INSTALL_NEURAL_NETWORK.md
) else (
echo Model 07 completed successfully.
)
echo.
REM Step 9: Model 08 - Neural Network (REVIEW_TEXT + REVIEW_TITLE) - BONUS
echo [BONUS] Running Model 08 - Neural Network (REVIEW_TEXT + REVIEW_TITLE)...
echo This may take several minutes...
Rscript model_08_neural_network_titles.R > logs\09_model_08_neural_network_titles_%timestamp%.log 2>&1
if %errorlevel% neq 0 (
echo WARNING: Model 08 failed! Check logs\09_model_08_neural_network_titles_%timestamp%.log
echo Note: Neural network models require keras3 package. See INSTALL_NEURAL_NETWORK.md
) else (
echo Model 08 completed successfully.
)
echo.
REM Summary
echo ============================================
echo Batch Run Complete!
echo ============================================
echo.
echo All outputs have been saved to logs\ directory:
echo - Data preprocessing: logs\01_data_preprocessing_%timestamp%.log
echo - Model 01 (GLM Lasso min): logs\02_model_01_glm_lasso_min_%timestamp%.log
echo - Model 02 (GLM Lasso 1se): logs\03_model_02_glm_lasso_1se_%timestamp%.log
echo - Model 03 (Random Forest): SKIPPED - using Ranger instead
echo - Model 04 (Ranger): logs\05_model_04_ranger_%timestamp%.log
echo - Model 05 (XGBoost): logs\06_model_05_xgboost_%timestamp%.log
echo - Model 06 (Simple GLM): logs\07_model_06_simple_glm_%timestamp%.log
echo - Model 07 (Neural Network): logs\08_model_07_neural_network_%timestamp%.log
echo - Model 08 (NN + Titles): logs\09_model_08_neural_network_titles_%timestamp%.log
echo.
echo All visualizations have been saved to figures\ directory.
echo.
echo Check the log files for detailed output and any errors.
echo.
pause