SciPy

Source code for tethne.model

"""
"""

import os
import re
import shutil
import shutil
import tempfile
import subprocess


[docs]class Model(object): """ Base class for models. """ def __init__(self, corpus, **kwargs): """ Initialize the ModelManager. """ self.corpus = corpus self.temp = tempfile.mkdtemp() for attr in ['run', 'prep']: if not hasattr(self, attr): msg = 'Model subclass must implement method {0}'.format(attr) raise AttributeError(msg) # Make all kwargs available as attributes. for key, value in kwargs.iteritems(): if hasattr(self, key): # Don't overwrite methods. if hasattr(getattr(self, key), '__call__'): continue setattr(self, key, value) self.prep() def __del__(self): """ Delete temporary directory and all files contained therein. """ if hasattr(self, 'nodelete'): if self.nodelete: return shutil.rmtree(self.temp) @property def ll_trace(self): """ Plots LL/topic over iterations. """ return self.ll
[docs] def fit(self, **kwargs): # Make all kwargs available as attributes. for key, value in kwargs.iteritems(): if hasattr(self, key): # Don't overwrite methods. if hasattr(getattr(self, key), '__call__'): continue setattr(self, key, value) self.run(**kwargs)