Tue 27 Aug 00:14:56 CEST 2024
This commit is contained in:
		
							parent
							
								
									cc6e117186
								
							
						
					
					
						commit
						79c2af1c13
					
				
							
								
								
									
										34
									
								
								test/test-id3-2.js
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										34
									
								
								test/test-id3-2.js
									
									
									
									
									
										Normal file
									
								
							| 
						 | 
					@ -0,0 +1,34 @@
 | 
				
			||||||
 | 
					var data = load('test-data-iris.json')
 | 
				
			||||||
 | 
					var t0=time()
 | 
				
			||||||
 | 
					var target = "species";
 | 
				
			||||||
 | 
					var features = ["length", "width","petal_length","petal_width"];
 | 
				
			||||||
 | 
					var datac = ml.preprocess(data,'xy',{features:features,target:target});
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					var model = ml.learn({
 | 
				
			||||||
 | 
					 algorithm:ml.ML.ID3,
 | 
				
			||||||
 | 
					 data:data,
 | 
				
			||||||
 | 
					 target:target,
 | 
				
			||||||
 | 
					 features:features
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
 | 
					var t1=time()
 | 
				
			||||||
 | 
					var result = ml.classify(model,datac.x).map(function (r,i) { 
 | 
				
			||||||
 | 
					  return {value:r,y:datac.y[i]}} )
 | 
				
			||||||
 | 
					var t2=time()
 | 
				
			||||||
 | 
					var correct=0,wrong=0;
 | 
				
			||||||
 | 
					result.forEach(function (r) { if (r.value==r.y) correct++; else wrong++ });
 | 
				
			||||||
 | 
					print('Training Data Test: Correct='+correct+', wrong='+wrong);
 | 
				
			||||||
 | 
					print(toJSON(model).length)
 | 
				
			||||||
 | 
					print(t1-t0,t2-t1)
 | 
				
			||||||
 | 
					datac.x = ml.noise(datac.x,
 | 
				
			||||||
 | 
					  {length:0.2,
 | 
				
			||||||
 | 
					   width:0.1,
 | 
				
			||||||
 | 
					   petal_length:0.05,
 | 
				
			||||||
 | 
					   petal_width:0.01
 | 
				
			||||||
 | 
					});
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// print(datac.x)
 | 
				
			||||||
 | 
					var result = ml.classify(model,datac.x).map(function (r,i) { 
 | 
				
			||||||
 | 
					  return {value:r,y:datac.y[i]}} )
 | 
				
			||||||
 | 
					correct=0,wrong=0;
 | 
				
			||||||
 | 
					result.forEach(function (r) { if (r.value==r.y) correct++; else wrong++ });
 | 
				
			||||||
 | 
					print('Test Data Test (Noise): Correct='+correct+', wrong='+wrong);
 | 
				
			||||||
		Loading…
	
		Reference in New Issue
	
	Block a user