Package weka.estimators

Examples of weka.estimators.NormalEstimator


    if (m_UseKernelEstimator) {
      m_Distributions[attIndex][j] =
        new KernelEstimator(numPrecision);
    } else {
      m_Distributions[attIndex][j] =
        new NormalEstimator(numPrecision);
    }
    break;
  case Attribute.NOMINAL:
    m_Distributions[attIndex][j] =
      new DiscreteEstimator(attribute.numValues(), true);
View Full Code Here


      for (int i = 0; i < m_Distributions.length; i++) {
        for (int j = 0; j < m_Instances.numClasses(); j++) {
          if (m_Distributions[i][0] instanceof NormalEstimator) {
            // check mean/precision dev against maxWidth
            NormalEstimator n = (NormalEstimator)m_Distributions[i][j];
            double mean = Math.log(Math.abs(n.getMean())) / Math.log(10.0);
            double precision = Math.log(Math.abs(n.getPrecision())) / Math.log(10.0);
            double width = (mean > precision)
              ? mean
              : precision;
            if (width < 0) {
              width = 1;
            }
            // decimal + # decimal places + 1
            width += 6.0;
            if ((int)width > maxWidth) {
              maxWidth = (int)width;
            }
          } else if (m_Distributions[i][0] instanceof KernelEstimator) {
            containsKernel = true;
            KernelEstimator ke = (KernelEstimator)m_Distributions[i][j];
            int numK = ke.getNumKernels();
            String temps = "K" + numK + ": mean (weight)";
            if (maxAttWidth < temps.length()) {
              maxAttWidth = temps.length();
            }
            // check means + weights against maxWidth
            if (ke.getNumKernels() > 0) {
              double[] means = ke.getMeans();
              double[] weights = ke.getWeights();
              for (int k = 0; k < ke.getNumKernels(); k++) {
                String m = Utils.doubleToString(means[k], maxWidth, 4).trim();
                m += " (" + Utils.doubleToString(weights[k], maxWidth, 1).trim() + ")";
                if (maxWidth < m.length()) {
                  maxWidth = m.length();
                }
              }
            }
          } else if (m_Distributions[i][0] instanceof DiscreteEstimator) {
            DiscreteEstimator d = (DiscreteEstimator)m_Distributions[i][j];
            for (int k = 0; k < d.getNumSymbols(); k++) {
              String size = "" + d.getCount(k);
              if (size.length() > maxWidth) {
                maxWidth = size.length();
              }
            }
            int sum = ("" + d.getSumOfCounts()).length();
            if (sum > maxWidth) {
              maxWidth = sum;
            }
          }
        }
      }

      // Check width of class labels
      for (int i = 0; i < m_Instances.numClasses(); i++) {
        String cSize = m_Instances.classAttribute().value(i);
        if (cSize.length() > maxWidth) {
          maxWidth = cSize.length();
        }
      }

      // Check width of class priors
      for (int i = 0; i < m_Instances.numClasses(); i++) {
        String priorP =
          Utils.doubleToString(((DiscreteEstimator)m_ClassDistribution).getProbability(i),
                               maxWidth, 2).trim();
        priorP = "(" + priorP + ")";
        if (priorP.length() > maxWidth) {
          maxWidth = priorP.length();
        }
      }
   
      if (maxAttWidth < "Attribute".length()) {
        maxAttWidth = "Attribute".length();
      }

      if (maxAttWidth < "  weight sum".length()) {
        maxAttWidth = "  weight sum".length();
      }

      if (containsKernel) {
        if (maxAttWidth < "  [precision]".length()) {
          maxAttWidth = "  [precision]".length();
        }
      }

      maxAttWidth += 2;
   


      temp.append("\n\n");
      temp.append(pad("Class", " ",
                      (maxAttWidth + maxWidth + 1) - "Class".length(),
                      true));

      temp.append("\n");
      temp.append(pad("Attribute", " ", maxAttWidth - "Attribute".length(), false));
      // class labels
      for (int i = 0; i < m_Instances.numClasses(); i++) {
        String classL = m_Instances.classAttribute().value(i);
        temp.append(pad(classL, " ", maxWidth + 1 - classL.length(), true));
      }
      temp.append("\n");
      // class priors
      temp.append(pad("", " ", maxAttWidth, true));
      for (int i = 0; i < m_Instances.numClasses(); i++) {
        String priorP =
          Utils.doubleToString(((DiscreteEstimator)m_ClassDistribution).getProbability(i),
                               maxWidth, 2).trim();
        priorP = "(" + priorP + ")";
        temp.append(pad(priorP, " ", maxWidth + 1 - priorP.length(), true));
      }
      temp.append("\n");
      temp.append(pad("", "=", maxAttWidth +
                      (maxWidth * m_Instances.numClasses())
                      + m_Instances.numClasses() + 1, true));
      temp.append("\n");

      // loop over the attributes
      int counter = 0;
      for (int i = 0; i < m_Instances.numAttributes(); i++) {
        if (i == m_Instances.classIndex()) {
          continue;
        }
        String attName = m_Instances.attribute(i).name();
        temp.append(attName + "\n");
         
        if (m_Distributions[counter][0] instanceof NormalEstimator) {
          String meanL = "  mean";
          temp.append(pad(meanL, " ", maxAttWidth + 1 - meanL.length(), false));
          for (int j = 0; j < m_Instances.numClasses(); j++) {           
            // means
            NormalEstimator n = (NormalEstimator)m_Distributions[counter][j];
            String mean =
              Utils.doubleToString(n.getMean(), maxWidth, 4).trim();
            temp.append(pad(mean, " ", maxWidth + 1 - mean.length(), true));
          }
          temp.append("\n");           
          // now do std deviations
          String stdDevL = "  std. dev.";
          temp.append(pad(stdDevL, " ", maxAttWidth + 1 - stdDevL.length(), false));
          for (int j = 0; j < m_Instances.numClasses(); j++) {
            NormalEstimator n = (NormalEstimator)m_Distributions[counter][j];
            String stdDev =
              Utils.doubleToString(n.getStdDev(), maxWidth, 4).trim();
            temp.append(pad(stdDev, " ", maxWidth + 1 - stdDev.length(), true));
          }
          temp.append("\n");
          // now the weight sums
          String weightL = "  weight sum";
          temp.append(pad(weightL, " ", maxAttWidth + 1 - weightL.length(), false));
          for (int j = 0; j < m_Instances.numClasses(); j++) {
            NormalEstimator n = (NormalEstimator)m_Distributions[counter][j];
            String weight =
              Utils.doubleToString(n.getSumOfWeights(), maxWidth, 4).trim();
            temp.append(pad(weight, " ", maxWidth + 1 - weight.length(), true));
          }
          temp.append("\n");
          // now the precisions
          String precisionL = "  precision";
          temp.append(pad(precisionL, " ", maxAttWidth + 1 - precisionL.length(), false));
          for (int j = 0; j < m_Instances.numClasses(); j++) {
            NormalEstimator n = (NormalEstimator)m_Distributions[counter][j];
            String precision =
              Utils.doubleToString(n.getPrecision(), maxWidth, 4).trim();
            temp.append(pad(precision, " ", maxWidth + 1 - precision.length(), true));
          }
          temp.append("\n\n");
           
        } else if (m_Distributions[counter][0] instanceof DiscreteEstimator) {
View Full Code Here

            if( m_UseKernelEstimator ) {
              m_Distributions[attIndex][j] =
                  new KernelEstimator( numPrecision );
            } else {
              m_Distributions[attIndex][j] =
                  new NormalEstimator( numPrecision );
            }
            break;
          case Attribute.NOMINAL:
            m_Distributions[attIndex][j] =
                new DiscreteEstimator( attribute.numValues(), true );
View Full Code Here

      for( int i = 0; i < m_Distributions.length; i++ ) {
        for( int j = 0; j < m_Instances.numClasses(); j++ ) {
          if( m_Distributions[i][0] instanceof NormalEstimator ) {
            // check mean/precision dev against maxWidth
            NormalEstimator n = (NormalEstimator) m_Distributions[i][j];
            double mean = Math.log( Math.abs( n.getMean() ) ) / Math.log( 10.0 );
            double precision = Math.log( Math.abs( n.getPrecision() ) ) / Math.log( 10.0 );
            double width = (mean > precision)
                ? mean
                : precision;
            if( width < 0 ) {
              width = 1;
            }
            // decimal + # decimal places + 1
            width += 6.0;
            if( (int) width > maxWidth ) {
              maxWidth = (int) width;
            }
          } else if( m_Distributions[i][0] instanceof KernelEstimator ) {
            containsKernel = true;
            KernelEstimator ke = (KernelEstimator) m_Distributions[i][j];
            int numK = ke.getNumKernels();
            String temps = "K" + numK + ": mean (weight)";
            if( maxAttWidth < temps.length() ) {
              maxAttWidth = temps.length();
            }
            // check means + weights against maxWidth
            if( ke.getNumKernels() > 0 ) {
              double[] means = ke.getMeans();
              double[] weights = ke.getWeights();
              for( int k = 0; k < ke.getNumKernels(); k++ ) {
                String m = Utils.doubleToString( means[k], maxWidth, 4 ).trim();
                m += " (" + Utils.doubleToString( weights[k], maxWidth, 1 ).trim() + ")";
                if( maxWidth < m.length() ) {
                  maxWidth = m.length();
                }
              }
            }
          } else if( m_Distributions[i][0] instanceof DiscreteEstimator ) {
            DiscreteEstimator d = (DiscreteEstimator) m_Distributions[i][j];
            for( int k = 0; k < d.getNumSymbols(); k++ ) {
              String size = "" + d.getCount( k );
              if( size.length() > maxWidth ) {
                maxWidth = size.length();
              }
            }
            int sum = ("" + d.getSumOfCounts()).length();
            if( sum > maxWidth ) {
              maxWidth = sum;
            }
          }
        }
      }

      // Check width of class labels
      for( int i = 0; i < m_Instances.numClasses(); i++ ) {
        String cSize = m_Instances.classAttribute().value( i );
        if( cSize.length() > maxWidth ) {
          maxWidth = cSize.length();
        }
      }

      // Check width of class priors
      for( int i = 0; i < m_Instances.numClasses(); i++ ) {
        String priorP =
            Utils.doubleToString( ((DiscreteEstimator) m_ClassDistribution).getProbability( i ),
            maxWidth, 2 ).trim();
        priorP = "(" + priorP + ")";
        if( priorP.length() > maxWidth ) {
          maxWidth = priorP.length();
        }
      }

      if( maxAttWidth < "Attribute".length() ) {
        maxAttWidth = "Attribute".length();
      }

      if( maxAttWidth < "  weight sum".length() ) {
        maxAttWidth = "  weight sum".length();
      }

      if( containsKernel ) {
        if( maxAttWidth < "  [precision]".length() ) {
          maxAttWidth = "  [precision]".length();
        }
      }

      maxAttWidth += 2;



      temp.append( "\n\n" );
      temp.append( pad( "Class", " ",
          (maxAttWidth + maxWidth + 1) - "Class".length(),
          true ) );

      temp.append( "\n" );
      temp.append( pad( "Attribute", " ", maxAttWidth - "Attribute".length(), false ) );
      // class labels
      for( int i = 0; i < m_Instances.numClasses(); i++ ) {
        String classL = m_Instances.classAttribute().value( i );
        temp.append( pad( classL, " ", maxWidth + 1 - classL.length(), true ) );
      }
      temp.append( "\n" );
      // class priors
      temp.append( pad( "", " ", maxAttWidth, true ) );
      for( int i = 0; i < m_Instances.numClasses(); i++ ) {
        String priorP =
            Utils.doubleToString( ((DiscreteEstimator) m_ClassDistribution).getProbability( i ),
            maxWidth, 2 ).trim();
        priorP = "(" + priorP + ")";
        temp.append( pad( priorP, " ", maxWidth + 1 - priorP.length(), true ) );
      }
      temp.append( "\n" );
      temp.append( pad( "", "=", maxAttWidth +
          (maxWidth * m_Instances.numClasses()) + m_Instances.numClasses() + 1, true ) );
      temp.append( "\n" );

      // loop over the attributes
      int counter = 0;
      for( int i = 0; i < m_Instances.numAttributes(); i++ ) {
        if( i == m_Instances.classIndex() ) {
          continue;
        }
        String attName = m_Instances.attribute( i ).name();
        temp.append( attName + "\n" );

        if( m_Distributions[counter][0] instanceof NormalEstimator ) {
          String meanL = "  mean";
          temp.append( pad( meanL, " ", maxAttWidth + 1 - meanL.length(), false ) );
          for( int j = 0; j < m_Instances.numClasses(); j++ ) {
            // means
            NormalEstimator n = (NormalEstimator) m_Distributions[counter][j];
            String mean =
                Utils.doubleToString( n.getMean(), maxWidth, 4 ).trim();
            temp.append( pad( mean, " ", maxWidth + 1 - mean.length(), true ) );
          }
          temp.append( "\n" );
          // now do std deviations
          String stdDevL = "  std. dev.";
          temp.append( pad( stdDevL, " ", maxAttWidth + 1 - stdDevL.length(), false ) );
          for( int j = 0; j < m_Instances.numClasses(); j++ ) {
            NormalEstimator n = (NormalEstimator) m_Distributions[counter][j];
            String stdDev =
                Utils.doubleToString( n.getStdDev(), maxWidth, 4 ).trim();
            temp.append( pad( stdDev, " ", maxWidth + 1 - stdDev.length(), true ) );
          }
          temp.append( "\n" );
          // now the weight sums
          String weightL = "  weight sum";
          temp.append( pad( weightL, " ", maxAttWidth + 1 - weightL.length(), false ) );
          for( int j = 0; j < m_Instances.numClasses(); j++ ) {
            NormalEstimator n = (NormalEstimator) m_Distributions[counter][j];
            String weight =
                Utils.doubleToString( n.getSumOfWeights(), maxWidth, 4 ).trim();
            temp.append( pad( weight, " ", maxWidth + 1 - weight.length(), true ) );
          }
          temp.append( "\n" );
          // now the precisions
          String precisionL = "  precision";
          temp.append( pad( precisionL, " ", maxAttWidth + 1 - precisionL.length(), false ) );
          for( int j = 0; j < m_Instances.numClasses(); j++ ) {
            NormalEstimator n = (NormalEstimator) m_Distributions[counter][j];
            String precision =
                Utils.doubleToString( n.getPrecision(), maxWidth, 4 ).trim();
            temp.append( pad( precision, " ", maxWidth + 1 - precision.length(), true ) );
          }
          temp.append( "\n\n" );

        } else if( m_Distributions[counter][0] instanceof DiscreteEstimator ) {
View Full Code Here

    if (m_UseKernelEstimator) {
      m_Distributions[attIndex][j] =
        new KernelEstimator(numPrecision);
    } else {
      m_Distributions[attIndex][j] =
        new NormalEstimator(numPrecision);
    }
    break;
  case Attribute.NOMINAL:
    m_Distributions[attIndex][j] =
      new DiscreteEstimator(attribute.numValues(), true);
View Full Code Here

      for (int i = 0; i < m_Distributions.length; i++) {
        for (int j = 0; j < m_Instances.numClasses(); j++) {
          if (m_Distributions[i][0] instanceof NormalEstimator) {
            // check mean/precision dev against maxWidth
            NormalEstimator n = (NormalEstimator)m_Distributions[i][j];
            double mean = Math.log(Math.abs(n.getMean())) / Math.log(10.0);
            double precision = Math.log(Math.abs(n.getPrecision())) / Math.log(10.0);
            double width = (mean > precision)
              ? mean
              : precision;
            if (width < 0) {
              width = 1;
            }
            // decimal + # decimal places + 1
            width += 6.0;
            if ((int)width > maxWidth) {
              maxWidth = (int)width;
            }
          } else if (m_Distributions[i][0] instanceof KernelEstimator) {
            containsKernel = true;
            KernelEstimator ke = (KernelEstimator)m_Distributions[i][j];
            int numK = ke.getNumKernels();
            String temps = "K" + numK + ": mean (weight)";
            if (maxAttWidth < temps.length()) {
              maxAttWidth = temps.length();
            }
            // check means + weights against maxWidth
            if (ke.getNumKernels() > 0) {
              double[] means = ke.getMeans();
              double[] weights = ke.getWeights();
              for (int k = 0; k < ke.getNumKernels(); k++) {
                String m = Utils.doubleToString(means[k], maxWidth, 4).trim();
                m += " (" + Utils.doubleToString(weights[k], maxWidth, 1).trim() + ")";
                if (maxWidth < m.length()) {
                  maxWidth = m.length();
                }
              }
            }
          } else if (m_Distributions[i][0] instanceof DiscreteEstimator) {
            DiscreteEstimator d = (DiscreteEstimator)m_Distributions[i][j];
            for (int k = 0; k < d.getNumSymbols(); k++) {
              String size = "" + d.getCount(k);
              if (size.length() > maxWidth) {
                maxWidth = size.length();
              }
            }
            int sum = ("" + d.getSumOfCounts()).length();
            if (sum > maxWidth) {
              maxWidth = sum;
            }
          }
        }
      }

      // Check width of class labels
      for (int i = 0; i < m_Instances.numClasses(); i++) {
        String cSize = m_Instances.classAttribute().value(i);
        if (cSize.length() > maxWidth) {
          maxWidth = cSize.length();
        }
      }

      // Check width of class priors
      for (int i = 0; i < m_Instances.numClasses(); i++) {
        String priorP =
          Utils.doubleToString(((DiscreteEstimator)m_ClassDistribution).getProbability(i),
                               maxWidth, 2).trim();
        priorP = "(" + priorP + ")";
        if (priorP.length() > maxWidth) {
          maxWidth = priorP.length();
        }
      }
   
      if (maxAttWidth < "Attribute".length()) {
        maxAttWidth = "Attribute".length();
      }

      if (maxAttWidth < "  weight sum".length()) {
        maxAttWidth = "  weight sum".length();
      }

      if (containsKernel) {
        if (maxAttWidth < "  [precision]".length()) {
          maxAttWidth = "  [precision]".length();
        }
      }

      maxAttWidth += 2;
   


      temp.append("\n\n");
      temp.append(pad("Class", " ",
                      (maxAttWidth + maxWidth + 1) - "Class".length(),
                      true));

      temp.append("\n");
      temp.append(pad("Attribute", " ", maxAttWidth - "Attribute".length(), false));
      // class labels
      for (int i = 0; i < m_Instances.numClasses(); i++) {
        String classL = m_Instances.classAttribute().value(i);
        temp.append(pad(classL, " ", maxWidth + 1 - classL.length(), true));
      }
      temp.append("\n");
      // class priors
      temp.append(pad("", " ", maxAttWidth, true));
      for (int i = 0; i < m_Instances.numClasses(); i++) {
        String priorP =
          Utils.doubleToString(((DiscreteEstimator)m_ClassDistribution).getProbability(i),
                               maxWidth, 2).trim();
        priorP = "(" + priorP + ")";
        temp.append(pad(priorP, " ", maxWidth + 1 - priorP.length(), true));
      }
      temp.append("\n");
      temp.append(pad("", "=", maxAttWidth +
                      (maxWidth * m_Instances.numClasses())
                      + m_Instances.numClasses() + 1, true));
      temp.append("\n");

      // loop over the attributes
      int counter = 0;
      for (int i = 0; i < m_Instances.numAttributes(); i++) {
        if (i == m_Instances.classIndex()) {
          continue;
        }
        String attName = m_Instances.attribute(i).name();
        temp.append(attName + "\n");
         
        if (m_Distributions[counter][0] instanceof NormalEstimator) {
          String meanL = "  mean";
          temp.append(pad(meanL, " ", maxAttWidth + 1 - meanL.length(), false));
          for (int j = 0; j < m_Instances.numClasses(); j++) {           
            // means
            NormalEstimator n = (NormalEstimator)m_Distributions[counter][j];
            String mean =
              Utils.doubleToString(n.getMean(), maxWidth, 4).trim();
            temp.append(pad(mean, " ", maxWidth + 1 - mean.length(), true));
          }
          temp.append("\n");           
          // now do std deviations
          String stdDevL = "  std. dev.";
          temp.append(pad(stdDevL, " ", maxAttWidth + 1 - stdDevL.length(), false));
          for (int j = 0; j < m_Instances.numClasses(); j++) {
            NormalEstimator n = (NormalEstimator)m_Distributions[counter][j];
            String stdDev =
              Utils.doubleToString(n.getStdDev(), maxWidth, 4).trim();
            temp.append(pad(stdDev, " ", maxWidth + 1 - stdDev.length(), true));
          }
          temp.append("\n");
          // now the weight sums
          String weightL = "  weight sum";
          temp.append(pad(weightL, " ", maxAttWidth + 1 - weightL.length(), false));
          for (int j = 0; j < m_Instances.numClasses(); j++) {
            NormalEstimator n = (NormalEstimator)m_Distributions[counter][j];
            String weight =
              Utils.doubleToString(n.getSumOfWeights(), maxWidth, 4).trim();
            temp.append(pad(weight, " ", maxWidth + 1 - weight.length(), true));
          }
          temp.append("\n");
          // now the precisions
          String precisionL = "  precision";
          temp.append(pad(precisionL, " ", maxAttWidth + 1 - precisionL.length(), false));
          for (int j = 0; j < m_Instances.numClasses(); j++) {
            NormalEstimator n = (NormalEstimator)m_Distributions[counter][j];
            String precision =
              Utils.doubleToString(n.getPrecision(), maxWidth, 4).trim();
            temp.append(pad(precision, " ", maxWidth + 1 - precision.length(), true));
          }
          temp.append("\n\n");
           
        } else if (m_Distributions[counter][0] instanceof DiscreteEstimator) {
View Full Code Here

TOP

Related Classes of weka.estimators.NormalEstimator

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.