⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 readtest.java

📁 this is an weka tool source code implemented in java dm
💻 JAVA
字号:
import java.io.BufferedReader;
import java.io.FileInputStream;
import java.io.InputStreamReader;
import java.util.StringTokenizer;


public class ReadTest {
	
	private String filePath = "E:/data_set_ALL_AML_test.txt";
	
	private String dataString;
	
	private int[][] temp = new int[2][34]; 
	
	public void Read_in_train(){
		
		try{
			FileInputStream fis = new FileInputStream(filePath);
			
			InputStreamReader isr = new InputStreamReader(fis);
			
            BufferedReader br = new BufferedReader(isr);
            
            int j = 0;
                        
            //从第二行开始
            br.readLine();
            
            while((dataString = br.readLine()) != null){
            	
            	
            	StringTokenizer column = new StringTokenizer(dataString,"	");
            	
            	//从第三列开始
            	column.nextToken();
            	column.nextToken();
            	
            	int i = 0;

            	while(column.hasMoreTokens()){
            		            		           		
            		DecisionTree.test[i][j] = Integer.parseInt(column.nextToken());            		
            		i++;
            	}
            	
            	j++;
            	
            }
			
		}catch(Exception e){
			
			System.out.println(e);
			
		}
		//创建目标属性,0代表ALL,1代表AML
		for(int i = 0;i< 34;i++){
		    
			if(i<20)
			  DecisionTree.test[i][7129] = 0;
			else
				DecisionTree.test[i][7129] = 1;
			
		}
		
	}
	
	//*******************************************
	public void Make_boolean(){

		/*
		ReadTrain readtrain = new ReadTrain();
		double last_entropy = readtrain.comput_entropy(10,14,34.0);
		
		for( int j=0;j<7129;j++){
			
			for(int i = 0;i<34;i++){
				
				 temp[0][i] = DecisionTree.test[i][j];
				 temp[1][i] = DecisionTree.test[i][7129];

		    	}
			   //定义交换临时空间
			   int a;
			   int b;
			   
			   //对temp第一行进行冒泡排序		  
			   for(int i = 0;i < 33;i++)
				  
				   for(int k = 0;k < 33-i;k++){
				
					   if(temp[0][k] > temp[0][k+1]){
						 
						   a = temp[0][k+1];
						   b = temp[1][k+1];
						   
						   temp[0][k+1] = temp[0][k];
						   temp[1][k+1] = temp[1][k];
						   
						   temp[0][k] = a;
						   temp[1][k] = b;					   
					   }					   				   
				   }
			   //求阈值		   
			   //记录最大阈值		   
			  double max_value = 0.0;
			  double current = 0.0;
			  
			  //定义阈值
			  double yuzhi = 0.0;
			  
			  int positive = 0; //目标属性1的数量
			  int minus = 0;//目标属性0的数量
			 
			  
			  double entropy_1;
			  double entropy_2;
			  
			  for(int i = 0;i<33;i++){
				  				  
				  if(temp[1][i] == 1)
					  positive++;
				  else
					  minus++;
				  
				  if( temp[1][i] != temp[1][i+1]){
				       
	                  entropy_1 = readtrain.comput_entropy(positive,minus,(double)(i+1));
	                  entropy_2 = readtrain.comput_entropy(11-positive,27-minus,(double)(37-i));
					  
					  current = last_entropy - entropy_1*(i+1)/38 - entropy_2*(37-i)/38; 
					  
					  //System.out.println(current);
					  
					  if(current > max_value){
						  
						  max_value = current;
		                  yuzhi = ( temp[0][i] + temp[0][i+1] )/2;
		                  
		                  if(max_value > max_max_value){
		                	  
		                	  //记录不同属性最大的信息增益,记住他的位置即可
		                	  max_max_value = max_value;
		                	  root = j;  
		           
		                  }
					
					  }	
					  		  
				  }			  			  
			  }
			 			
	        for(int i= 0;i<34;i++){
	        	if(DecisionTree.test[i][j] < yuzhi)
	        		DecisionTree.test[i][j] = 0;
	        	else
	        		DecisionTree.test[i][j] = 1;
	        }

			   
		}//总的for
		
		for(int i= 0;i<34;i++)
			System.out.println(DecisionTree.test[i][4846]+"  "+DecisionTree.test[i][7129]);
	*/	
		
		for(int i = 0 ;i<7128;i++)
			for(int j = 0;j<34;j++)
				if(DecisionTree.test[j][i] > DecisionTree.middle[i])
					DecisionTree.test[j][i] = 1;
				else 
					DecisionTree.test[j][i] = 0;
	}//Make_boolean

}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -