mirror of
				https://github.com/KevinMidboe/linguist.git
				synced 2025-10-29 17:50:22 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			32 lines
		
	
	
		
			748 B
		
	
	
	
		
			Matlab
		
	
	
	
	
	
			
		
		
	
	
			32 lines
		
	
	
		
			748 B
		
	
	
	
		
			Matlab
		
	
	
	
	
	
| function [ error ] = cross_validation(x,y,hyper_parameter)
 | |
|     
 | |
|     num_data = size(x,1);
 | |
| 
 | |
|     K = 10;
 | |
|     indices = crossvalind('Kfold', num_data, K);
 | |
| 
 | |
|     errors = zeros(K,1);
 | |
|     for i = 1:K
 | |
|         % get indices
 | |
|         test_idx = (indices == i);
 | |
|         train_idx = ~test_idx;
 | |
| 
 | |
|         % get training data
 | |
|         x_train = x(train_idx,:);
 | |
|         y_train = y(train_idx,:);
 | |
| 
 | |
|         % train
 | |
|         w = train(x_train, y_train, hyper_parameter);
 | |
| 
 | |
|         % get test data
 | |
|         x_test = x(test_idx,:);
 | |
|         y_test = y(test_idx,:);
 | |
|         
 | |
|         % calculate error
 | |
|         errors(i) = calc_cost(x_test, y_test, w, hyper_parameter); %calc_error
 | |
|         %errors(i) = calc_error(x_test, y_test, w);
 | |
|     end
 | |
|     
 | |
|     error = mean(errors);
 | |
| end
 |