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

📄 dbscan.java

📁 algoritnno dbscan basado en densidad para agrupamiento de datos
💻 JAVA
字号:
import java.io.*;
public class DBscan{
	
	double mat[][];//almacena los patrones(objetos)
	double grupos[][];//almacena los patrones agrupados
	//double z[][]; //almacena los centros de cada grupo
	//public double[][] guardarAr;//Matriz para guardar en archivo
	//int contadorGuardar;
	//int k=0;//n鷐ero de grupos
	int atributo;//n鷐ero de columnas
	int obj;//n鷐ero de filas
	//int numeroMenor; //Numero menor para "k"
	//int numeroMayor; //Numero mayor para "k"
	String nombreArchivo;
	public double[][] lecturaArchivo(String Archivo, int nObjetos, int nAtributos){
        
        FileInputStream archFuente;
        BufferedReader  bufR;
        StreamTokenizer arcS;
        double mayor;
        int clase;
        int i=0, j=0, nObj=0, token;
        double almacenAtr[][];
        almacenAtr = new double[nObjetos][nAtributos];        

        try {  
            archFuente = new FileInputStream(Archivo);
            bufR       = new BufferedReader(new InputStreamReader(archFuente));
            arcS       = new StreamTokenizer(bufR);
			            
            arcS.eolIsSignificant(true); //convierte el caracter de fin de l韓ea en un simbolo significativo
            arcS.whitespaceChars(0,32);
            
            for(nObj=0; nObj<nObjetos; nObj++){

                for(j=0; j < nAtributos; j++){  // obtener para el objeto i sus atributos
                    if( (token = arcS.nextToken()) == arcS.TT_NUMBER){ //|| ( (token = arcS.nextToken())==arcS.TT_WORD) ){
                        almacenAtr[nObj][j]=arcS.nval;
                    
                    }
                    else{
                    	System.out.println(" Error en formato de archivo ");
                     }
                }                              // obtener para el objeto i sus porcentajes o valores de clase 
                token = arcS.nextToken(); 
                
            }
            archFuente.close();
       } 
       catch(IOException e){
           System.out.println(" ******************** ERROR ******************** "+e.toString());
  	   }
       return  almacenAtr;
    }
    
     public int numeroObjetos(String nombre) throws IOException{
    	File archivo=new File(nombre);
    	FileReader entrada=new FileReader(archivo);
    	int c=0,i=0;
    	
    	while((c=entrada.read())!=-1){
    		if (c==10)
    			i++;
    	}
    	System.out.println();
    	System.out.println("Numero de objetos: "+(i));
    	return (i);
    }
    
    public int numeroAtributos(String nombre)throws IOException{
    	File archivo=new File(nombre);
    	FileReader entrada=new FileReader(archivo);
    	int c=0,i=0;
    	
    	while((c=entrada.read())!=10){
    		if (c==32 || c==9 || c==44)
    			i++;
    	}
    	System.out.println();
    	System.out.println("Numero de atributos: "+(i+1));
    	return (i+1);
    }
    
    public int getObj(){
    	return(obj);
    }
    
    public int getAtributo(){
    	return (atributo);
    }
    
    public DBscan(){
		
		//numeroMenor=0;
		//numeroMayor=0;

		nombreArchivo=" ";
		//guardarAr=new double[25][10];
		//contadorGuardar=0;
		
	}

	
	public static void main(String[] arg){
		
		DBscan o=new DBscan();
		try{
		
		int objetos=o.numeroObjetos("muestra1.txt");
		int atributos=o.numeroAtributos("muestra1.txt");
		double[][] mat=o.lecturaArchivo("muestra1.txt",objetos,atributos);
		}catch(IOException e){
		}
	}
	
}

⌨️ 快捷键说明

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