Here is a basic example for classifying blinks from EOG signals using KNN in Matlab.

% Load EOG signal data 
data = load('eog_signal.mat');
eog = data.eog;

% Get n samples before and after each blink for analysis 
n = 100; 

% Detect blink locations 
blinks = find(eog < -500);  

% Extract n samples before and after each blink
blink_feats = zeros(length(blinks), 2*n); 
for i = 1:length(blinks)
    feat = eog(blinks(i)-n : blinks(i)+n);
    blink_feats(i, :) = feat;
end

% Training labels
y = [ones(1,length(blinks)); 2*ones(1,length(blinks))];  

% Train test split 
idx = randperm(2*length(blinks));
train_idx = idx(1:3*length(blinks)/4);
test_idx = idx(3*length(blinks)/4+1:end);

% Train KNN 
knn = fitcknn(blink_feats(train_idx,:), y(train_idx),'NumNeighbors',3);

% Test predictions 
preds = predict(knn, blink_feats(test_idx,:));

% Accuracy 
accuracy = sum(preds == y(test_idx))/length(test_idx)
  1. Load the EOG signal data
  2. Detect blink locations
  3. Extract n samples before and after each blink as features
  4. Create labels (1 for before blink, 2 for after blink)
  5. Split into train and test
  6. Train a KNN model
  7. Make predictions on test set and calculate accuracy