from sklearn import datasets
from sklearn.neighbors import KDTree,KNeighborsClassifier,KernelDensity,KNeighborsTransformer
import numpy as np
X, y = datasets.load_iris(return_X_y=True)
knnmodel = KNeighborsClassifier(n_neighbors=5,metric='euclidean')
class ENN():
def __init__(self,X,y):
self.X = X
self.y = y
self.nSample = len(y)
# self.model = KNeighborsClassifier(n_neighbors=3,metric='euclidean')
# self.model.fit(X=self.X,y=y)
# print(X.shape)
self.KDT = KDTree(self.X)
# self.clean_X = None
self.k = 5
def noise_detection(self):
# y_pred = self.model.predict(X=self.X)
# index = np.array([i for i in range(self.nSample)])
# noise_idx = index[y_pred != self.y]
# print(noise_idx)
dist, ind = self.KDT.query(X=self.X,k=self.k+1)
print(ind.shape)
knn_matrix = ind[:,1:]
print(knn_matrix.shape)
print(knn_matrix)
labels_matrix = self.y[knn_matrix]
print(labels_matrix)
用索引矩阵读取ndarray中的元素
最新推荐文章于 2022-11-09 11:22:44 发布