Я изучаю Ml у udemy, и ниже приведен код, который инструктор использует в своей лекции. Но я не полностью удовлетворен этим кодом, потому что он дает много значений k, eror_rate которых почти одинаковы (мне нужно вручную проверить значение k, чье частота ошибок незначительна).
Существует ли какой-либо другой метод для поиска наилучшего значения k (n_neighbor
)?
error_rate = []
for i in range(1,40):
knn = KNeighborsClassifier(n_neighbors=i)
knn.fit(X_train,y_train)
pred_i = knn.predict(X_test)
error_rate.append(np.mean(pred_i != y_test))
с использованием графика для отображения коэффициента ошибок в зависимости от значения K.
plt.figure(figsize=(10,6))
plt.plot(range(1,40),error_rate,color='blue', linestyle='dashed', marker='o',
markerfacecolor='red', markersize=10)
plt.title('Error Rate vs. K Value')
plt.xlabel('K')
plt.ylabel('Error Rate')