Exemple #1
0
def test_ccipca_equivalence():
    array = np.random.random(size=(10, 10))
    col_mean = np.mean(array, axis=1)
    row_mean = np.mean(array, axis=0)
    overall_mean = np.mean(array)
    zero_mean_array = array - col_mean[:, np.newaxis] - row_mean[
        np.newaxis, :] + overall_mean
    print zero_mean_array
    print np.mean(zero_mean_array, axis=0)
    print np.mean(zero_mean_array, axis=1)

    norm_array = normalize(zero_mean_array)

    U, Sigma, Vt = np.linalg.svd(norm_array)

    ccipca = CCIPCA(6, vector_size=10, amnesia=3.0)
    for iteration in xrange(500):
        for column in xrange(10):
            ccipca.fixed_iteration(norm_array[:, column], learn=True)

        a = ccipca._v[1:6] * 10
        b = (U * Sigma * Sigma).T[:5]
        print(np.abs(a / b))
        print Sigma[:5]
        print rmse(np.abs(a / b) - 1)
Exemple #2
0
    def __init__(self,
                 transfreq=1,
                 cnetfreq=2,
                 spicefreq=10,
                 k=20,
                 filters=None):
        self.ccipca = CCIPCA(k, amnesia=2.0, remembrance=1000000.0)
        self.filters = filters
        self.iteration = 0
        self.touchpoints = []
        self.categories = {}

        self.transfreq = transfreq
        self.cnet = utils.feature_cycle(cthing)
        self.cnetfreq = cnetfreq
        self.spice = utils.feature_cycle(athing)
        self.spicefreq = spicefreq