예제 #1
0
def generate_princomp(xo, filen='testsave.py'):
    # import mlabwrap only when run as script
    import mlabwrap
    from mlabwrap import mlab
    np.set_printoptions(precision=14, linewidth=100)
    data =  HoldIt('data')
    data.xo = xo
    data.save(filename='testsave.py', comment='generated data, divide by 1000')

    res_princomp =  HoldIt('princomp1')
    res_princomp.coef, res_princomp.factors, res_princomp.values = \
                       mlab.princomp(x, nout=3)
    res_princomp.save(filename=filen, header=False,
                      comment='mlab.princomp(x, nout=3)')

    res_princomp =  HoldIt('princomp2')
    res_princomp.coef, res_princomp.factors, res_princomp.values = \
                       mlab.princomp(x[:20,], nout=3)
    np.set_printoptions(precision=14, linewidth=100)
    res_princomp.save(filename=filen, header=False,
                      comment='mlab.princomp(x[:20,], nout=3)')

    res_princomp =  HoldIt('princomp3')
    res_princomp.coef, res_princomp.factors, res_princomp.values = \
                       mlab.princomp(x[:20,]-x[:20,].mean(0), nout=3)
    np.set_printoptions(precision=14, linewidth=100)
    res_princomp.save(filename=filen, header=False,
                      comment='mlab.princomp(x[:20,]-x[:20,].mean(0), nout=3)')
예제 #2
0
def generate_princomp(xo, filen='testsave.py'):
    # import mlabwrap only when run as script
    from mlabwrap import mlab
    np.set_printoptions(precision=14, linewidth=100)
    data = HoldIt('data')
    data.xo = xo
    data.save(filename='testsave.py', comment='generated data, divide by 1000')

    res_princomp = HoldIt('princomp1')
    res_princomp.coef, res_princomp.factors, res_princomp.values = \
                       mlab.princomp(x, nout=3)
    res_princomp.save(filename=filen,
                      header=False,
                      comment='mlab.princomp(x, nout=3)')

    res_princomp = HoldIt('princomp2')
    res_princomp.coef, res_princomp.factors, res_princomp.values = \
                       mlab.princomp(x[:20,], nout=3)
    np.set_printoptions(precision=14, linewidth=100)
    res_princomp.save(filename=filen,
                      header=False,
                      comment='mlab.princomp(x[:20,], nout=3)')

    res_princomp = HoldIt('princomp3')
    res_princomp.coef, res_princomp.factors, res_princomp.values = \
                       mlab.princomp(x[:20,]-x[:20,].mean(0), nout=3)
    np.set_printoptions(precision=14, linewidth=100)
    res_princomp.save(filename=filen,
                      header=False,
                      comment='mlab.princomp(x[:20,]-x[:20,].mean(0), nout=3)')
예제 #3
0
 def dim_reduce_pca(self, tables, dims):
     if not dims:
         return [0] * len(tables), [0] * len(tables), None
     average_vectors = np.array([t.get_average(*dims) for t in tables])
     print average_vectors.shape
     from mlabwrap import mlab
     #extra_points, mapping = mlab.compute_mapping(
     #    average_vectors, 'PCA', 2, nout=2)
     coeffs, extra_points = mlab.princomp(average_vectors, nout=2)
     print extra_points.shape
     return extra_points.T[0], extra_points.T[1], coeffs
예제 #4
0
 def dim_reduce_pca(self, tables, dims):
   if not dims:
     return [0] * len(tables), [0] * len(tables), None
   average_vectors = np.array([t.get_average(*dims) for t in tables])
   print average_vectors.shape
   from mlabwrap import mlab
   #extra_points, mapping = mlab.compute_mapping(
   #    average_vectors, 'PCA', 2, nout=2)
   coeffs, extra_points = mlab.princomp(average_vectors, nout=2)
   print extra_points.shape
   return extra_points.T[0], extra_points.T[1], coeffs