Closed flave95 closed 5 years ago
Well, you can certainly implement IV for yourself, but currently I do not see any reason for IV to go into the official Orange distribution.
The paper you link does not describe that method well and, given current information, I do not see any reason why IV would better than just splitting data into a training and testing set once. Unless there is a strong case (which you have not presented yet) why IV is better than the current methods, we will not merge it into Orange.
Feel free to comment, but as this issue does not describe a bug in Orange, I am closing the issue for now.
Hallo Ladys and Gentleman, as already dispalyed in the issue name, you can see that I need a bit of help for the new function IV. For those who are not familiar with the topic or former issues about Independent Validation I will explain the "What about`s"/ "Why´s" and "How´s" down below. If you know it already please just ignore it.
My idea is to implement a function which should set the self.indices up in some manner as LOO but a in order of the IV definition. See the example in Expected behavior.
Now I have two issues:
My aim is to achieve an structure as following: [ ( array ( [ trainset ] ), array ( [ test ] ) ) ] thought that we would have 2 vaules.
Orange version 3.15.0
Expected behavior
DEBUG: Printing self.indices for IV. [(array([0,1, 2, 3, 4]), array([5])), (array([0, 1, 2, 3, 4, 5]), array([6])), (array([0, 1, 2, 3, 4, 5, 6 ]), array([7])), (array([0, 1, 2, 3, 4, 5, 6, 7]), array([8])), (array([0, 1, 2, 3, 4, 5, 6, 7, 8]), array([9]))]
Actual behavior
self.indices [([0, 1], [2]), ([0, 1, 2], [3]), ([0, 1, 2, 3], [4]), ([0, 1, 2, 3, 4], [5]), ([0, 1, 2, 3, 4, 5], [6]), ([0, 1, 2, 3, 4, 5, 6], [7]), ([0, 1, 2, 3, 4, 5, 6, 7], [8]), ([0, 1, 2, 3, 4, 5, 6, 7, 8], [9]), [0, 1, 2, 3, 4, 5, 6, 7, 8, 9], [10])]
Additional info (worksheets, data, screenshots, ...)
MY code `class IndependentValidation(Results): """ Independent Validation Testing split data into test_data, train_data. split test_data in n_splits = number of observations ---Loop--- for each n_split_test_data do: train on train_data predict and test on 1 observation = (1_split_test_data) note whrite or wrong prediction in results (self.results?) add used 1_split_test_data to train_data (re)move used 1_split_test_data from test_data do until test_data=0 / while test_data!=0