Пример регрессии K-ближайших соседей (KNN) с использованием Python scikit-learn (sklearn)

Вот пример использования регрессии K-Nearest Neighbours (KNN) с библиотекой Python scikit-learn (sklearn):

from sklearn.neighbors import KNeighborsRegressor
from sklearn.metrics import mean_squared_error
from sklearn.model_selection import train_test_split
from sklearn.preprocessing import StandardScaler
import numpy as np
# Create sample data
X = np.array([[1, 2], [3, 4], [5, 6], [7, 8]])
y = np.array([10, 20, 30, 40])
# Split the data into training and testing sets
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)
# Feature scaling
scaler = StandardScaler()
X_train = scaler.fit_transform(X_train)
X_test = scaler.transform(X_test)
# Create and fit the KNN regression model
knn = KNeighborsRegressor(n_neighbors=3)
knn.fit(X_train, y_train)
# Make predictions on the test set
y_pred = knn.predict(X_test)
# Calculate mean squared error
mse = mean_squared_error(y_test, y_pred)
print("Mean Squared Error:", mse)

В этом примере мы сначала импортируем необходимые модули из scikit-learn. Мы создаем образец набора данных Xи целевые значения y. Затем мы разделяем данные на обучающий и тестовый наборы с помощью train_test_split. Далее мы выполняем масштабирование функций с помощью StandardScaler. Мы создаем регрессионную модель KNN с помощью n_neighbors=3и подгоняем ее к обучающим данным. После этого мы делаем прогнозы на тестовом наборе и вычисляем среднеквадратическую ошибку, используя mean_squared_error.