定义一个函数,该函数采用一维 NumPy 数组、参数 k 和数字 p。该函数返回的估计值等于最接近数字 p 的 k 点的平均值?
def k_neighbor(input_data, k, p(: ""使用数据input_data返回 p 的 k 邻居估计值。
Keyword arguments:
input_data -- NumPy array of all the data
k -- Number of k
p -- input values
这是函数调用
data = np.array([1,3,4,5,7,8,11,12,13,15,19,24,25,29,40]( 打印(k_neighbor(input_data=数据, k=3, p=5((
从 numpy 数组中查找最近的值并调整一点可以得到你想要的:
import numpy as np
def find_nearest(array, value,n_neighbors=1):
distances=np.abs(array - value)
print(distances)
nearest_neighbors=[]
for i in range(0,n_neighbors):
idx=distances.argmin()
nearest_neighbors.append(array[idx])
distances[idx]=np.amax(distances)
return nearest_neighbors
data=np.array([1,3,4,5,7,8,11,12,13,15,19,24,25,29,40])
value=24
print(find_nearest(data, value,n_neighbors=3))
返回
[24, 25, 19]