Pythonのknn.fitについて質問です。
knnを実装するにあたり、knnのインスタンスを作成し、訓練データをインスタンスに適合させ、テストデータを当てはめるのが通常の流れだと理解しています。
具体的には以下の通りです。
from sklearn.neighbors import KNeighborsClassifier # knnのインスタンスを作成 knn = KNeighborsClassifier() # 訓練データにknnのモデルを適合させる knn.fit(X_train, y_train) # テストデータに対して、予測を行う knn.predict(X_test) # 決定係数を出力 knn.score(X_test, y_test)
ここで私の抱えている疑問としては、
knnというアルゴリズムは、分類したいデータ点に対して、距離指標(ユークリッド距離など)を定め、多数決を行うものであるため、.fitにおいて何がされているのか、イメージできません。
学習ステップは存在しないアルゴリズムであるはずなので、「.fit」で行われているものというのは、ただ単に訓練データを読み込んで、距離関係を把握(暗記?)しているだけという理解が正しいのでしょうか?
もし詳しい方がいらっしゃいましたら、ご教授いただけると幸いです。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/04/05 06:06
2021/04/05 07:35