КНН |Евклидово расстояние против расстояния Брея Кертиса - PullRequest
0 голосов
/ 09 мая 2019

Я использую простой KNN, который практически читает данные из файла CSV. Реализация для НЛП. Введенные в него данные были формантами (1, 2 и 3) для гласной, произнесенной в определенном слове, произнесенном разными пользователями (мужчинами и женщинами с разными акцентами). Всего есть 3 разных гласных, каждый из которых представляет класс.

Заголовок файла CSV

Проблема для меня - попытаться найти наилучшую возможную точность, и в настоящее время я играю с лучшим метрическим расстоянием. N-соседей было 27, что дает лучший результат. На данный момент моя проблема заключается в том, могу ли я использовать Расстояние Брейя Кертиса для этой конкретной реализации.

Я в основном спрашиваю, поскольку с Брейем Кертисом Дистанцией была получена точность 71%, в то время как для Евклидова расстояния, а для любого другого используемого расстояния была получена точность 63% или менее для тех же параметров.

Заранее спасибо

Код:

X_train, X_test, y_train, y_test = train_test_split(X, y, test_size = 0.25, random_state=1, stratify=y)

# Create KNN classifier
knn = KNeighborsClassifier(metric='braycurtis', n_neighbors = 27)
knn.fit(X_train,y_train)

print('Accuracy:\t\t', knn.score(X_test, y_test), '\n')
...