2016-04-04 2 views
0

I haben getrennte Transaktions Komma (Korb) Daten in itemsets FormatWie laden Sie Transaktions- (Basket-) Daten in RapidMiner für die Assoziationsregel?

citrus fruit,semi-finished,bread,margarine 
tropical fruit,yogurt,coffee,milk 
yogurt,cream,cheese,meat spreads 
etc 

wobei jede Reihe der Elemente in einer einzelnen Transaktion erworben anzeigt. Mit dem Read.CSV-Operator habe ich diese Datei in RapidMiner geladen. Ich konnte keinen Operator finden, der diese Daten für das FP-Growth- und Assoziationsregel-Mining transformiert.

Gibt es eine Möglichkeit, solche Dateitypen in RapidMiner für das Mining von Assoziationsregeln zu lesen?

Antwort

0

Ich verstand endlich, was du meintest - Entschuldigung, ich war langsam. Dies kann mithilfe von Operatoren aus der Textverarbeitungserweiterung erfolgen. Sie müssen dies aus dem RapidMiner-Repository installieren. Sobald Sie haben, können Sie diesen Prozess ausprobieren.

<?xml version="1.0" encoding="UTF-8" standalone="no"?> 
<process version="7.0.000"> 
    <context> 
    <input/> 
    <output/> 
    <macros/> 
    </context> 
    <operator activated="true" class="process" compatibility="7.0.000" expanded="true" name="Process"> 
    <process expanded="true"> 
     <operator activated="true" class="read_csv" compatibility="7.0.000" expanded="true" height="68" name="Read CSV" width="90" x="246" y="85"> 
     <parameter key="csv_file" value="C:\Temp\is.txt"/> 
     <parameter key="column_separators" value="\r\n"/> 
     <parameter key="first_row_as_names" value="false"/> 
     <list key="annotations"/> 
     <parameter key="encoding" value="windows-1252"/> 
     <list key="data_set_meta_data_information"> 
      <parameter key="0" value="att1.true.polynominal.attribute"/> 
     </list> 
     </operator> 
     <operator activated="true" class="nominal_to_text" compatibility="7.0.000" expanded="true" height="82" name="Nominal to Text" width="90" x="380" y="85"/> 
     <operator activated="true" class="text:process_document_from_data" compatibility="7.0.000" expanded="true" height="82" name="Process Documents from Data" width="90" x="514" y="85"> 
     <parameter key="vector_creation" value="Term Occurrences"/> 
     <list key="specify_weights"/> 
     <process expanded="true"> 
      <operator activated="true" class="text:tokenize" compatibility="7.0.000" expanded="true" height="68" name="Tokenize" width="90" x="45" y="34"> 
      <parameter key="mode" value="specify characters"/> 
      <parameter key="characters" value=","/> 
      </operator> 
      <connect from_port="document" to_op="Tokenize" to_port="document"/> 
      <connect from_op="Tokenize" 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> 
     <connect from_op="Read CSV" from_port="output" to_op="Nominal to Text" to_port="example set input"/> 
     <connect from_op="Nominal to Text" from_port="example set output" to_op="Process Documents from Data" to_port="example set"/> 
     <connect from_op="Process Documents from Data" from_port="example set" 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> 

Der Trick ist Read CSV zu verwenden, um die Original-Datei in zu lesen, aber Ende der Zeile als Trennzeichen verwenden. Dies liest die gesamte Zeile als Polynomattribut ein. Von dort müssen Sie dies in Text umwandeln, damit die Textverarbeitungsoperatoren ihre Arbeit erledigen können. Der Operator Process Documents from Data wird dann verwendet, um das letzte Beispiel festzulegen. Der wichtige Punkt ist, den Operator Tokenize zu verwenden, um die Zeilen in Wörter getrennt durch Kommas zu teilen.

Verwandte Themen