In the KNN documentation, the KNN learner trains on the full IRIS dataset, and then tests on a random training sample. This explains why the classifier is *always* perfect. A better technique would be to use the orngTest.crossValidation function.[/url]

Fixed it. The idea is not to check the classification accuracy, so there's not point using cross validation - I've just separated the data set for learning, so that the results are more credible. And the classification is still perfect, since the classes are indeed well separated.