"Problem with Cluster2Prediction"

gugugugu Member Posts: 4 Contributor I
edited May 2019 in Help
Hi support team,

I have a problem using the Cluster2Prediciton module. I've tried several times to create a cluster (no problems with the various clusters so far) and to perform a Cluster2Prediction (that is the part which doesn't work).

I get either one of the two Errors:

Message: Error - Process Failed! The setup doesn't seem to contain  any obvious errors [..] check the log.
Log: [Fatal] NullPointerException occured in 1st application of Cluster2Prediction (Cluster2Prediction)
[Fatal] Process failed: operator cannot be executed. Check the log messages...
         Root[1] (Process)
         +- CSVExampleSource[1] (CSVExampleSource)
         +- ExampleSet2ClusterModel[1] (ExampleSet2ClusterModel)
          here ==> +- Cluster2Prediction[1] (Cluster2Prediction)


or in the other case:

[Fatal] UserError occured in 1st application of Cluster2Prediction (Cluster2Prediction)
[Fatal] Process failed: The example sets label only contain 3 values while there are existing 1 clusters. Mapping impossible.
          Root[1] (Process)
          +- CSVExampleSource[1] (CSVExampleSource)
          +- DBScanClustering[1] (DBScanClustering)
here ==> +- Cluster2Prediction[1] (Cluster2Prediction)

(usually it says that I there are 200 values and 39 clusters  - but I've chosen smaller file now)

I have set the label properly according the desired column... there is no similar error in the forum I could have found - neither via google.

Thanks for help in advance!
Tagged:

Answers

  • landland RapidMiner Certified Analyst, RapidMiner Certified Expert, Member Posts: 2,531 Unicorn
    Hi,
    could you please send your process AFTER modifying it, so that it runs from an exampleSetGenerator and still reproduces the error? It would make my life much easier :)

    Thank you,
      Sebastian
  • gugugugu Member Posts: 4 Contributor I
    Hey,

    thanks for your incredible fast reply - but unfortunately I don't get what you want  :(
    What do you mean by 'after modifying' -  do you need the process in the xml-format?

    If the board rules allow it, feel free to answer in german ;)

    Thanks in advance!
  • gugugugu Member Posts: 4 Contributor I
    Hey,

    I'll just take the shot  :)

    Here is the process in xml:

    <operator name="Root" class="Process" expanded="yes">
        <operator name="CSVExampleSource" class="CSVExampleSource">
            <parameter key="filename" value="myCSV.csv"/>
            <parameter key="label_name" value="cluster"/>
        </operator>
        <operator name="ClusterModelReader" class="ClusterModelReader">
            <parameter key="cluster_model_file" value="myPreCalculatedModel.cm"/>
        </operator>
        <operator name="Cluster2Prediction" class="Cluster2Prediction">
        </operator>
    </operator>

    and the according error message from the log:

    G Aug 4, 2009 12:58:49 PM: [Fatal] NullPointerException occured in 1st application of Cluster2Prediction (Cluster2Prediction)
    G Aug 4, 2009 12:58:49 PM: [Fatal] Process failed: operator cannot be executed. Check the log messages...
              Root[1] (Process)
              +- CSVExampleSource[1] (CSVExampleSource)
              +- ClusterModelReader[1] (ClusterModelReader)
    here ==> +- Cluster2Prediction[1] (Cluster2Prediction)


    CSV and ClusterModel are processed correctly without any errors - but the Cluster2Prediction still doesn't want to :(

    Thanks for your help!!!
  • fischerfischer Member Posts: 439 Maven
    Gugu, waht Sebastian asked for was: Can you replace your CSV example source by one of the ExampleSetGenerator operators? The reason is that we don't have myCSV.csv, so we can't reproduce your problem.

    Best,
    Simon
  • gugugugu Member Posts: 4 Contributor I
    Hi Simon.

    Thanks again for your fast reply - taking a random generator makes sense :)

    Here is the xml-process:

    <operator name="Root" class="Process" expanded="yes">
        <operator name="ExampleSetGenerator" class="ExampleSetGenerator">
            <parameter key="target_function" value="two gaussians classification"/>
            <parameter key="number_examples" value="1000"/>
        </operator>
        <operator name="DBScanClustering" class="DBScanClustering">
        </operator>
        <operator name="Cluster2Prediction" class="Cluster2Prediction">
        </operator>
    </operator>


    I don't have a clou what the "two gaussian classification" is doing, but it I get three clusters out of it (comparing other randomizations where I just get one cluster). I can't set a label within this function so I couldn't reproduce the NullPointerException but see for yourself:

    G Aug 5, 2009 8:34:53 AM: [Fatal] UserError occured in 1st application of Cluster2Prediction (Cluster2Prediction)
    G Aug 5, 2009 8:34:53 AM: [Fatal] Process failed: The example sets label only contain 2 values while there are existing 3 clusters. Mapping impossible.
              Root[1] (Process)
              +- ExampleSetGenerator[1] (ExampleSetGenerator)
              +- DBScanClustering[1] (DBScanClustering)
    here ==> +- Cluster2Prediction[1] (Cluster2Prediction)


    Hope this helps you. Thanks in advance!!
  • fischerfischer Member Posts: 439 Maven
    Hi Gugu,

    well, this information does not help a lot since it is not reproducing your original error. Cluster2Prediction makes sense only if the number of label values equals the number of clusters. This is what the error message tells you.

    Please try to construct a self-contained example that lets us reproduce your problem. If you can't do that, you can also post a (small) csv file here.

    Best,
    Simon
Sign In or Register to comment.