KNN Algorithm in Scikit Learn (sklearn) - A Comprehensive Guide
K-Nearest Neighbors (KNN) - это алгоритм машинного обучения, который использует классификацию или регрессию на основе ближайших соседей. Он прост в использовании и применяется часто в задачах классификации, выявления выбросов и прогнозирования.
В sklearn (Scikit-learn) реализована библиотека инструментов для машинного обучения в Python. Она включает в себя эффективные инструменты для общей машинной обработки, класификации, регрессии, кластеризации и многих других задач машинного обучения.
При использовании KNN в sklearn, обычно следуют следующей последовательности шагов:
1. Подготовка данных: Требуется подготовить данные для обучения и тестирования. Это может быть выполнено с помощью датасета или других источников данных.
Пример кода для загрузки датасета iris:
Python
from sklearn.datasets import load_iris
iris = load_iris()
X, y = iris.data, iris.target
2. Разделение данных: Данные разделяются на тренировочный и тестовый наборы для оценки качества модели.
Пример кода:
Python
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=42)
3. Создание модели: Модель создается с помощью класса KNeighborsClassifier, который реализует алгоритм KNN.
Пример кода:
Python
from sklearn.neighbors import KNeighborsClassifier
knn = KNeighborsClassifier(n_neighbors=3)
4. Обучение модели: Модель обучается с помощью метода fit(), который передает тренировочные данные.
Пример кода:
Python
knn.fit(X_train, y_train)
5. Оценка модели: Метод predict() вызывается для каждого элемента тестовых данных, чтобы определить его классификацию. Метрики оценки качества модели могут быть вычислены, чтобы оценить ее эффективность.
Пример кода:
Python
from sklearn.metrics import accuracy_score
y_pred = knn.predict(X_test)
accuracy = accuracy_score(y_test, y_pred)
print(f"Accuracy: {accuracy:.2f}")
6. Использование модели: Обученная модель может быть использована для классификации новых данных.
Пример кода:
Python
new_data = [[5.1, 3.5, 1.4, 0.2]]
prediction = knn.predict(new_data)
print(f"Prediction: {prediction}")
В итоге использование библиотеки sklearn вместе с алгоритмом KNN делает работу с машинным обучением проще и более эффективной, позволяя решать широкий круг задач классификации и регрессии.