使用 Java、Weka 和 dashDB 服务构建一个数据挖掘应用程序(3)
- UID
- 1066743
|
使用 Java、Weka 和 dashDB 服务构建一个数据挖掘应用程序(3)
第 4 步. 将您的数据上传到 (可选)我们的示例数据集已经可用于 dashDB。但是,您可以使用自己的数据。要上传数据:
- 在 dashDB Web 控制台中,单击 Manage 选项卡,然后选择 Load Data。
- 我们将从一个 CSV 文件中加载数据。在 Quick load 屏幕上,选择要加载的文件。保留所有默认设置并单击 Load File。
- 在看到表的预览后,单击 Next。
- 在 Choose the target 屏幕上,选择 Create a new table and load。单击 Next。
- 将 Table name 更改为 churntrainingset。您可以选择其他表名称,但要记得要更新代码。对于 churn 列,可以将 Data type 更改为 VARCHAR。所有其他列可以保持选定的默认值。单击 Finish。
- 您会看到成功消息,并且应该已经加载了数据。
第 5 步. 下载代码如果还没有下载代码,请 。
选择 EDIT CODE。在登录之后,您会看到该代码。
单击 File > Export > Zip 将代码下载到您的机器。
第 6 步. 理解代码示例应用程序包含以下组件:
- FileLocationContextListener 在服务器上创建了一个用于文件上传的文件夹。
- 如果用户选择数据库来上传模型的训练集 (training set),那么所输入的信息被用于将数据作为 TrainingSet 加载到一个 Instances 对象中。然后,该 TrainingSet 被用来创建 NaiveBayes 模型。另外,默认数据库表也被用来创建该模型。
- 用户可以上传一个 CSV 文件作为测试集。该文件被上传到早先在服务器上创建的文件夹中。
- WEKA 使用属性相关文件格式 (ARFF) 文件作为基本的文件格式,该格式中包含所需的属性和数据集。CSV2ARFF.java 是一个独立的实用工具,它将 CSV 文件转换为存储在服务器上的相同文件夹中的 ARFF 文件。
- 然后,将 ARFF 文件作为 TestingSet 加载到一个 Instances 对象中。
- 在 TestingSet 的所有实例中,NaiveBayes 模型被用于对输出进行分类,将它们划分到 Churn 或 Not Churn 类中。
- 然后,相应的输出会显示在用户界面上。
第 7 步. 生成 WAR 文件要将代码推送到 Bluemix,需要生成一个 WAR 文件。我们可以使用 Eclipse 轻松实现此操作。为了防止您无法生成 WAR 文件,这里已经包含了此文件。
选择 File > Import。在对话框中,选择 Existing Projects into Workspace,然后选择 Next。
在下一个对话框中,浏览您下载的文件。
保留所有默认值即可。选择 Finish。项目现在已经添加到您的 Eclipse 客户端。
要导出为 WAR 文件,请右键单击 Project Explorer 中的项目。选择 Export > War File。将 WAR 文件单独保存到一个目录中。
第 8 步. 部署应用程序打开一个终端并移动到 WAR 文件所在的目录。最好将 WAR 文件放在单独的目录中。
运行 cf push 命令。提供应用程序名称、所需的内存、实例和 WAR 文件的路径。对于此应用程序,我们提供了 512 MB 的内存和一个实例:cf push bludemo -m 512m -p BLUDemo.war 。
在上传应用程序后,会有一些说明发生了什么的详细信息。约一分半钟之后,应用程序将会处于活动状态。
如果想要更改应用程序,请重复此过程。在生成要推送到 Bluemix 的新 WAR 文件之后运行相同的命令。
替代步骤:部署应用程序您可以创建服务并部署应用程序,而不是按照前面的大部分步骤进行操作。
在将代码放入您自己的工作区中(第 5 步)之后,修改名为 manifest.yml 的文件。
将 name 和 host 修改为应用程序和主机的名称。这些应该是相同的值。该文件会自动被保存。
单击 Deploy,DevOps Services 会尝试着根据 manifest.yml 文件来部署应用程序。在部署应用程序时,DevOps Services 会要求提供凭证。完成第 4 步来上传训练数据。在执行这些操作之后,演示应用程序应该能正常工作。 |
|
|
|
|
|