List of usage examples for weka.core Instances numAttributes
publicint numAttributes()
From source file:cezeri.utils.FactoryInstance.java
public static String[] getAttributeList(Instances data) { int n = data.numAttributes(); String[] ret = new String[n]; for (int i = 0; i < n; i++) { ret[i] = data.attribute(i).name(); }/*from ww w .jav a 2 s . c o m*/ return ret; }
From source file:cezeri.utils.FactoryInstance.java
public static String[] getAttributeListExceptClassAttribute(Instances data) { int n = data.numAttributes(); String[] ret = new String[n - 1]; String classAtt = data.classAttribute().name(); int k = 0;/*w w w . j a va2 s . c o m*/ for (int i = 0; i < n; i++) { if (!classAtt.equals(data.attribute(i).name())) { ret[k++] = data.attribute(i).name(); } } return ret; }
From source file:cezeri.utils.FactoryInstance.java
public static Instances generateInstances(String relationName, CMatrix cm) { FastVector att = new FastVector(); for (int i = 0; i < cm.getColumnNumber(); i++) { att.addElement(new Attribute("f" + (i + 1))); }/*from www . java 2 s. c om*/ Instances ret = new Instances(relationName, att, cm.getRowNumber()); for (int i = 0; i < cm.getRowNumber(); i++) { Instance ins = new Instance(cm.getColumnNumber()); for (int j = 0; j < cm.getColumnNumber(); j++) { ins.setValue(j, cm.get2DArrayDouble()[i][j]); } ret.add(ins); } ret.setClassIndex(ret.numAttributes() - 1); return ret; }
From source file:cezeri.utils.FactoryInstance.java
public static Instances generateInstances(String relationName, double[][] m) { FastVector att = new FastVector(); for (int i = 0; i < m[0].length; i++) { att.addElement(new Attribute("f" + (i + 1))); }//from w ww. j a v a 2 s . c om Instances ret = new Instances(relationName, att, m.length); for (int i = 0; i < m.length; i++) { Instance ins = new Instance(m[0].length); for (int j = 0; j < m[0].length; j++) { ins.setValue(j, m[i][j]); } ret.add(ins); } ret.setClassIndex(ret.numAttributes() - 1); return ret; }
From source file:cezeri.utils.FactoryInstance.java
public static double[][] getData(Instances m) { double[][] ret = new double[m.numInstances()][m.numAttributes()]; for (int i = 0; i < m.numInstances(); i++) { Instance ins = m.instance(i);// ww w . j av a 2 s . c om ret[i] = ins.toDoubleArray(); } return ret; }
From source file:cezeri.utils.FactoryInstance.java
public static CMatrix toMatrix(Instances m) { double[][] ret = new double[m.numInstances()][m.numAttributes()]; for (int i = 0; i < m.numInstances(); i++) { Instance ins = m.instance(i);//from www. j ava2 s. c om ret[i] = ins.toDoubleArray(); } return CMatrix.getInstance(ret); }
From source file:cezeri.utils.FactoryInstance.java
public static CMatrix fromInstances(Instances m) { double[][] ret = new double[m.numInstances()][m.numAttributes()]; for (int i = 0; i < m.numInstances(); i++) { Instance ins = m.instance(i);//from www . j a v a 2 s . co m ret[i] = ins.toDoubleArray(); } return CMatrix.getInstance(ret); }
From source file:cezeri.utils.FactoryInstance.java
/** * * @param m tm dataset//from w w w . j av a2 s . c o m * @param val class value deeri val olanlar filtrele * @return */ public static Instances[] getSpecificInstancesBasedOnClassValue(Instances m, String[] cl) { Instances[] ret = new Instances[cl.length]; for (int i = 0; i < ret.length; i++) { ret[i] = FactoryInstance.generateInstances(m.relationName() + "_class=" + cl[i], m.numAttributes()); // ret[i] = m.resampleWithWeights(new Random()); ret[i].delete(); } for (int i = 0; i < m.numInstances(); i++) { Instance ins = m.instance(i); for (int j = 0; j < cl.length; j++) { if (("" + (int) ins.classValue()).equals(cl[j])) { ret[j].add(ins); } } } return ret; }
From source file:cezeri.utils.FactoryInstance.java
public static Instances getSubsetData(Instances data, String[] attList) { Instances temp = new Instances(data); for (int i = 0; i < data.numAttributes(); i++) { if (!temp.attribute(0).equals(temp.classAttribute())) { temp.deleteAttributeAt(0);//from ww w . j a v a 2 s . co m } } double[][] m = new double[attList.length + 1][data.numInstances()]; for (int i = 0; i < attList.length; i++) { int n = attList.length - 1 - i; String str = attList[n]; Attribute t = data.attribute(str); double[] d = data.attributeToDoubleArray(t.index()); m[n] = d; temp.insertAttributeAt(t, 0); } m[attList.length] = data.attributeToDoubleArray(data.classIndex()); m = CMatrix.getInstance(m).transpose().get2DArrayDouble(); FastVector att = new FastVector(); for (int i = 0; i < temp.numAttributes(); i++) { att.addElement(temp.attribute(i)); } Instances ret = new Instances(temp.relationName(), att, m.length); for (int i = 0; i < m.length; i++) { Instance ins = new Instance(m[0].length); for (int j = 0; j < m[0].length; j++) { ins.setValue(j, m[i][j]); } ret.add(ins); } ret.setClassIndex(temp.classIndex()); return ret; }
From source file:CGLSMethod.LinearRegression.java
License:Open Source License
/** * Builds a regression model for the given data. * * @param data the training data to be used for generating the * linear regression function//from w w w .j a va 2s .c o m * @throws Exception if the classifier could not be built successfully */ public void buildClassifier(Instances data) throws Exception { // Preprocess instances if (!m_checksTurnedOff) { m_TransformFilter = new NominalToBinary(); m_TransformFilter.setInputFormat(data); data = Filter.useFilter(data, m_TransformFilter); m_MissingFilter = new ReplaceMissingValues(); m_MissingFilter.setInputFormat(data); data = Filter.useFilter(data, m_MissingFilter); data.deleteWithMissingClass(); } else { m_TransformFilter = null; m_MissingFilter = null; } m_ClassIndex = data.classIndex(); m_TransformedData = data; // Turn all attributes on for a start m_SelectedAttributes = new boolean[data.numAttributes()]; for (int i = 0; i < data.numAttributes(); i++) { if (i != m_ClassIndex) { m_SelectedAttributes[i] = true; } } m_Coefficients = null; // Compute means and standard deviations m_Means = new double[data.numAttributes()]; m_StdDevs = new double[data.numAttributes()]; for (int j = 0; j < data.numAttributes(); j++) { if (j != data.classIndex()) { m_Means[j] = data.meanOrMode(j); m_StdDevs[j] = Math.sqrt(data.variance(j)); if (m_StdDevs[j] == 0) { m_SelectedAttributes[j] = false; } } } m_ClassStdDev = Math.sqrt(data.variance(m_TransformedData.classIndex())); m_ClassMean = data.meanOrMode(m_TransformedData.classIndex()); // Perform the regression findBestModel(); // Save memory m_TransformedData = new Instances(data, 0); }