我正在运行一个简单的KNN,它实际上是从CSV文件读取数据的。该实现适用于NLP。输入给它的数据是由不同用户(男性和女性具有不同口音)说出的特定字词的元音的共振峰(1、2和3)。总共有3个不同的元音,每个元音代表一个类。
对我来说,问题是试图找到最佳的精度,目前我正在以最佳的公制距离玩耍。使用的n个邻居为27,产生最佳结果。我现在的问题是,对于这种特定的实现方式,我是否可以利用Bray Curtis Distance。
我主要问的是,使用Bray Curtis距离获得的精度为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')