2016-11-13 64 views
0

假設我需要建立高精度,低迴憶的分類器。我應該在RapidMiner中使用哪個操作員?例如,ApplyModel運算符不支持閾值中的任何干預?目前還不清楚同一個ApplyModel操作符如何與不同建模模型一起工作:NeuralNetworks,SVN等。用RapidMiner構建高精度分類器

回答

1

您可以使用Select Recall運算符。這找到了選擇召回所需的閾值。

此運算符的輸入是包含置信度的標記示例集,輸出是使用運算符應用於標記數據的閾值。

Apply Model運算符需要一個示例集合和一個模型作爲輸入。

我做了一個簡單的例子,說明了所有這一切。

<?xml version="1.0" encoding="UTF-8"?><process version="7.2.003"> 
    <context> 
    <input/> 
    <output/> 
    <macros/> 
    </context> 
    <operator activated="true" class="process" compatibility="7.2.003" expanded="true" name="Process"> 
    <process expanded="true"> 
     <operator activated="true" class="retrieve" compatibility="7.2.003" expanded="true" height="68" name="Retrieve Sonar" width="90" x="45" y="34"> 
    <parameter key="repository_entry" value="//Samples/data/Sonar"/> 
     </operator> 
     <operator activated="true" class="naive_bayes" compatibility="7.2.003" expanded="true" height="82" name="Naive Bayes" width="90" x="45" y="289"/> 
     <operator activated="true" class="apply_model" compatibility="7.2.003" expanded="true" height="82" name="Apply Model" width="90" x="179" y="289"> 
    <list key="application_parameters"/> 
     </operator> 
     <operator activated="true" class="multiply" compatibility="7.2.003" expanded="true" height="103" name="Multiply" width="90" x="246" y="136"/> 
     <operator activated="true" class="materialize_data" compatibility="7.2.003" expanded="true" height="82" name="Materialize Data" width="90" x="380" y="136"/> 
     <operator activated="true" class="select_recall" compatibility="7.2.003" expanded="true" height="82" name="Select Recall" width="90" x="313" y="34"> 
    <parameter key="min_recall" value="0.1"/> 
     </operator> 
     <operator activated="true" class="apply_threshold" compatibility="7.2.003" expanded="true" height="82" name="Apply Threshold" width="90" x="447" y="34"/> 
     <operator activated="true" class="performance_binominal_classification" compatibility="7.2.003" expanded="true" height="82" name="Performance" width="90" x="581" y="34"/> 
     <operator activated="true" class="performance_binominal_classification" compatibility="7.2.003" expanded="true" height="82" name="Performance (2)" width="90" x="581" y="136"/> 
     <connect from_op="Retrieve Sonar" from_port="output" to_op="Naive Bayes" to_port="training set"/> 
     <connect from_op="Naive Bayes" from_port="model" to_op="Apply Model" to_port="model"/> 
     <connect from_op="Naive Bayes" from_port="exampleSet" to_op="Apply Model" to_port="unlabelled data"/> 
     <connect from_op="Apply Model" from_port="labelled data" to_op="Multiply" to_port="input"/> 
     <connect from_op="Multiply" from_port="output 1" to_op="Select Recall" to_port="example set"/> 
     <connect from_op="Multiply" from_port="output 2" to_op="Materialize Data" to_port="example set input"/> 
     <connect from_op="Materialize Data" from_port="example set output" to_op="Performance (2)" to_port="labelled data"/> 
     <connect from_op="Select Recall" from_port="example set" to_op="Apply Threshold" to_port="example set"/> 
     <connect from_op="Select Recall" from_port="threshold" to_op="Apply Threshold" to_port="threshold"/> 
     <connect from_op="Apply Threshold" from_port="example set" to_op="Performance" to_port="labelled data"/> 
     <connect from_op="Performance" from_port="performance" to_port="result 1"/> 
     <connect from_op="Performance (2)" from_port="performance" to_port="result 2"/> 
     <portSpacing port="source_input 1" spacing="0"/> 
     <portSpacing port="sink_result 1" spacing="0"/> 
     <portSpacing port="sink_result 2" spacing="0"/> 
     <portSpacing port="sink_result 3" spacing="0"/> 
    </process> 
    </operator> 
</process> 

希望有助於開始。