2

目前,我参与了一个基于数据仓库的银行分析项目。我们一直使用Oracle作为数据库和Oracle 商业智能工具 (OBIEE 11g)作为用户通过 weblogic 服务器的前端或表示层。

在这里,我需要为 ATM 卡欺诈模式检测和CART实现支持向量机 (SVM)算法并通过 OBIEE 将结果提供给用户。所以我的问题是如何将这些算法(用 Python 实现)集成到 OBIEE?

我见过Oracle Data Miner与 OBIEE 的集成,但它实现了自己的算法。

4

1 回答 1

3

11g 外部表中有一个新功能称为PREPROCESSOR(11gR2 的白皮书可以在这里找到)外部表使您可以将平面文件直接读取到 oracle 中的表中。新的 preprocessos 命令使您能够指定脚本名称而不是文件,并且 oracle 将使用输出流作为输入。这样您就可以将算法结果直接输入到 oracle 中。

让我们以 CART 算法为例

  1. 在 oracle 中创建一个工作目录

    create or replace directory dmdir as "/some_folder_on_your_os"

  2. 创建一个执行算法并以逗号分隔格式打印输出的脚本。假设对于 CART 算法,您可以将树输出为level,attribute,value,outcome,confidence.

  3. 创建外部表

    CREATE TABLE cart_tree 级别号,属性 varchar2(2000),值 varchar2(2000),结果 varchar2(2000),置信度数) 组织外部(类型 ORACLE_LOADER 默认目录 dmdir 访问参数(由换行符分隔的记录,'缺少字段终止VALUES ARE NULL PREPROCESSOR execdir:'my_cart_algorithem.py' FIELDS (level, attribute, value, result, confidence

    )) 位置 ('')) 拒绝限制无限

    • 请注意,这location是脚本的参数。在这种情况下非。
  4. 询问

    select * from cart_tree

重要的是要了解每次查询表时,oracle 都会执行脚本。所以 - 我通常对外部表做的是在它们之上创建一个物化视图。

您可能会发现有用的第二个选项是使用现有的 oracle 与 R 的集成。CART 和 SVM 算法都在 R 中可用,并且已与 oracle 集成。你可以在这里阅读

于 2013-05-14T05:42:05.863 回答