INNER CODE UNIT · Python
y_pred
ankonzoid/LearningX · basic_ML/classification/knn.py:22
y_pred = -1 * np.zeros(len(X), dtype=int)
for i in range(N):
neg_distances = -np.array([np.linalg.norm(X[i] - x_train_j) for x_train_j in self.X_train])
idx_topk = neg_distances.argsort()[-self.k:][::-1] # top-k samples in negative distance
nearby_classes = list(self.y_train[idx_topk])
y_pred[i] = int(max(set(nearby_classes), key=nearby_classes.count)) # predict modal class
return y_pred
# Main driver
if __name__ == "__main__":
def load_csv_data(data_csv_filename, mode="clf", verbose=False):
if verbose:
print("Loading data from '{}' (mode={})...".format(data_csv_filename, mode))
df = pd.read_csv(data_csv_filename) # dataframe
df_header = df.columns.values # header
header = list(df_header)
N, d = len(df), len(df_header) - 1