For each input vector (which are rows of the matrix samples) the method finds k <= get_max_k() nearest neighbor. In case of regression, the predicted result will be a mean value of the particular vector's neighbor responses. In case of classification the class is determined by voting.
| C# | Visual Basic | Visual C++ |
public static float CvKNearestFindNearest( IntPtr classifier, IntPtr samples, int k, IntPtr results, IntPtr[] kNearestNeighbors, IntPtr neighborResponses, IntPtr dist )
- classifier (IntPtr)
- The KNearest classifier
- samples (IntPtr)
- The sample matrix where each row is a sample
- k (Int32)
- The number of nearest neighbor to find
- results (IntPtr)
- Can be IntPtr.Zero if not needed. If regression, return a mean value of the particular vector's neighbor responses; If classification, return the class determined by voting.
- kNearestNeighbors (array< IntPtr >[]()[])
- Should be IntPtr.Zero if not needed. Setting it to non-null values incures a performance panalty. A matrix of (k * samples.Rows) rows and (samples.Cols) columns that will be filled the data of the K nearest-neighbor for each sample
- neighborResponses (IntPtr)
- Should be IntPtr.Zero if not needed. The response of the neighbors. A vector of k*_samples->rows elements.
- dist (IntPtr)
- Should be IntPtr.Zero if not needed. The distances from the input vectors to the neighbors. A vector of k*_samples->rows elements.
In case of regression, the predicted result will be a mean value of the particular vector's neighbor responses. In case of classification the class is determined by voting