K Algoritma jiran terdekat (KNN) ialah algoritma yang mudah dan berkesan yang boleh digunakan untuk pengelasan dan regresi. Idea asasnya adalah untuk mengenal pasti kategori kepunyaan sampel dengan mengukur jarak antara ciri yang berbeza. Dalam artikel ini, kami akan meneroka cara mengklasifikasikan KNN dalam Python.
1. Sediakan set data
Pertama, kita perlu sediakan set data. Dalam contoh ini, kami akan menggunakan set data Iris, yang mengandungi 3 bunga iris berbeza (Setosa, Versicolour dan Virginica), setiap satu dengan 4 ciri (Panjang Sepal, Lebar Sepal, Panjang Kelopak, Lebar Kelopak).
Kami akan menggunakan perpustakaan Pandas untuk membaca dan mempraproses data. Mula-mula, kita perlu mengimport pustaka yang diperlukan:
import pandas as pd import numpy as np import matplotlib.pyplot as plt
Kemudian, kami akan memuatkan set data:
url = "https://archive.ics.uci.edu/ml/machine-learning-databases/iris/iris.data" names = ['sepal-length', 'sepal-width', 'petal-length', 'petal-width', 'class'] dataset = pd.read_csv(url, names=names)
Sekarang kita mempunyai set data, kita boleh mula menerokanya.
2. Visualisasi Data
Sebelum mengklasifikasikan, kita perlu memvisualisasikan dan meneroka data. Kami akan merancang plot taburan setiap ciri terhadap ciri lain, serta histogram setiap ciri. Kita boleh menggunakan perpustakaan Matplotlib dan perpustakaan Seaborn untuk visualisasi.
Petak taburan antara ciri:
import seaborn as sns sns.pairplot(dataset, hue="class")
Seperti yang dapat dilihat dari gambar ini, ciri-ciri bunga iris yang berbeza adalah sangat berbeza, yang merupakan asas untuk pengelasan.
Histogram setiap ciri:
dataset.hist() plt.show()
Seperti yang dapat dilihat daripada rajah ini, setiap ciri dalam set data mempunyai taburan yang berbeza, yang merupakan asas untuk normalisasi.
3. Prapemprosesan data
Sebelum pengelasan, kita perlu praproses data. Kita boleh membahagikan set data kepada ciri input dan kategori output, dan kemudian menskalakan nilai ciri kepada julat 0 hingga 1.
Mula-mula, kami membahagikan set data kepada ciri input dan kategori output:
X = dataset.iloc[:, :-1].values y = dataset.iloc[:, 4].values
Kemudian, kami menskalakan nilai ciri ke julat 0 hingga 1:
from sklearn.preprocessing import StandardScaler scaler = StandardScaler() X = scaler.fit_transform(X)
Kini kami mempunyai set data praproses kami.
4. Pisahkan set data
Sebelum pengelasan, kita perlu bahagikan set data kepada set latihan dan set ujian. Kita boleh melakukan ini menggunakan fungsi train_test_split daripada perpustakaan Scikit-learn.
from sklearn.model_selection import train_test_split X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=0)
Ini akan mencipta set latihan dan set ujian dengan nisbah 80:20.
5. Melatih model KNN
Kini, kita boleh mula melatih model KNN. Kami mula-mula mengimport kelas KNeighborsClassifier, mencipta contoh dan menggunakan fungsi muat untuk menyesuaikan model.
from sklearn.neighbors import KNeighborsClassifier classifier = KNeighborsClassifier(n_neighbors=5) classifier.fit(X_train, y_train)
Ini akan mencipta pengelas KNN dan melatihnya untuk mengelas menggunakan set latihan.
6. Ramalan
Kini, kita boleh menggunakan model KNN untuk membuat ramalan pada set ujian. Kami menggunakan fungsi ramalan untuk membuat ramalan dan menyimpan keputusan ke dalam pembolehubah.
y_pred = classifier.predict(X_test)
7. Penilaian Model
Akhir sekali, kami perlu menilai model kami dan menentukan ketepatannya. Kita boleh menggunakan fungsi confusion_matrix dan classification_report dalam perpustakaan Scikit-learn untuk menilai ketepatan model.
from sklearn.metrics import confusion_matrix, classification_report print(confusion_matrix(y_test, y_pred)) print(classification_report(y_test, y_pred))
Ini akan mengeluarkan matriks kekeliruan dan laporan klasifikasi yang menunjukkan ketepatan model kami.
Ringkasan
Menggunakan algoritma KNN untuk pengelasan dalam Python memerlukan langkah berikut:
1 Sediakan set data
2. Prapemprosesan Data
4. Pisahkan set data
5. Melatih model KNN
6. Penilaian model
Algoritma KNN adalah algoritma yang mudah dan berkesan klasifikasi dan regresi. Menggunakan algoritma KNN untuk pengelasan dalam Python memerlukan mengikut langkah di atas. Pada masa yang sama, kami juga perlu melakukan visualisasi data dan prapemprosesan untuk memastikan model kami dapat mengelaskan dengan tepat.
Atas ialah kandungan terperinci Bagaimana untuk menggunakan algoritma KNN untuk klasifikasi dalam Python?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!