pythonでK近傍法を実装の方法

scikit-learnライブラリのKNeighborsClassifierクラスを使用することで、PythonでK-近傍法(KNN)を実装できます。簡単なサンプルを以下に示します。

from sklearn.neighbors import KNeighborsClassifier
from sklearn.datasets import load_iris
from sklearn.model_selection import train_test_split
from sklearn.metrics import accuracy_score

# 加载鸢尾花数据集
iris = load_iris()

# 划分训练集和测试集
X_train, X_test, y_train, y_test = train_test_split(iris.data, iris.target, test_size=0.2, random_state=42)

# 创建KNN分类器,设置k值为3
knn = KNeighborsClassifier(n_neighbors=3)

# 使用训练集训练KNN分类器
knn.fit(X_train, y_train)

# 使用训练好的KNN分类器进行预测
y_pred = knn.predict(X_test)

# 计算准确率
accuracy = accuracy_score(y_test, y_pred)
print("准确率:", accuracy)

上記の例では、まずアヤメのデータセットを読み込み、続いてtrain_test_split関数を使ってデータを訓練データとテストデータに分割しています。次に、KNeighborsClassifierオブジェクトを作ってkの値を3に設定し、KNN分類器を訓練データで訓練します。最後に、訓練された分類器を使って予測を行い、正解率を計算しています。

この例は単純なものですが、実用ではデータの前処理、パラメータの調整などを行う必要があるかもしれません。また、必要な場合により、異なった距離の計算方法や重み付け方法を使うことで、KNNアルゴリズムのパフォーマンスを調整することができます。

bannerAds