[Scipy-svn] r3124 - trunk/Lib/sandbox/pyem

scipy-svn@scip... scipy-svn@scip...
Sun Jul 1 04:29:39 CDT 2007


Author: cdavid
Date: 2007-07-01 04:29:34 -0500 (Sun, 01 Jul 2007)
New Revision: 3124

Modified:
   trunk/Lib/sandbox/pyem/gauss_mix.py
Log:
Change named arg varmode to mode for consistency, and add an argument for number of contours in density on grid

Modified: trunk/Lib/sandbox/pyem/gauss_mix.py
===================================================================
--- trunk/Lib/sandbox/pyem/gauss_mix.py	2007-06-29 07:00:29 UTC (rev 3123)
+++ trunk/Lib/sandbox/pyem/gauss_mix.py	2007-07-01 09:29:34 UTC (rev 3124)
@@ -1,5 +1,5 @@
 # /usr/bin/python
-# Last Change: Tue Jun 12 03:00 PM 2007 J
+# Last Change: Sat Jun 30 05:00 PM 2007 J
 
 """Module implementing GM, a class which represents Gaussian mixtures.
 
@@ -319,7 +319,7 @@
         return True
 
     @classmethod
-    def gen_param(cls, d, nc, varmode = 'diag', spread = 1):
+    def gen_param(cls, d, nc, mode = 'diag', spread = 1):
         """Generate random, valid parameters for a gaussian mixture model.
 
         :Parameters:
@@ -327,7 +327,7 @@
                 the dimension
             nc : int
                 the number of components
-            varmode : string
+            mode : string
                 covariance matrix mode ('full' or 'diag').
 
         :Returns:
@@ -346,9 +346,9 @@
         w   = w / sum(w, 0)
 
         mu  = spread * N.sqrt(d) * randn(nc, d)
-        if varmode == 'diag':
+        if mode == 'diag':
             va  = N.abs(randn(nc, d))
-        elif varmode == 'full':
+        elif mode == 'full':
             # If A is invertible, A'A is positive definite
             va  = randn(nc * d, d)
             for k in range(nc):
@@ -361,12 +361,6 @@
 
     #gen_param = classmethod(gen_param)
 
-    # #=======================
-    # # Regularization methods
-    # #=======================
-    # def _regularize(self):
-    #     raise NotImplemented("No regularization")
-
     def pdf(self, x, log = False):
         """Computes the pdf of the model at given points.
 
@@ -532,7 +526,7 @@
         return retval
 
     def density_on_grid(self, dim = misc.DEF_VIS_DIM, nx = 50, ny = 50,
-            maxlevel = 0.95, V = None):
+            nl = 20, maxlevel = 0.95, V = None):
         """Do all the necessary computation for contour plot of mixture's
         density.
         
@@ -543,6 +537,8 @@
                 Number of points to use for the x axis of the grid
             ny : int
                 Number of points to use for the y axis of the grid
+            nl : int
+                Number of contour to plot.
         
         :Returns:
             X : ndarray
@@ -582,7 +578,7 @@
         if V is None:
             #V = [-5, -3, -1, -0.5, ]
             #V.extend(list(N.linspace(0, N.max(lden), 20)))
-            V = N.linspace(-5, N.max(lden), 20)
+            V = N.linspace(-5, N.max(lden), nl)
         return X, Y, lden, N.array(V)
 
     def _densityctr(self, rangex, rangey, dim = misc.DEF_VIS_DIM):



More information about the Scipy-svn mailing list