The Altair Community is migrating to a new platform to provide a better experience for you. In preparation for the migration, the Altair Community is on read-only mode from October 28 - November 6, 2024. Technical support via cases will continue to work as is. For any urgent requests from Students/Faculty members, please submit the form linked here
"Error when adding column to database"
Hi:
I am having a big problem in RapidMiner. Basically I have a decision tree model that is loaded through a ModelLoader then it is applied to a DataBaseExampleSource, which is checked work_on_database=true, since I need the results of the ModelApplier operator to be saved in the database. But an error ocurrs. This is my XML.
<operator name="Root" class="Process" expanded="yes">
<operator name="ModelLoader" class="ModelLoader">
<parameter key="model_file" value="E:\decision_tree_12.mod"/>
</operator>
<operator name="DatabaseExampleSource" class="DatabaseExampleSource">
<parameter key="work_on_database" value="true"/>
<parameter key="database_system" value="Oracle"/>
<parameter key="database_url" value="jdbc:oracle:thin:@73.20.0.67:1521:DWDB"/>
<parameter key="username" value="cubos"/>
<parameter key="password" value="oqB51Til3OKBJGwWKQWJsA=="/>
<parameter key="query" value="select * from cubos.tmp_mkt_achurn"/>
<parameter key="table_name" value="TMP_MKT_ACHURN"/>
<parameter key="label_attribute" value="CHURN"/>
<parameter key="id_attribute" value="ID_CUENTA"/>
</operator>
<operator name="ModelApplier" class="ModelApplier">
<parameter key="keep_model" value="true"/>
<list key="application_parameters">
</list>
</operator>
</operator>
And this is the error:
May 19, 2009 11:08:24 AM: [NOTE] Process starts
P May 19, 2009 11:08:24 AM: Process:
Root[1] (Process)
+- ModelLoader[1] (ModelLoader)
+- DatabaseExampleSource[1] (DatabaseExampleSource)
+- ModelApplier[1] (ModelApplier)
P May 19, 2009 11:08:59 AM: [Warning] Tree: The number of regular attributes of the given example set does not fit the number of attributes of the training example set, training: 12, application: 13
G May 19, 2009 11:08:59 AM: [Fatal] RuntimeException occured in 1st application of ModelApplier (ModelApplier)
G May 19, 2009 11:08:59 AM: [Fatal] Process failed: operator cannot be executed (Error while adding a column 'prediction(CHURN)'to database: java.sql.SQLException: ORA-00904: : invalid identifier
). Check the log messages...
Root[1] (Process)
+- ModelLoader[1] (ModelLoader)
+- DatabaseExampleSource[1] (DatabaseExampleSource)
here ==> +- ModelApplier[1] (ModelApplier)
Please can anybody provide some help to solve this?
Thanks, in advance,
I am having a big problem in RapidMiner. Basically I have a decision tree model that is loaded through a ModelLoader then it is applied to a DataBaseExampleSource, which is checked work_on_database=true, since I need the results of the ModelApplier operator to be saved in the database. But an error ocurrs. This is my XML.
<operator name="Root" class="Process" expanded="yes">
<operator name="ModelLoader" class="ModelLoader">
<parameter key="model_file" value="E:\decision_tree_12.mod"/>
</operator>
<operator name="DatabaseExampleSource" class="DatabaseExampleSource">
<parameter key="work_on_database" value="true"/>
<parameter key="database_system" value="Oracle"/>
<parameter key="database_url" value="jdbc:oracle:thin:@73.20.0.67:1521:DWDB"/>
<parameter key="username" value="cubos"/>
<parameter key="password" value="oqB51Til3OKBJGwWKQWJsA=="/>
<parameter key="query" value="select * from cubos.tmp_mkt_achurn"/>
<parameter key="table_name" value="TMP_MKT_ACHURN"/>
<parameter key="label_attribute" value="CHURN"/>
<parameter key="id_attribute" value="ID_CUENTA"/>
</operator>
<operator name="ModelApplier" class="ModelApplier">
<parameter key="keep_model" value="true"/>
<list key="application_parameters">
</list>
</operator>
</operator>
And this is the error:
May 19, 2009 11:08:24 AM: [NOTE] Process starts
P May 19, 2009 11:08:24 AM: Process:
Root[1] (Process)
+- ModelLoader[1] (ModelLoader)
+- DatabaseExampleSource[1] (DatabaseExampleSource)
+- ModelApplier[1] (ModelApplier)
P May 19, 2009 11:08:59 AM: [Warning] Tree: The number of regular attributes of the given example set does not fit the number of attributes of the training example set, training: 12, application: 13
G May 19, 2009 11:08:59 AM: [Fatal] RuntimeException occured in 1st application of ModelApplier (ModelApplier)
G May 19, 2009 11:08:59 AM: [Fatal] Process failed: operator cannot be executed (Error while adding a column 'prediction(CHURN)'to database: java.sql.SQLException: ORA-00904: : invalid identifier
). Check the log messages...
Root[1] (Process)
+- ModelLoader[1] (ModelLoader)
+- DatabaseExampleSource[1] (DatabaseExampleSource)
here ==> +- ModelApplier[1] (ModelApplier)
Please can anybody provide some help to solve this?
Thanks, in advance,
0
Answers
I'm not sure this will help, but here goes anyway... You don't actually need to work directly on the database, you could extract an example set from the database, apply the model, and then write a new table. I do this on an MS database and all works fine. What occurs to me is that it is adding the column that is messing up. Just my two cents..
Good luck anyway
But the real solution is as haddock mentions. Generate the prediction results from the Model Applier in RM, then write the Example Set created to a new table in the database. That way you don't clobber your original table if something screws up either. I do almost all of my RM work by interacting with databases, and haven't needed to use work_on_database yet.