需要一个函数来返回等于最接近数字 p 的 k 点的平均值的估计值?



定义一个函数,该函数采用一维 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]

最新更新