Hello,
I have problem in recommendation system model. When I run my process, it is failed on "User kNN" operator.
I got this Exception:
Exception: java.lang.NegativeArraySizeException
Message: null
Stack trace:
com.rapidminer.data.Matrix_f.<init>(Matrix_f.java:69)
com.rapidminer.data.CorrelationMatrix.<init>(CorrelationMatrix.java:52)
com.rapidminer.data.BinaryDataCorrelationMatrix.<init>(BinaryDataCorrelationMatrix.java:17)
com.rapidminer.data.BinaryCosine.<init>(BinaryCosine.java:24)
com.rapidminer.data.BinaryCosine.Create(BinaryCosine.java:104)
com.rapidminer.operator.RatingPrediction.UserKnnCosine.Train(UserKnnCosine.java:28)
com.rapidminer.operator.RatingPrediction.UserKnn.doWork(UserKnn.java:159)
com.rapidminer.operator.Operator.execute(Operator.java:1004)
com.rapidminer.operator.execution.SimpleUnitExecutor.execute(SimpleUnitExecutor.java:77)
com.rapidminer.operator.ExecutionUnit$3.run(ExecutionUnit.java:812)
com.rapidminer.operator.ExecutionUnit$3.run(ExecutionUnit.java:807)
java.security.AccessController.doPrivileged(Native Method)
com.rapidminer.operator.ExecutionUnit.execute(ExecutionUnit.java:807)
com.rapidminer.operator.OperatorChain.doWork(OperatorChain.java:428)
com.rapidminer.operator.Operator.execute(Operator.java:1004)
com.rapidminer.Process.execute(Process.java:1310)
com.rapidminer.Process.run(Process.java:1285)
com.rapidminer.Process.run(Process.java:1176)
com.rapidminer.Process.run(Process.java:1129)
com.rapidminer.Process.run(Process.java:1124)
com.rapidminer.Process.run(Process.java:1114)
com.rapidminer.gui.ProcessThread.run(ProcessThread.java:65)
Could you please tell me what to do with it?
My code below:
<?xml version="1.0" encoding="UTF-8"?><process version="8.1.001">
<context>
<input/>
<output/>
<macros/>
</context>
<operator activated="true" class="process" compatibility="8.1.001" expanded="true" name="Process">
<process expanded="true">
<operator activated="true" class="retrieve" compatibility="8.1.001" expanded="true" height="68" name="Retrieve ratings" width="90" x="45" y="34">
<parameter key="repository_entry" value="//Local Repository/ratings"/>
</operator>
<operator activated="true" class="set_role" compatibility="8.1.001" expanded="true" height="82" name="Set Role" width="90" x="179" y="34">
<parameter key="attribute_name" value="rating"/>
<parameter key="target_role" value="label"/>
<list key="set_additional_roles">
<parameter key="book_id" value="item identification"/>
<parameter key="user_id" value="user identification"/>
<parameter key="rating" value="label"/>
</list>
</operator>
<operator activated="true" class="split_data" compatibility="8.1.001" expanded="true" height="103" name="Split Data" width="90" x="45" y="136">
<enumeration key="partitions">
<parameter key="ratio" value="0.7"/>
<parameter key="ratio" value="0.3"/>
</enumeration>
</operator>
<operator activated="true" class="irbrecommender:user_k-NN_rp" compatibility="5.1.002" expanded="true" height="82" name="User k-NN" width="90" x="246" y="136"/>
<operator activated="true" class="irbrecommender:apply_model_rp" compatibility="5.1.002" expanded="true" height="82" name="Apply Model" width="90" x="246" y="289"/>
<operator activated="true" class="irbrecommender:performance_rating_prediction" compatibility="5.1.002" expanded="true" height="82" name="Performance" width="90" x="447" y="187"/>
<connect from_op="Retrieve ratings" from_port="output" to_op="Set Role" to_port="example set input"/>
<connect from_op="Set Role" from_port="example set output" to_op="Split Data" to_port="example set"/>
<connect from_op="Split Data" from_port="partition 1" to_op="User k-NN" to_port="example set"/>
<connect from_op="Split Data" from_port="partition 2" to_op="Apply Model" to_port="query set"/>
<connect from_op="User k-NN" from_port="Model" to_op="Apply Model" to_port="Model"/>
<connect from_op="Apply Model" from_port="result set" to_op="Performance" to_port="predictions"/>
<connect from_op="Performance" from_port="performance" 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>