type TKNearestNeighbors = class(TClassifier);
Implementation of the K-NN (K Nearest Neighbors) classification algorithm.
K-NN searches for K nearest neighbors, to the example that we want to classify, and then classifies to the majority class of the nearest neighbors. The algorithm works very well especially for real valued attributes. (real domains). The algorithm gives very good results, but its main disadvantage is slow performance (computational complexity O(n2)).
Properties
| Name | Type | Description |
|---|---|---|
| AttributeEnabled | boolean | Set the value at index to True/False, to enable/disable the corresponding attribute. |
| Classes | TStringList | A list of recognized classes. |
| OnFirstRecord | TNotifyEvent | Called by LearnData method and K-NN to request the positioning to the first record. |
| OnIndexNextRecord | TIndexNextRecord | Called by LearnData method and K-NN to browse through the learn dataset. |
| OnLastRecord | TNotifyEvent | Called by LearnData method and K-NN when the last record is fetched. |
| OnNameNextRecord | TNameNextRecord | Called by LearnData method and K-NN to browse through the learn data set. |
| OnPopPosition | TPopBookmark | Called by LearnData method and K-NN to restore the current position of the dataset. |
| OnPushPosition | TPushBookmark | Called by LearnData method and K-NN to save the current position of the dataset. |
| RejectProbability | double | If the response of all classes is below RejectProbability the example will not be classified to any of the known classes. |
Methods
| Name | Description |
|---|---|
| AssignAttributeState | Copies the attribute Enabled fields from Source. |
| AttributeQuality | Returns an array of attribute indexes sorted by quality. |
| ClassesName | |
| Classify | |
| ClassifyResponse | |
| ClassifyTest | |
| ClassIndex | |
| Clear | |
| Create | |
| Destroy | |
| DisableAttributes | Disable real valued and discrete attributes for all classes. |
| DisableDiscreteAttributes | Disable discrete attributes for all classes. |
| DisableFloatAttributes | Disable real valued attributes for all classes. |
| EnableAttributes | Enable real valued and discrete attributes for all classes. |
| EnableDiscreteAttributes | Enable discrete attributes for all classes. |
| EnableFloatAttributes | Enable real valued attributes for all classes. |
| InsertNeighbors | Insert a record holding in to the K nearest neighbors array. |
| Learn | |
| LearnData | Call this method to perform the learn operation on the learn data. |
| LearnIndex | |
| LoadFromFile | Load the component from file named FileName. |
| LoadFromStream | |
| MaxPriorProbability | Returns the index of the class, which has the highest count of examples and thus the highest prior probability, with ClassIndex. |
| MissingFloatNumber | Returns numerical representation of MissingFloatValue. |
| PostPrune | Pruning disables some attributes, to improve classification accuracy. |
| PrePrune | Pruning disables some attributes, to improve classificaiton accuracy. |
| Prune | Performs pre-pruning and post-pruning and enables only those attributes giving best classification accuracy towards the test dataset. |
| Reset | |
| SaveToFile | Save the component to file named FileName. |
| SaveToStream | |
| SoftReset | |
| SortIndexRecord | Sort an array of TIndexRecords. |