有两种运行方式:
- 从命令行提供参数,此时需要提供--message参数
- 若没有提供--message参数,则main函数会使用函数接口中的kwargs参数来运行
!!!故如果要用命令行运行,务必提供参数--message
python main.py --message yes --dataset IndianPines --n_runs 1 --sample_rate 0.3 --preprocess PCA --model SVM
result:
Classification Report:
precision recall f1-score support
1 1.00 0.00 0.00 32
2 1.00 0.00 0.00 1000
3 1.00 0.00 0.00 581
4 1.00 0.00 0.00 166
5 1.00 0.00 0.00 338
6 0.41 0.84 0.55 511
7 1.00 0.00 0.00 20
8 1.00 0.00 0.00 335
9 1.00 0.00 0.00 14
10 1.00 0.00 0.00 680
11 0.35 0.99 0.52 1719
12 1.00 0.00 0.00 415
13 1.00 0.00 0.00 143
14 0.69 0.99 0.81 886
15 1.00 0.00 0.00 270
16 1.00 0.00 0.00 65
accuracy 0.42 7175
macro avg 0.90 0.18 0.12 7175
weighted avg 0.76 0.42 0.26 7175
Accuracy: 0.4190940766550523
python main.py --model nn --n_runs 1000
这里我们使用n_runs来控制神经网络迭代的次数,目前神经网络架构方面的参数还在代码里面定义,命令行暂时无法定义,需要在代码文件里进行修改。 nn的报告
Classification Report:
precision recall f1-score support
1 0.73 0.79 0.76 14
2 0.77 0.67 0.72 428
3 0.77 0.65 0.70 249
4 0.56 0.80 0.66 71
5 0.77 0.84 0.81 145
6 0.83 0.91 0.87 219
7 0.75 0.75 0.75 8
8 0.97 0.97 0.97 143
9 0.38 0.50 0.43 6
10 0.73 0.79 0.76 292
11 0.77 0.82 0.80 737
12 0.63 0.69 0.66 178
13 0.94 0.97 0.95 61
14 0.90 0.93 0.91 380
15 0.68 0.35 0.47 116
16 1.00 0.00 0.00 28
accuracy 0.78 3075
macro avg 0.76 0.72 0.70 3075
weighted avg 0.78 0.78 0.77 3075
Accuracy: 0.7817886178861788
python3 main.py