KNN Regression

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.