Consider a single dimension. Obtain N = 100 iid samples of x uniformly randomly between1 and 10. The corresponding y values are obtained as the logarithm of x plus a Gaussiannoise (mean 0, standard deviation 0.1). Now use K-NN regression (for each of the followingthree schemes, and with K = 1, 3, 50 for each scheme) to obtain estimates of y at x-values of1, 3, 5, 7 and 9:
the K neighbors contribute equally
each of the K neighbors has an influence that is inversely proportional to the distancefrom the point
all the N points contribute, with each contribution proportional to e1/2d2, where d represents distance.
Use Python as the implementation language. Please do not use an off-the-shelf implementation of K-NN regression from any package or library. Use of packages/libraries for standard, simple tasks such as sorting or sampling froma distribution is fine. Set the seed at the beginning of your program so that your results arereproducible.