how not to get it as data type "Memo"
hattan
New Altair Community Member
hi
Im writing my association rules output table in my access database for later processing
I used an "Execute Script" operator for getting Association rules as examples.
the problem is every time when overwrite the table in my database it change the value from
Text into Memo
how can I keep it as text type
here is my xml
Im writing my association rules output table in my access database for later processing
I used an "Execute Script" operator for getting Association rules as examples.
the problem is every time when overwrite the table in my database it change the value from
Text into Memo
how can I keep it as text type
here is my xml
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<process version="5.1.014">
<context>
<input/>
<output/>
<macros/>
</context>
<operator activated="true" class="process" compatibility="5.1.014" expanded="true" name="Process">
<process expanded="true" height="390" width="614">
<operator activated="true" class="retrieve" compatibility="5.1.014" expanded="true" height="60" name="Retrieve" width="90" x="45" y="30">
<parameter key="repository_entry" value="//NewLocalRepository_W7/final/Aggregation_output"/>
</operator>
<operator activated="true" class="select_attributes" compatibility="5.1.014" expanded="true" height="76" name="Select Attributes" width="90" x="45" y="120">
<parameter key="attribute_filter_type" value="single"/>
<parameter key="attribute" value="User_ID"/>
<parameter key="invert_selection" value="true"/>
</operator>
<operator activated="true" class="rename_by_replacing" compatibility="5.1.014" expanded="true" height="76" name="Rename by Replacing" width="90" x="45" y="210">
<parameter key="include_special_attributes" value="true"/>
<parameter key="replace_what" value="count[(]Goal[_]ID[)][_]"/>
</operator>
<operator activated="true" class="fp_growth" compatibility="5.1.014" expanded="true" height="76" name="FP-Growth" width="90" x="179" y="210">
<parameter key="min_support" value="0.5"/>
</operator>
<operator activated="true" class="create_association_rules" compatibility="5.1.014" expanded="true" height="76" name="Create Association Rules" width="90" x="179" y="120">
<parameter key="min_confidence" value="0.5"/>
</operator>
<operator activated="true" class="execute_script" compatibility="5.1.014" expanded="true" height="76" name="Execute Script" width="90" x="179" y="30">
<parameter key="script" value="import com.rapidminer.tools.Ontology; import com.rapidminer.operator.learner.associations.*; AssociationRules rules = input[0]; // construct attribute set Attribute[] attributes= new Attribute[11]; attributes[0] = AttributeFactory.createAttribute("Premise", Ontology.STRING); attributes[1] = AttributeFactory.createAttribute("Premise Items", Ontology.INTEGER); attributes[2] = AttributeFactory.createAttribute("Conclusion", Ontology.STRING); attributes[3] = AttributeFactory.createAttribute("Conclusion Items", Ontology.INTEGER); attributes[4] = AttributeFactory.createAttribute("Confidence", Ontology.REAL); attributes[5] = AttributeFactory.createAttribute("Conviction", Ontology.REAL); attributes[6] = AttributeFactory.createAttribute("Gain", Ontology.REAL); attributes[7] = AttributeFactory.createAttribute("Laplace", Ontology.REAL); attributes[8] = AttributeFactory.createAttribute("Lift", Ontology.REAL); attributes[9] = AttributeFactory.createAttribute("Ps", Ontology.REAL); attributes[10] = AttributeFactory.createAttribute("Total Support", Ontology.REAL); MemoryExampleTable table = new MemoryExampleTable(attributes); DataRowFactory ROW_FACTORY = new DataRowFactory(0); String[] strings= new String[11]; for (AssociationRule rule : rules) { 		// construct example data strings[0]=rule.toPremiseString(); strings[1]=rule.premise.size().toString(); strings[2]=rule.toConclusionString(); strings[3]=rule.conclusion.size().toString(); strings[4]=rule.getConfidence().toString(); strings[5]=rule.getConviction().toString(); strings[6]=rule.getGain().toString(); strings[7]=rule.getLaplace().toString(); strings[8]=rule.getLift().toString(); strings[9]=rule.getPs().toString(); strings[10]=rule.getTotalSupport().toString(); // make and add row DataRow row = ROW_FACTORY.create(strings, attributes); table.addDataRow(row);	 		} ExampleSet exampleSet = table.createExampleSet(); return exampleSet; "/>
</operator>
<operator activated="true" class="select_attributes" compatibility="5.1.014" expanded="true" height="76" name="Select Attributes (2)" width="90" x="313" y="120">
<parameter key="attribute_filter_type" value="value_type"/>
<parameter key="value_type" value="text"/>
<parameter key="except_value_type" value="nominal"/>
<parameter key="include_special_attributes" value="true"/>
</operator>
<operator activated="true" class="replace" compatibility="5.1.014" expanded="true" height="76" name="Replace" width="90" x="415" y="253">
<parameter key="attribute" value="cluster"/>
<parameter key="include_special_attributes" value="true"/>
<parameter key="replace_what" value="[\[\\\]]"/>
</operator>
<operator activated="true" class="write_database" compatibility="5.1.014" expanded="true" height="60" name="Write Database" width="90" x="447" y="120">
<parameter key="define_connection" value="url"/>
<parameter key="database_system" value="ODBC Bridge (e.g. Access)"/>
<parameter key="database_url" value="jdbc:odbc:myDB"/>
<parameter key="username" value="tiger"/>
<parameter key="password" value="npB+UJcuuIU="/>
<parameter key="table_name" value="Rules"/>
<parameter key="overwrite_mode" value="overwrite"/>
</operator>
<connect from_op="Retrieve" from_port="output" to_op="Select Attributes" to_port="example set input"/>
<connect from_op="Select Attributes" from_port="example set output" to_op="Rename by Replacing" to_port="example set input"/>
<connect from_op="Rename by Replacing" from_port="example set output" to_op="FP-Growth" to_port="example set"/>
<connect from_op="FP-Growth" from_port="frequent sets" to_op="Create Association Rules" to_port="item sets"/>
<connect from_op="Create Association Rules" from_port="rules" to_op="Execute Script" to_port="input 1"/>
<connect from_op="Execute Script" from_port="output 1" to_op="Select Attributes (2)" to_port="example set input"/>
<connect from_op="Select Attributes (2)" from_port="example set output" to_op="Replace" to_port="example set input"/>
<connect from_op="Replace" from_port="example set output" to_op="Write Database" to_port="input"/>
<connect from_op="Write Database" from_port="through" to_port="result 1"/>
<portSpacing port="source_input 1" spacing="0"/>
<portSpacing port="sink_result 1" spacing="0"/>
<portSpacing port="sink_result 2" spacing="0"/>
</process>
</operator>
</process>
Tagged:
0
Answers
-
Hi there,
Perhaps you should try setting the 'varchar length' when you write the table. I think the memo data type in access is for longer texts, so perhaps it reformats long rules. I don't use access so this could be non-sense!
Just a thought though.
0 -
Thanks for replying
even though it keep changing the type back! And my rules are not a longe text.
I think I can Ignore this problem, I found that I can complete my process so far for now.
regards0