基础教程

本教程将使用一个常用的飞机航班数据集,可通过Github下载:https://github.com/szilard/benchm-ml。数据集包括2005-2006年的飞行记录,我们将训练一个模型,用于预测某个航班是否会延误超过15分钟。请先按照左侧安装教程,下载并解压Silas,并安装好TBB库。

下载数据集

进入Silas可执行文件的文件夹,假设该文件夹为*bin*,在*bin*创建一个名为*tutorial1*的新文件夹。

下载 训练数据测试数据 (直接点击这两个链接即可), 将下载得到的CSV文件放置在 bin/tutorial1/data/ 文件夹。

自动生成机器学习配置文件

在命令行,返回 bin 文件夹,运行下列命令:

silas gen-all -o tutorial1 tutorial1/data/train-1m.csv tutorial1/data/test.csv

该命令采用默认设置,自动生成Silas所需的配置文件,放置在*tutorial1*文件夹。注意:它会自动选择数据集中的最后一列作为目标特征。为了确保特征选择正确,可以检查settings.json中的 “outcome_feature”,并确保目标特征没有被列在 “selected_features”中。

训练模型

通过下列命令可以训练模型:

silas learn -o model/flights tutorial1/settings.json

该命令将使用*tutorial1/settings.json*中的参数去训练机器学习模型,并将模型存储在*model/flights*。它还会输出一系列模型的性能指标。在默认参数下,模型的ROC-AUC应该能达到0.75左右。

此外,还可以文本编辑器打开*tutorial1/settings.json*,调整参数,从而得到更好的模型。例如,将*feature_proportion*的值从*”sqrt “改为*0.8。再次使用上述命令重新训练模型:应该使得ROC-AUC提高到0.76以上。

使用模型完成预测任务

训练完成后,预测模型存储在*model/flights*。我们可以用它在测试数据集上运行预测功能:

silas predict -o tutorial1/predictions.csv model/flights/ tutorial1/data/clean-test.csv

该命令将预测结果输出到*tutorial1/predictions.csv*文件。该文件每一行都与*test.csv*中的每一行相对应。第一栏给出预测结果,第二栏给出该结果的概率。