scikit-learn - Scikit-learn KNeighborsClassfier 自定义权重的形状是什么?
问题描述
我想知道自定义重量应该是什么形状。下面是我在 KNN 中使用自定义权重的代码。但是我遇到了这个错误。我不知道为什么会发生错误。
from sklearn.neighbors import KNeighborsClassfier
def custom_dist(train_ftr1, train_ftr2, test_ftr1, test_ftr2):
return (train_ftr1 - test_ftr1) * (train_ftr2, test_ftr2)
# Split data
X_train = train.drop(['Label'], axis=1)
y_train = train['Label']
X_test = np.array([[test_ftr1, test_ftr2]])
# training model
knn = KNeighborsClassfier(n_neighbors=k, weights=custom_dist)
knn.fit(X_train, y_train)
# predict
y_test_pred = knn.predict(X_test)
TypeError: custom_dist() missing 3 required positional arguments: 'train_ftr2', 'test_ftr1', and 'test_ftr2'
解决方案
推荐阅读
- javascript - React ssr:'您可能需要适当的加载器来处理此文件类型,当前没有配置加载器来处理此文件'
- elixir - 是否可以使用 ecto 在同一个实体/表上实现多对多关联
- json - 在 Tabulator 中获取对象而不是数组
- html - 有人可以告诉我服务在 Angular 9 中是如何工作的吗?
- c# - 使用 C# 从 Unity 中的静态方法调用 IEnumerator 的最佳方法
- image - PDFSharp.Xamarin.Forms:将图像从资源添加到 PDF
- javascript - 如何使用 slick js carousel 展示应用图像?
- spring - Spring Security Oauth2 removeAccessToken 不起作用
- javascript - 重定向后弹出窗口上的Javascript事件监听器
- c# - c# Windows 应用程序中窗体拖动时图形闪烁