使用Oracle数据挖掘API方法详解(三)

日期: 2009-02-01 来源:TechTarget中国 英文

数据挖掘示例

因此,来看一个在该系统中编写的小数据挖掘模型,该模型可通过访问 Oracle 数据库创建并运行 ODM (Oracle Data Mining) 回归模型。该回归模型的用途是根据输入(例如血压、高度和体重)预测心率。使用 J Cells 可直接访问 Java API 以实例化对象并在对象上调用方法。首先,连接至 Oracle 数据库。DataSource 对象可通过将以下公式

() = ~ OracleDataSource(“agust”,”agust”,”dbVaio”,”vaioFS”);

输入到电子表格的单元格 b3 中进行实例化。Tilde 符号 (~) 表示缩写符号,允许 J Cells 将(右侧)语句转换为构造函数t“new cell.OracleDataSource( “agust”, “agust”, “dbVaio”, “vaioFS”);”,使系统能够以用户“agust”的身份访问服务器“vaioFS”上的数据库“dbVaio”。

现在,可通过在 DataSource 对象上调用正确的方法(例如在单元格 b4 和 b5 中分别输入以下公式),获得数据库连接以及检查数据库中的源数据:


(*) = b3.getConnection(); 
(*) = b3.query(“select * from pulse_clinical”);
 

第一个语句将向单元格b4中返回一个java.sql.Connection对象,第二个语句将向单元格 b5 中返回一个java.sql.ResultSet对象。只需通过双击单元格 (b5) 就可检查结果集,该操作会将结果表显示在表格框架中以便查看。

迄今为止,我只在该电子表格中创建了几个简单的数据对象。现在,可以调用数据挖掘 API 来定义一个设置对象,然后创建一个简单的数据挖掘模型。首先,通过在单元格 b6 中输入以下语句来创建一个设置对象:


(*) = new cell.odm.OracleModelSettings(“xyz_settings”, b4,
  new String[]{
   “algo_name -> algo_support_vector_machines”,
   “svms_kernel_function -> svms_linear”} );
 

立刻我发现该公式中的问题是最终用户友好的,因此,注册一个带有 J Cells 的向导,在提示用户后自动生成该公式,可能是个不错的办法。一般,电子表格在用户创建复杂公式时都会给予帮助,因此用户可以期望在实例化对象时获得指导。

部署的向导如图2所示。

典型的向导界面


  图 2:典型的向导界面

同样,数据挖掘模型通过使用向导或输入公式来创建,在这两种情况中,结果模型都是在直接指定 API 调用的单元格 b7 中进行实例化:


(*)= new cell.odm.OracleMiningModel(“xyz_model”, b6,
new String[]{
“data_table_name -> pulse_clinical”,
“mining_function -> regression”,
“target_column_name -> pulse”,
“case_id_column_name -> subject”},
false );
 
  

使用该公式结果实例化数据挖掘模型将在Oracle数据库中生成标准的Oracle数据挖掘模型。该模型可通过双击单元格b7进行查看,模型的完整值如图3所示。

查看单元格b7中的模型


  图 3:查看单元格b7中的模型

使用上述的OracleMiningModel方法,可将该模型应用到Oracle数据库中的数据集。作为一个简单的交互式评分模型(一般适用于电子表格应用程序),用户可能希望输入血压、高度和体重值,让数据库使用刚才定义的模型预测心率。这个在模型对象上定义的 Java API 方法 getPrediction 非常适合这一用途。在单元格 e4、e5、e6 以及 e7 中(以单元格 b8 中签名数组指定的顺序)键入输入值后,通过输入以下公式可进行评分:

(*) = b7.getPrediction(b8,new double[]{e4,e5,e6,e7});

同样,该公式将直接访问 Java API 以获取并在单元格 e9 中显示评分结果,如图4所示。

将模型应用到输入值


  图 4:将模型应用到输入值

电子表格优点

电子表格在最终用户之间的流行多少有些令人费解。一方面,当今最常用的电子表格系统长期以来令许多开发人员气馁,他们习惯于更为灵活、强大的系统。而另一方面,对于非开发人员而言,使用电子表格系统具有以下一些明显优点:无须构建图形化用户界面、单独构建和测试每个公式(代码)以及隐藏公式,看到的是更为简单的计算结果。这些优点只存在于当今流行的电子表格中,使用公式可将数字或文本返回到单元格,而许多系统主要受限于此。此处演示了如何移除这一限制并创建更为强大的工具。然后用它来直接访问 Oracle 的数据挖掘模型功能以及其他 API。

结论

通过利用更为强大的电子表格,可以显著缩短向最终用户引入新技术版本(例如由发布的 Java API 和 PL/SQL API)的时间。事实上,使用此处的方法,直接将原始 Java API 交给非编程人员,以立即整合至决策制定流程或进行预测和分析是切实可行的。

我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。

我原创,你原创,我们的内容世界才会更加精彩!

【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

电子邮件地址不会被公开。 必填项已用*标注

敬请读者发表评论,本站保留删除与本文无关和不雅评论的权力。

相关推荐