グリッドパラメータの1つがKNNアルゴリズムに使用される距離メトリックであるグリッド検索を実行しようとする次のコードスニペットがあります。 "wminkowski"、 "seuclidean"、 "mahalanobis"の距離メトリックを使用すると、以下の例は失敗します。Scikit-learn:グリッド検索の距離メトリックのパラメータを定義する方法
# Define the parameter values that should be searched
k_range = range(1,31)
weights = ['uniform' , 'distance']
algos = ['auto', 'ball_tree', 'kd_tree', 'brute']
leaf_sizes = range(10, 60, 10)
metrics = ["euclidean", "manhattan", "chebyshev", "minkowski", "mahalanobis"]
param_grid = dict(n_neighbors = list(k_range), weights = weights, algorithm = algos, leaf_size = list(leaf_sizes), metric=metrics)
param_grid
# Instantiate the algorithm
knn = KNeighborsClassifier(n_neighbors=10)
# Instantiate the grid
grid = GridSearchCV(knn, param_grid=param_grid, cv=10, scoring='accuracy', n_jobs=-1)
# Fit the models using the grid parameters
grid.fit(X,y)
私は( - WMinkowskiDistance「wminkowski」のwは、例えばpについて)は、様々な距離パラメータの範囲を設定または定義する必要があるため、これがあると仮定する。 「ミンコフスキー」距離が作業することができる、その「P」パラメータがデフォルト2.
を持っているので、だから私の質問は以下のとおりです。
- 我々はグリッドサーチのために距離メトリックのパラメータの範囲を設定することができますし、もしそうなら、どのように?
- グリッド検索の距離メトリックのパラメータの値を設定できますか?
質問は明らかです。 TIA