python - 为每个目标位置寻找最近的邻居
问题描述
我有一个三维数据。前两列是 X 和 Y,它们是二维笛卡尔坐标系中的 X、Y 坐标。第三列 Z 是每个 X、Y 位置的高度值。我正在尝试使用 SciKit Learn 的 KNeighborsRegressor 函数根据其周围 50 个最近邻居的平均值来查找每个 X、Y 位置的回归值。我需要输出正在平均的 50 个 X、Y 位置。在下图中,绿色是目标位置,红色表示最近的邻居。我需要每个位置的邻居的 X,Y 坐标。
这是我必须给我预测值的代码,但如上所述,我需要知道每个预测值使用了 50 个 X、Y 位置。
knn_z = KNeighborsRegressor(n_neighbors=50)
x_columns = ['X','Y']
y_column = ['Z']
knn_z.fit(df[x_columns],df[y_column])
df['NN_Z'] = knn_z.predict(df[x_columns])
我将不胜感激任何指导。
解决方案
您可以使用 KNeighborsRegressor 类中的函数 kneighbors 例如:
knn_z.kneighbors(df[x_columns]),50,True)
您可以在此处阅读有关该功能的更多信息
推荐阅读
- php - 我可以在服务器上使用“包含”在应用程序之间共享库吗?
- laravel - 如何在 Laravel Vapor 中运行带参数的命令
- java - 如何在 Android Studio 中使用系数手动实现二阶带通滤波器?
- java - Spark:使用 groupBy 删除具有不同值的重复行
- arrays - 在 Swift 中将特定的数组元素移动到末尾
- flutter - Flutter 问题:如何导航到另一个页面
- java - 如何在listview android中添加按钮onclick事件?
- javascript - 为什么我在 EJS 中收到“未定义”错误?
- azure-active-directory - 在 Azure AD B2C 中,如何在首次从社交登录登录时将社交帐户与任何现有本地帐户关联?
- .net-core - 用于多个 Azure Functions 的 Devops 管道