oracle - 如何在Oracle中创建数据挖掘模型?

标签 oracle stored-procedures machine-learning plsql oracle-sqldeveloper

我正在尝试使用 Oracle SQL Developer 创建数据挖掘模型。但是,它不起作用。我在此处发布之前检查了 Oracle 文档,但无法解决此问题。

我正在尝试下面的代码:

    -- Create the settings table for DT
    CREATE TABLE decision_tree_model_settings (
    setting_name VARCHAR2(30),
    setting_value VARCHAR2(30));

    BEGIN
    INSERT INTO decision_tree_model_settings (setting_name, setting_value)
    VALUES (dbms_data_mining.algo_name,dbms_data_mining.algo_decision_tree); 

    INSERT INTO decision_tree_model_settings (setting_name, setting_value)
    VALUES (dbms_data_mining.prep_auto,dbms_data_mining.prep_auto_on); 
    COMMIT;
    END; 
    /

   -- CREATE MODEL
   -- Create the model using the specified settings 
   BEGIN
   DBMS_DATA_MINING.CREATE_MODEL(
   model_name          => 'Decision_Tree_Model',
   mining_function     => dbms_data_mining.classification,
   data_table_name     => 'TRAIN_SET',
   target_column_name  => 'Y',
   settings_table_name => 'decision_tree_model_settings');
   END;
   /

创建模型的代码返回以下错误:

PLS-00306: wrong number or types of arguments in call to 'CREATE_MODEL'
ORA-06550: line 2, column 3:
PL/SQL: Statement ignored

谢谢,

爱德华多

最佳答案

您缺少第四个强制 CREATE_MODEL 参数:CASE_ID_COLUMN_NAME

这是该过程的描述:

DBMS_DATA_MINING.CREATE_MODEL (
      model_name            IN VARCHAR2,               --> you have it
      mining_function       IN VARCHAR2,               --> you have it
      data_table_name       IN VARCHAR2,               --> you have it
      case_id_column_name   IN VARCHAR2,               --> YOU DO NOT HAVE IT!
      target_column_name    IN VARCHAR2 DEFAULT NULL,
      settings_table_name   IN VARCHAR2 DEFAULT NULL,
      data_schema_name      IN VARCHAR2 DEFAULT NULL,
      settings_schema_name  IN VARCHAR2 DEFAULT NULL,
      xform_list            IN TRANSFORM_LIST DEFAULT NULL);

默认值为NULL的参数不是强制性的,但您必须提供所有必需的参数(即前 4 个 - 无异常(exception))。

一旦包含它,就应该没问题了。我无法自己尝试,因为 11g XE 没有启用挖掘选项。

关于oracle - 如何在Oracle中创建数据挖掘模型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53794786/

相关文章:

java - 在 ibatis 中是否可以在同一个插入查询中有多个 selectKey 子句?

mysql - 调用存储过程然后接口(interface)失败

python - PySpark:AttributeError: 'PipelineModel'对象没有属性 'clusterCenters'

java 。将字符串转换为点分 IP 地址

oracle - 在oracle中执行存储过程后是否会发生任何自动提交?

php - 使用存储过程在mysql中插入数组值

machine-learning - 随机森林 - 概率估计(+scikit-learn 特定)

machine-learning - 如何在caffe或DIGITS中实现L2正则化?

java - 使用 JDBC 更新数据库中的记录以等于用户输入?

mysql - 如何使用 MySQL 存储过程对管道分隔字段进行计数和排序?