龙盟编程博客 | 无障碍搜索 | 云盘搜索神器
快速搜索
主页 > 数据库类 > Oracle 技术 >

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

时间:2011-04-12 23:18来源:未知 作者:admin 点击:
分享到:
数据挖掘示例 因此,来看一个在该系统中编写的小数据挖掘模型,该模型可通过访问 Oracle 数据库创建并运行 ODM (Oracle Data Mining) 回归模型。该回归模型的

数据挖掘示例

因此,来看一个在该系统中编写的小数据挖掘模型,该模型可通过访问 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 所示。

 
图 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 交给非编程人员,以立即整合至决策制定流程或进行预测和分析是切实可行的。

  1. 将oracle 9i备份文件导入oracle 8i的方法简介
  2. 浅析Oracle监听器安装与配置
  3. Oracle数据库编写有效事务指导方针
精彩图集

赞助商链接