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
"Decision tree and rule induction"
SusiSorglos
Member Posts: 4 Contributor I
Hello you,
First of all: We are sorry for our English, especially with reference to specialist terms. We are students and shall write an article about the functionality of rapid miner. Our topic is to analyze specific lectures. For this we want to use a decision tree and rule induction and draw a comparison between these two operators. Concerning the rule induction, we have no idea how to do this. For the decision tree there are many useful tutorials but for the rule induction and how to work with it, there’s more or less nothing in the worldwide web. Furthermore our training data is predefined and we are not sure about how to “tell” rapid miner to use only this specific data to train the model. With the operator x-validation (what is used in the tutorials), the decision tree is trained with data, which is chosen by random. We got the same problem with the rule induction.
In addition we are sorry, if our questions should be trivial for you, but unfortunately nobody in our university knows how to help us.
Außerdem wäre es super, wenn sich unter den Spezialisten ein deutschsprachiger Experte befinden sollte ;-)
So und jetzt nochmal auf deutsch: Wir 2 Studentinnen der LMU München, sind absolut verzweifelt. Wir sitzen an der allerletzten Seminararbeit für den Abschluss unserer Bachelors bei der wir eine Textanalyse von Vorlesungsfolien durchführen sollen. Die Daten liegen uns in txt Format vor und wurden mit dem Operator Process documents from file eingelesen.
Zur Vorverarbeitung der Daten wurden zunächst die Operatoren Tokenize, Transform Cases, Filter Stopwords (German), Filter Stopwords (English), Filter Stopwords (Dictionary) und Filter Tokens by Length verwendet. Darüber hinaus wurden die Operatoren Nominal to Text, Select Attributes und Set Role angewendet.
First of all: We are sorry for our English, especially with reference to specialist terms. We are students and shall write an article about the functionality of rapid miner. Our topic is to analyze specific lectures. For this we want to use a decision tree and rule induction and draw a comparison between these two operators. Concerning the rule induction, we have no idea how to do this. For the decision tree there are many useful tutorials but for the rule induction and how to work with it, there’s more or less nothing in the worldwide web. Furthermore our training data is predefined and we are not sure about how to “tell” rapid miner to use only this specific data to train the model. With the operator x-validation (what is used in the tutorials), the decision tree is trained with data, which is chosen by random. We got the same problem with the rule induction.
In addition we are sorry, if our questions should be trivial for you, but unfortunately nobody in our university knows how to help us.
Außerdem wäre es super, wenn sich unter den Spezialisten ein deutschsprachiger Experte befinden sollte ;-)
So und jetzt nochmal auf deutsch: Wir 2 Studentinnen der LMU München, sind absolut verzweifelt. Wir sitzen an der allerletzten Seminararbeit für den Abschluss unserer Bachelors bei der wir eine Textanalyse von Vorlesungsfolien durchführen sollen. Die Daten liegen uns in txt Format vor und wurden mit dem Operator Process documents from file eingelesen.
Zur Vorverarbeitung der Daten wurden zunächst die Operatoren Tokenize, Transform Cases, Filter Stopwords (German), Filter Stopwords (English), Filter Stopwords (Dictionary) und Filter Tokens by Length verwendet. Darüber hinaus wurden die Operatoren Nominal to Text, Select Attributes und Set Role angewendet.
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<process version="5.2.008">
<context>
<input/>
<output/>
<macros/>
</context>
<operator activated="true" class="process" compatibility="5.2.008" expanded="true" name="Process">
<parameter key="encoding" value="UTF-8"/>
<process expanded="true" height="413" width="763">
<operator activated="true" class="text:process_document_from_file" compatibility="5.2.004" expanded="true" height="76" name="Process Documents from Files" width="90" x="45" y="30">
<list key="text_directories">
<parameter key="Einführung in das Wissenmanagement" value="C:\Users\Marlon\Desktop\Spies\pdf_textdateien_Arbeitsmaterial\Wissensmanagement WiSe2010 txt richtige Reihenfolge\1748"/>
<parameter key="Wissenmanagement im Kontext des electronic business" value="C:\Users\Marlon\Desktop\Spies\pdf_textdateien_Arbeitsmaterial\Wissensmanagement WiSe2010 txt richtige Reihenfolge\1749"/>
<parameter key="Grundlegende Theorien des Wissens_epistemische Theorien und Begrifftheorien" value="C:\Users\Marlon\Desktop\Spies\pdf_textdateien_Arbeitsmaterial\Wissensmanagement WiSe2010 txt richtige Reihenfolge\1750"/>
<parameter key="Begriffstheorien - Begriffssysteme in der Praxis- Taxonomien und Verzeichnisse" value="C:\Users\Marlon\Desktop\Spies\pdf_textdateien_Arbeitsmaterial\Wissensmanagement WiSe2010 txt richtige Reihenfolge\1751"/>
<parameter key="Taxonomien und Verzeichnisse" value="C:\Users\Marlon\Desktop\Spies\pdf_textdateien_Arbeitsmaterial\Wissensmanagement WiSe2010 txt richtige Reihenfolge\1798"/>
<parameter key="Wissenrepräsenationen im Sätzen und in der natürlichen Sprache" value="C:\Users\Marlon\Desktop\Spies\pdf_textdateien_Arbeitsmaterial\Wissensmanagement WiSe2010 txt richtige Reihenfolge\1834"/>
<parameter key="Wissenverarbeitung und intelligente Systeme_operationale Wissenstheorien" value="C:\Users\Marlon\Desktop\Spies\pdf_textdateien_Arbeitsmaterial\Wissensmanagement WiSe2010 txt richtige Reihenfolge\1835"/>
<parameter key="Rahmenwerke und Vorgehensmodelle für Wissensmanagement 1" value="C:\Users\Marlon\Desktop\Spies\pdf_textdateien_Arbeitsmaterial\Wissensmanagement WiSe2010 txt richtige Reihenfolge\1886"/>
<parameter key="Rahmenwerke und Vorgehensmodelle für Wissensmanagement 2" value="C:\Users\Marlon\Desktop\Spies\pdf_textdateien_Arbeitsmaterial\Wissensmanagement WiSe2010 txt richtige Reihenfolge\2163"/>
<parameter key="Vorgehensmodelle für Planungszyklen des Wissensmanagement" value="C:\Users\Marlon\Desktop\Spies\pdf_textdateien_Arbeitsmaterial\Wissensmanagement WiSe2010 txt richtige Reihenfolge\2456"/>
<parameter key="Vertiefung: Bausteine des KM und Planungszyklus nach Probst, Raub & Romhardt" value="C:\Users\Marlon\Desktop\Spies\pdf_textdateien_Arbeitsmaterial\Wissensmanagement WiSe2010 txt richtige Reihenfolge\2545"/>
<parameter key="Strukturierung von Wissen" value="C:\Users\Marlon\Desktop\Spies\pdf_textdateien_Arbeitsmaterial\Wissensmanagement WiSe2010 txt richtige Reihenfolge\2546"/>
<parameter key="Topic Maps/ Ontologien" value="C:\Users\Marlon\Desktop\Spies\pdf_textdateien_Arbeitsmaterial\Wissensmanagement WiSe2010 txt richtige Reihenfolge\2556"/>
<parameter key="Wiederholungssitzung 1" value="C:\Users\Marlon\Desktop\Spies\pdf_textdateien_Arbeitsmaterial\Wissensmanagement WiSe2010 txt richtige Reihenfolge\2713_1"/>
<parameter key="Wiederholungssitzung 2" value="C:\Users\Marlon\Desktop\Spies\pdf_textdateien_Arbeitsmaterial\Wissensmanagement WiSe2010 txt richtige Reihenfolge\2713"/>
</list>
<parameter key="encoding" value="UTF-8"/>
<parameter key="prune_method" value="absolute"/>
<parameter key="prune_below_absolute" value="2"/>
<parameter key="prune_above_absolute" value="9999"/>
<process expanded="true" height="415" width="763">
<operator activated="true" class="text:tokenize" compatibility="5.2.004" expanded="true" height="60" name="Tokenize" width="90" x="45" y="30"/>
<operator activated="true" class="text:transform_cases" compatibility="5.2.004" expanded="true" height="60" name="Transform Cases" width="90" x="179" y="30"/>
<operator activated="true" class="text:filter_stopwords_german" compatibility="5.2.004" expanded="true" height="60" name="Filter Stopwords (German)" width="90" x="179" y="120"/>
<operator activated="true" class="text:filter_stopwords_dictionary" compatibility="5.2.004" expanded="true" height="76" name="Filter Stopwords (Dictionary)" width="90" x="313" y="120">
<parameter key="file" value="C:\Users\Marlon\Desktop\Spies\Stopwortliste 2.csv"/>
</operator>
<operator activated="true" class="text:filter_stopwords_english" compatibility="5.2.004" expanded="true" height="60" name="Filter Stopwords (English)" width="90" x="447" y="120"/>
<operator activated="true" class="text:filter_by_length" compatibility="5.2.004" expanded="true" height="60" name="Filter Tokens (by Length)" width="90" x="581" y="30">
<parameter key="min_chars" value="3"/>
<parameter key="max_chars" value="100"/>
</operator>
<connect from_port="document" to_op="Tokenize" to_port="document"/>
<connect from_op="Tokenize" from_port="document" to_op="Transform Cases" to_port="document"/>
<connect from_op="Transform Cases" from_port="document" to_op="Filter Stopwords (German)" to_port="document"/>
<connect from_op="Filter Stopwords (German)" from_port="document" to_op="Filter Stopwords (Dictionary)" to_port="document"/>
<connect from_op="Filter Stopwords (Dictionary)" from_port="document" to_op="Filter Stopwords (English)" to_port="document"/>
<connect from_op="Filter Stopwords (English)" from_port="document" to_op="Filter Tokens (by Length)" to_port="document"/>
<connect from_op="Filter Tokens (by Length)" from_port="document" to_port="document 1"/>
<portSpacing port="source_document" spacing="0"/>
<portSpacing port="sink_document 1" spacing="0"/>
<portSpacing port="sink_document 2" spacing="0"/>
</process>
</operator>
<operator activated="true" class="nominal_to_text" compatibility="5.2.008" expanded="true" height="76" name="Nominal to Text" width="90" x="179" y="165"/>
<operator activated="true" class="select_attributes" compatibility="5.2.008" expanded="true" height="76" name="Select Attributes" width="90" x="313" y="165">
<parameter key="attribute_filter_type" value="no_missing_values"/>
</operator>
<operator activated="true" class="set_role" compatibility="5.2.008" expanded="true" height="76" name="Set Role" width="90" x="447" y="165">
<parameter key="name" value="label"/>
<parameter key="target_role" value="label"/>
<list key="set_additional_roles"/>
</operator>
<operator activated="true" class="x_validation" compatibility="5.2.008" expanded="true" height="112" name="Validation" width="90" x="581" y="75">
<process expanded="true" height="413" width="356">
<operator activated="true" class="decision_tree" compatibility="5.2.008" expanded="true" height="76" name="Decision Tree" width="90" x="112" y="30">
<parameter key="criterion" value="information_gain"/>
</operator>
<connect from_port="training" to_op="Decision Tree" to_port="training set"/>
<connect from_op="Decision Tree" from_port="model" to_port="model"/>
<portSpacing port="source_training" spacing="0"/>
<portSpacing port="sink_model" spacing="0"/>
<portSpacing port="sink_through 1" spacing="0"/>
</process>
<process expanded="true" height="413" width="356">
<operator activated="true" class="apply_model" compatibility="5.2.008" expanded="true" height="76" name="Apply Model" width="90" x="45" y="30">
<list key="application_parameters"/>
</operator>
<operator activated="true" class="performance_classification" compatibility="5.2.008" expanded="true" height="76" name="Performance" width="90" x="179" y="30">
<parameter key="weighted_mean_precision" value="true"/>
<list key="class_weights"/>
</operator>
<connect from_port="model" to_op="Apply Model" to_port="model"/>
<connect from_port="test set" to_op="Apply Model" to_port="unlabelled data"/>
<connect from_op="Apply Model" from_port="labelled data" to_op="Performance" to_port="labelled data"/>
<connect from_op="Performance" from_port="performance" to_port="averagable 1"/>
<portSpacing port="source_model" spacing="0"/>
<portSpacing port="source_test set" spacing="0"/>
<portSpacing port="source_through 1" spacing="0"/>
<portSpacing port="sink_averagable 1" spacing="0"/>
<portSpacing port="sink_averagable 2" spacing="0"/>
</process>
</operator>
<connect from_port="input 1" to_op="Process Documents from Files" to_port="word list"/>
<connect from_op="Process Documents from Files" from_port="example set" to_op="Nominal to Text" to_port="example set input"/>
<connect from_op="Process Documents from Files" from_port="word list" to_port="result 1"/>
<connect from_op="Nominal to Text" from_port="example set output" to_op="Select Attributes" to_port="example set input"/>
<connect from_op="Select Attributes" from_port="example set output" to_op="Set Role" to_port="example set input"/>
<connect from_op="Set Role" from_port="example set output" to_op="Validation" to_port="training"/>
<connect from_op="Validation" from_port="training" to_port="result 2"/>
<connect from_op="Validation" from_port="averagable 1" to_port="result 3"/>
<portSpacing port="source_input 1" spacing="0"/>
<portSpacing port="source_input 2" spacing="0"/>
<portSpacing port="sink_result 1" spacing="0"/>
<portSpacing port="sink_result 2" spacing="0"/>
<portSpacing port="sink_result 3" spacing="0"/>
<portSpacing port="sink_result 4" spacing="0"/>
</process>
</operator>
</process>
Tagged:
0
Answers
Desweiteren wurde der Operator Rule Induction weder in dem Seminar noch in entsprechenden Tutorials thematisiert. Daher die Frage, wie dieser Operator einzusetzen ist. Auch mit diesem Operator soll die oben bereits genannte Fragestellung der Arbeit beantwortet werden.
Hilfe!
Thank you very much,
Julia und Alena
zunächst einmal: Es gibt für viele Operatoren und Anwendungsfälle Beispielprozesse, die man sich anschauen kann. Für die RuleInduction heißt dieser Prozess 08_RuleLearning, den ihr bei den Repositories findet (unter Samples/processes/01_Learner). Wenn ihr vor dem Lerner einen Breakpoint setzt bevor ihr den Prozess ausführt, könnt ihr auch sehen, was für Eingangsdaten der Lerner bekommt.
Zu euren zweiten Punkt: Wenn ihr die Daten schon in Test- und Trainingsdaten unterteilt habt, dann braucht ihr auch keinen speziellen Validierungsoperator. Ihr müsst die Daten also getrennt einladen, so dass ihr zwei ExampleSets habt. Die Trainingsdaten (also eure Wiederholungsvorlesungen) nehmt ihr als Eingabe für den Lerner (z.B. Decision Tree) und der erstellt euch ein Modell, den ihr dann mit dem ModelApplier auf den Testdaten anwenden könnt. Das Ergebnis hiervon könnt ihr dann zur Performance-Messung verwenden.
Hier ein kleiner Prozess zur Veranschaulichung mit generierten Daten. Ihr könnt den einladen indem ihr einen neuen Prozess erstellt, das XML im XML-Tab einfügt und auf den grünen Hacken klickt. Viele Grüße
Marcin