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

📄 savearray.java

📁 本系统是一个简单的朴素贝叶斯的数据集分类系统,能够通过输入数据并预测数据集属于哪一个类
💻 JAVA
字号:
import java.io.*;
import java.util.*;

//将从文件里读的数据放到数组中去
class SaveArray
{
	private  String aString[][]=new String[1000][100];
	private String filename;
	private int count=0;//表示文件的行数
	private int ccount =1;//表示文件的列数
    private boolean panduan = false;
    
	public SaveArray(String a)
	{
		filename = a;
	}
	
	public void getString()
	{
		try
		{
		    BufferedReader fr = new BufferedReader(new FileReader(filename));
		    String aFile;		    
		    int i=0;
		    int j;
		    count = 0;
		    while ((aFile = fr.readLine()) != null) {
                StringTokenizer ST = new StringTokenizer(aFile, " \t\f||,");

                for (j=0; ST.hasMoreTokens()==true; j++) {      
                    aString[i][j] = (ST.nextToken().trim());
                    ccount=j;
                    //System.out.print("---"+aString[i][j]);
                    //System.out.println("----"+j);
                }    
                //System.out.println();
                i++;
                count++;               
            }
		    //System.out.println("****"+ccount);
		    fr.close();	
		}catch(IOException e) {
            e.printStackTrace();
            System.out.println("I/O Error!"); 
        }
     }
     
     private double average[] = new double[]{0,0,0,0,0,0,0,0};
     //计算每列的平均值
     public double[] excute()
     {
     	this.getString();
     	int i,j;
     	for(j=0;j<ccount;j++)
        {for(i=1;i<count-1;i++)
     	{
     		double k = Double.parseDouble(aString[i][j]);
     		average[j]+=k;    	    
     	}
        average[j] = average[j]/(count-1);
        //System.out.println(average[j]+" average");
     	}
     	return average;
     }
     
     private double miu[] = new double[]{0,0,0,0,0,0,0,0};
  	 private double n=0;
     public double[] excutemiu()
     {
     	//this.excute();
     	int a,b;

     	for(b=0;b<ccount;b++)
        {
     		for(a =1;a<count-1;a++)
     		{
     		   double k = Double.parseDouble(aString[a][b]);
     		   n += Math.abs(k-average[b])*Math.abs(k-average[b]);
     		   //System.out.println("***"+n);
     		}
     		//NumberFormat formatter = NumberFormat.getNumberInstance();
     		//formatter.setMaximumFractionDigits(4);
     		//formatter.setMinimumFractionDigits(2);
     		//System.out.println("***"+count);
     		miu[b]=(count-2)*n/(count-1);
     		n=0;
     		//String s = formatter.format(miu[b]);
     		//System.out.println(s);
        }
     	panduan = true;
     	return miu;
     }
     
     public int getCount()
     {
    	 return ccount;
     }
     
     public boolean getpanduan()
     {
    	 return panduan;
     }
}

⌨️ 快捷键说明

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