?? jsomnormalization.java
字號:
package fi.javasom.jsom;
/**
* This is JSomNormalization class that normalizes the input vectors.
*
* Copyright (C) 2001 Tomi Suuronen
*
* @version 1.0
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/
import fi.javasom.jsom.*;
import java.io.*; //this line for debugging
public class JSomNormalization
{
private InputVectors iVector;
private int dimension; //dimensionality of a node
private int iSize; //number of input vectors
private double[] values; //cache for the node values
/**
* Constructor.
*
* @param InputVectors iVector - input vectors.
* @param int dimension - dimensionality of a node.
*/
public JSomNormalization(InputVectors iVector,int dimension)
{
this.iVector = iVector;
this.dimension = dimension;
iSize = iVector.getCount();
}
/**
* Does the normalization phase.
*
* @return InputVectors - Returns the normalized input vectors.
*/
public InputVectors doNormalization()
{
double cache = 0.0;
//resolve the largest node value
for(int i=0;i<iSize;i++)
{
values = iVector.getNodeValuesAt(i);
for(int j=0;j<dimension;j++)
{
if(values[j]>cache)
{
cache = values[j];
}
}
}
//normalize if necessary
if(cache>1)
{
for(int i=0;i<iSize;i++)
{
values = iVector.getNodeValuesAt(i);
for(int j=0;j<dimension;j++)
{
values[j] = values[j] / cache;
}
iVector.setNodeValuesAt(i,values);
}
}
return iVector;
}
}
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -