标题:
使用 Java、Weka 和 dashDB 服务构建一个数据挖掘应用程序(3)
[打印本页]
作者:
look_w
时间:
2018-11-18 19:18
标题:
使用 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 步来上传训练数据。在执行这些操作之后,演示应用程序应该能正常工作。
欢迎光临 电子技术论坛_中国专业的电子工程师学习交流社区-中电网技术论坛 (http://bbs.eccn.com/)
Powered by Discuz! 7.0.0