Package 'ksNN'

Title: K* Nearest Neighbors Algorithm
Description: Prediction with k* nearest neighbor algorithm based on a publication by Anava and Levy (2016) <arXiv:1701.07266>.
Authors: Kei Nakagawa [aut, cre] , Shingo Sashida [aut]
Maintainer: Kei Nakagawa <[email protected]>
License: GPL (>= 2)
Version: 0.1.2
Built: 2025-02-22 04:09:24 UTC
Source: https://github.com/cran/ksNN

Help Index


This function calculates the prediction value of k* nearest neighbors algorithm.

Description

This function calculates the prediction value of k* nearest neighbors algorithm.

Usage

ksNN(Label, Distance, L_C = 1)

Arguments

Label

vectors of the known labels of the samples.

Distance

vectors of the distance between the target sample we want to predict and the other samples.

L_C

parameter of k* nearest neighbors algorithm.

Value

the prediction value(pred) and the weight of the samples(alpha).

Note

This algorithm is based on Anava and Levy(2017).

Examples

library(ksNN)
  set.seed(1)

  #make the nonlinear regression problem
  X<-runif(100)
  Y<-X^6-3*X^3+5*X^2+2

  suffle<-order(rnorm(length(X)))
  X<-X[suffle]
  Y<-Y[suffle]

  test_X<-X[1]
  test_Y<-Y[1]

  train_X<-X[-1]
  train_Y<-Y[-1]

  Label<-train_Y
  Distance<-sqrt((test_X-train_X)^2)

  pred_ksNN<-ksNN(Label,Distance,L_C=1)

  #the predicted value with k*NN
  pred_ksNN$pred

  #the 'true' value
  test_Y

This function calculates the prediction value of k* nearest neighbors algorithm.

Description

This function calculates the prediction value of k* nearest neighbors algorithm.

Usage

rcpp_ksNN(Label, Distance, L_C = 1)

Arguments

Label

vectors of the known labels of the samples.

Distance

vectors of the distance between the target sample we want to predict and the other samples.

L_C

parameter of k* nearest neighbors algorithm.

Value

the prediction value(pred) and the weight of the samples(alpha).

Note

This algorithm is based on Anava and Levy(2017).

Examples

library(ksNN)
  set.seed(1)

  #make the nonlinear regression problem
  X<-runif(100)
  Y<-X^6-3*X^3+5*X^2+2

  suffle<-order(rnorm(length(X)))
  X<-X[suffle]
  Y<-Y[suffle]

  test_X<-X[1]
  test_Y<-Y[1]

  train_X<-X[-1]
  train_Y<-Y[-1]

  Label<-train_Y
  Distance<-sqrt((test_X-train_X)^2)

  pred_ksNN<-rcpp_ksNN(Label,Distance,L_C=1)

  #the predicted value with k*NN
  pred_ksNN$pred

  #the 'true' value
  test_Y