31 lines
		
	
	
		
			941 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			31 lines
		
	
	
		
			941 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
var data = [[1,0,1,0,1,1,1,0,0,0,0,0,1,0],
 | 
						|
            [1,1,1,1,1,1,1,0,0,0,0,0,1,0],
 | 
						|
            [1,1,1,0,1,1,1,0,1,0,0,0,1,0],
 | 
						|
            [1,0,1,1,1,1,1,1,0,0,0,0,1,0],
 | 
						|
            [1,1,1,1,1,1,1,0,0,0,0,0,1,1],
 | 
						|
            [0,0,1,0,0,1,0,0,1,0,1,1,1,0],
 | 
						|
            [0,0,0,0,0,0,1,1,1,0,1,1,1,0],
 | 
						|
            [0,0,0,0,0,1,1,1,0,1,0,1,1,0],
 | 
						|
            [0,0,1,0,1,0,1,1,1,1,0,1,1,1],
 | 
						|
            [0,0,0,0,0,0,1,1,1,1,1,1,1,1],
 | 
						|
            [1,0,1,0,0,1,1,1,1,1,0,0,1,0]
 | 
						|
           ];
 | 
						|
 | 
						|
var model = ml.learn({
 | 
						|
    algorithm: ml.ML.KMN,
 | 
						|
    data : data,
 | 
						|
    k : 4,
 | 
						|
    epochs: 100,
 | 
						|
 | 
						|
    distance : {type : "pearson"}
 | 
						|
    // default : {type : 'euclidean'}
 | 
						|
    // {type : 'pearson'}
 | 
						|
    // Or you can use your own distance function
 | 
						|
    // distance : function(vecx, vecy) {return Math.abs(dot(vecx,vecy));}
 | 
						|
});
 | 
						|
print(toJSON(model).length+' Bytes')
 | 
						|
 | 
						|
print("clusters : ", model.clusters);
 | 
						|
print("means : ", model.means);
 | 
						|
print(ml.classify(model))
 |