def test_shift_vector(self):
     vn = Vectors([[0.2, 1., 2, 3],
                   [4.2, 5, 6, 7]])
     v1 = Vectors([[1.]])
     assert Shift(v1, 2)
     assert Shift(vn, 1, 2)
     assert str(Shift(vn, 1, 2)) == str(vn.shift(1, 2))
    def build_data(self):
        v = Vectors([[1, 2, 3], [1, 3, 1]])

        assert 2 == v.nb_vector
        assert 3 == v.nb_variable
        assert [1, 2] == v.get_identifiers()
        assert v
        return v
    def build_data(self):
        v = Vectors([[1, 2, 3], [1, 3, 1]])

        assert 2 == v.nb_vector
        assert 3 == v.nb_variable
        assert [1, 2] == v.get_identifiers()
        assert v
        return v
 def create_data(self):
     seq0 = Sequences(get_shared_data("chene_sessile_15pa.seq"))
     vec10 = Vectors(seq0)
     vec95 = ValueSelect(vec10, 1, 95)
     vec96 = ValueSelect(vec10, 1, 96)
     vec97 = ValueSelect(vec10, 1, 97)
     return [vec95, vec96, vec97]
Exemple #5
0
 def build_data(self):
     vec10 = Vectors(get_shared_data("chene_sessile.vec"))
     vec15 = SelectVariable(vec10, [1, 3, 6], Mode="Reject")
     matrix10 = Compare(vec15, VectorDistance("N", "N", "N"))
     assert 138 == matrix10.nb_row
     assert 138 == matrix10.nb_column
     return matrix10
 def test_constructor_identifiers_failure(self):
     try:
         # should be Vectors([[1,2,3], Identifiers=[1])
         v = Vectors([1, 2, 3], Identifiers=[1, 2])
         assert False
     except ValueError:
         assert True
 def build_data(self):
     vec10 = Vectors(get_shared_data("chene_sessile.vec"))
     vec15 = SelectVariable(vec10, [1, 3, 6], Mode="Reject")
     matrix10 = Compare(vec15, VectorDistance("N", "N", "N"))
     c1 = Clustering(matrix10, "Partition", 3, Prototypes=[1, 3, 12],
                     Algorithm="Divisive")
     return ToDistanceMatrix(c1)
    def test_merge_vectors(self):

        v1 = self.int_vector_data()
        b = [[2, 78, 45],
             [6, 2, 122],
             [3, 4, 31],]
        v2 = Vectors(b)

        v = Merge(v1, v2)
        assert v

        a = v1.merge([v2])
        b = v2.merge([v1])
        assert str(a)==str(b)

        assert str(a)==str(v)
        Plot(v)
 def test_cluster_vectors_badtype(self):
     v = Vectors([[1, 2, 3], [1, 3, 1], [4, 5, 6]])
     try:
         # should be step, cluster, information
         Cluster(v, "BadName", 2)
         assert False
     except KeyError:
         assert True
 def test_cluster_vectors_information_failure(self):
     v = Vectors([[1, 2, 3], [1, 3, 1], [4, 5, 6]])
     try:
         # if v is vectors, information does not exist
         Cluster(v, "Information", 2)
         assert False
     except KeyError:
         assert True
    def test_vectors_container(self):
        """vector container : len"""
        v = Vectors([[0, 1, 2, 3], [4, 5, 6, 7]])
        assert len(v) == 2

        for i in v:
            assert len(i) == 4

        assert v[0] == range(4)
        assert v[1][1] == 5
Exemple #12
0
    def test_compare_vectors(self):

        vec10 = Vectors(get_shared_data("chene_sessile.vec"))
        vec15 = SelectVariable(vec10, [1, 3, 6], Mode="Reject")
        assert vec15

        matrix10 = Compare(vec15, VectorDistance("N", "N", "N"))
        assert matrix10
        assert str(vec15.compare(VectorDistance("N", "N", "N"),
                                 True)) == str(matrix10)
    def test_clustering(self):
        vec10 = Vectors(get_shared_data("chene_sessile.vec"))
        vec15 = SelectVariable(vec10, [1, 3, 6], Mode="Reject")

        assert vec15

        matrix10 = Compare(vec15, VectorDistance("N", "N", "N"))

        c1 = Clustering(matrix10,
                        "Partition",
                        3,
                        Prototypes=[1, 3, 12],
                        Algorithm="Divisive")
        c1_bis = Clustering(matrix10,
                            "Partition",
                            3,
                            Prototypes=[1, 3, 12],
                            Algorithm="Ordering")

        c2 = Clustering(matrix10, "Hierarchy", Algorithm="Agglomerative")
        c3 = Clustering(matrix10, "Hierarchy", Algorithm="Divisive")
        c4 = Clustering(matrix10, "Hierarchy", Algorithm="Ordering")

        assert c1
        assert c2
        assert c3
        assert c4
        assert ToDistanceMatrix(c1)

        # first argument is the Algorithm
        #  * 0 for agglomerative
        #  * 1 for divisive
        # Second argument is the criterion
        #  * 2 for averaging

        #those 3 tests works on my laptop (TC, April 2009) but not on buildbot
        #assert c2 == matrix10.hierarchical_clustering(0, 2, "test", "test")
        #assert c3 == matrix10.hierarchical_clustering(1, 1, "test", "test")
        #assert c4 == matrix10.hierarchical_clustering(2, 0, "test", "test")

        # 1 for initialisation and 1 for divisive
        assert str(c1) == \
            str(matrix10.partitioning_prototype(3, [1, 3, 12], 1, 1))
        assert str(c1_bis) == \
            str(matrix10.partitioning_prototype(3, [1, 3, 12], 1, 2))
    def test_vectors_pylist(self):
        """test vector constructor from list"""
        v = Vectors([[0, 1, 2, 3], [4, 5, 6, 7]])
        assert v
        v = Vectors([[1.2, 0.34], [1.2, 0.34]])
        assert v
        v = Vectors([[1]])
        assert v
        v = Vectors([[0, 1, 2, 3], [4, 5, 6, 7], [1, 2, 3, 4]])
        assert v

        try:
            v = Vectors([[0, 1, 2, 3], [4, 5, 6, 7], [1, 2, 3]])
            assert False
        except:
            assert True

        try:
            v = Vectors([[0, 1, 2, 3], [4, 5, 6, 7], [1.2, 2, 3]])
            assert False
        except:
            assert True
    def _test_cluster_vectors1(self):
        v = Vectors([[1], [2], [3]])

        assert str(Cluster(v, "Step", 2)) == str(v.cluster_step(1, 2))
        assert str(Cluster(v, "Limit", [2])) == str(v.cluster_limit(1, [2]))
    def test_constructor_one_variable(self):

        v = Vectors([1, 2, 3])
        assert v.nb_variable == 3
    def test_types(self):

        v2 = Vectors([[1, 2., 3.], [1, 5., 1.]], Identifiers=[1, 2])
 def test_identifiers(self):
     v = Vectors([[1, 2, 3], [4, 5, 6], [7, 8, 9]], Identifiers=[1, 2, 4])
     assert v.get_identifiers() == [1, 2, 4]
 def build_data_2(self):
     return Vectors(get_shared_data("chene_sessile.vec"))
class TestRegression(interface):
    """a simple unittest class"""

    def __init__(self):
        self.vector = Vectors([[0, 0], [1, 1], [2, 2], [3, 3]])
        interface.__init__(self, self.build_data(), None, Regression)

    def build_data(self):

        # vector = Vectors([[0, 0], [1, 1], [2, 2], [3, 3]])

        r1 = Regression(self.vector, "Linear", 1, 2)

        assert r1.nb_vector == 4
        return r1

    def test_build_bad_algorithm_failure(self):
        try:
            _r1 = Regression(self.vector, "Moving", 1, 2, 1, Weighting=False)
            assert False
        except:
            assert True

    def test_get_residuals(self):
        for ii in range(0, self.data.nb_vector):
            assert self.data.get_residual(ii) == 0

    def test_print(self):
        self.print_data()

    def test_display(self):
        self.display()
        self.display_versus_ascii_write()
        self.display_versus_str()

    def test_len(self):
        """not implemented; irrelevant?"""
        assert self.data.nb_vector == 4

    def test_plot(self):
        self.plot()

    def test_save(self):
        self.save(skip_reading=True)

    def test_plot_write(self):
        self.plot_write()

    def test_file_ascii_write(self):
        self.file_ascii_write()

    def test_spreadsheet_write(self):
        self.spreadsheet_write()

    def test_extract(self):
        pass

    def test_extract_data(self):
        pass

    def test_linear_regression(self):

        r1 = self.data

        # compare with the direct usage of linear regression
        r = self.vector.linear_regression(1, 2)

        assert r
        assert r1
        assert str(r) == str(r1)

    def test_moving_average(self):

        r1 = Regression(self.vector, "MovingAverage", 1, 2, [1])
        r = self.vector.moving_average_regression_values(1, 2, [1], "a")
        assert r
        assert r1
        assert str(r) == str(r1)

    def test_moving_average_failure(self):

        try:
            Regression(self.vector, "MovingAverage", 1, 2, [1], Algorithm="badAlgorithmName")
            assert False
        except:
            assert True

    def _test_moving_average_and_compound(self):
        """test to be implemented"""
        compound = Compound(Binomial(1, 10, 0.5), Binomial(1, 5, 0.4))
        Regression(self.vector, "MovingAverage", 1, 2, compound)

    def test_nearest_neighbours(self):

        r1 = Regression(self.vector, "NearestNeighbors", 1, 2, 1, Weighting=False)
        r = self.vector.nearest_neighbours_regression(1, 2, 1.0, False)
        assert r
        assert r1
        assert str(r) == str(r1)

    def test_badtype(self):
        try:
            Regression(self.vector, "N", 1, 2, [1])
            assert False
        except TypeError:
            assert True
 def create_data(self):
     v = Vectors([[1], [1], [4]])
     return v
    def _test_cluster_vectors1(self):
        v = Vectors([[1], [2], [3]])

        assert str(Cluster(v, "Step", 2)) == str(v.cluster_step(1, 2))
        assert str(Cluster(v, "Limit",  [2])) == \
            str(v.cluster_limit(1,[2]))
 def test_vectors(self):
     v = Vectors([[1, 2, 3, 4, 5, 6, 7]])
     ExtractHistogram(v, 1)
     v = Vectors([[1, 2], [3, 4]])
     ExtractHistogram(v, 1)
 def test_identifiers(self):
     v = Vectors([[1, 2, 3], [4, 5, 6], [7, 8, 9]], Identifiers=[1, 2, 4])
     assert v.get_identifiers() == [1, 2, 4]
Exemple #25
0
class TestRegression(interface):
    """a simple unittest class"""
    def __init__(self):
        self.vector = Vectors([[0, 0], [1, 1], [2, 2], [3, 3]])
        interface.__init__(self, self.build_data(), None, Regression)

    def build_data(self):

        #vector = Vectors([[0, 0], [1, 1], [2, 2], [3, 3]])

        r1 = Regression(self.vector, "Linear", 1, 2)

        assert r1.nb_vector == 4
        return r1

    def test_build_bad_algorithm_failure(self):
        try:
            _r1 = Regression(self.vector, "Moving", 1, 2, 1, Weighting=False)
            assert False
        except:
            assert True

    def test_get_residuals(self):
        for ii in range(0, self.data.nb_vector):
            assert self.data.get_residual(ii) == 0

    def test_print(self):
        self.print_data()

    def test_display(self):
        self.display()
        self.display_versus_ascii_write()
        self.display_versus_str()

    def test_len(self):
        """not implemented; irrelevant?"""
        assert self.data.nb_vector == 4

    def test_plot(self):
        self.plot()

    def test_save(self):
        self.save(skip_reading=True)

    def test_plot_write(self):
        self.plot_write()

    def test_file_ascii_write(self):
        self.file_ascii_write()

    def test_spreadsheet_write(self):
        self.spreadsheet_write()

    def test_extract(self):
        pass

    def test_extract_data(self):
        pass

    def test_linear_regression(self):

        r1 = self.data

        #compare with the direct usage of linear regression
        r = self.vector.linear_regression(1, 2)

        assert r
        assert r1
        assert str(r) == str(r1)

    def test_moving_average(self):

        r1 = Regression(self.vector, "MovingAverage", 1, 2, [
            1,
        ])
        r = self.vector.moving_average_regression_values(1, 2, [
            1,
        ], 'a')
        assert r
        assert r1
        assert str(r) == str(r1)

    def test_moving_average_failure(self):

        try:
            Regression(self.vector,
                       "MovingAverage",
                       1,
                       2, [
                           1,
                       ],
                       Algorithm="badAlgorithmName")
            assert False
        except:
            assert True

    def _test_moving_average_and_compound(self):
        """test to be implemented"""
        compound = Compound(Binomial(1, 10, 0.5), Binomial(1, 5, 0.4))
        Regression(self.vector, "MovingAverage", 1, 2, compound)

    def test_nearest_neighbours(self):

        r1 = Regression(self.vector,
                        "NearestNeighbors",
                        1,
                        2,
                        1,
                        Weighting=False)
        r = self.vector.nearest_neighbours_regression(1, 2, 1., False)
        assert r
        assert r1
        assert str(r) == str(r1)

    def test_badtype(self):
        try:
            Regression(self.vector, "N", 1, 2, [
                1,
            ])
            assert False
        except TypeError:
            assert True
 def __init__(self):
     self.vector = Vectors([[0, 0], [1, 1], [2, 2], [3, 3]])
     interface.__init__(self, self.build_data(), None, Regression)
 def create_data(self):
     v = Vectors([[1, 2, 3], [1, 3, 1], [4, 5, 6]])
     return v
 def test_cluster_vectors(self):
     v = Vectors([[1, 2, 3], [1, 3, 1], [4, 5, 6]])
     assert str(Cluster(v, "Step", 1, 2)) == str(v.cluster_step(1, 2))
     assert str(Cluster(v, "Limit", 1, [2, 4, 6])) == str(v.cluster_limit(1, [2, 4, 6]))
Exemple #29
0
 def create_data(self):
     seq0 = Sequences(get_shared_data("chene_sessile_15pa.seq"))
     vec10 = Vectors(seq0)
     return vec10
 def _test_transcode_vectors(self):
     vec = Vectors([[1, 2, 3], [1, 3, 1], [4, 5, 6]])
     assert str(vec.transcode(1, [1, 2, 3, 4])) == str(Transcode(vec, 1, [1, 2, 3, 4]))
 def test_cluster_vectors(self):
     v = Vectors([[1, 2, 3], [1, 3, 1], [4, 5, 6]])
     assert str(Cluster(v, "Step", 1, 2)) == str(v.cluster_step(1, 2))
     assert str(Cluster(v, "Limit", 1, [2, 4, 6])) == \
         str(v.cluster_limit(1, [2, 4 ,6]))
Exemple #32
0
 def __init__(self):
     self.vector = Vectors([[0, 0], [1, 1], [2, 2], [3, 3]])
     interface.__init__(self, self.build_data(), None, Regression)
 def int_vector_data(self):
     a = [[1, 3, 4],
          [4, 12, 2],
          [8, 7, 3],]
     v = Vectors(a)
     return v
 def float_vector_data(self):
     v = Vectors([[0.1, 0.3, 4.2],
                  [0.5, 2.3, 1.2],
                  [4.5, 6.3, 3.2],
                  ])
     return v
 def _test_transcode_vectors(self):
     vec = Vectors([[1, 2, 3], [1, 3, 1], [4, 5, 6]])
     assert  str(vec.transcode(1, [1, 2, 3, 4]))==\
         str(Transcode(vec, 1, [1, 2, 3, 4]))
def test():
    vec10 = Vectors("data/chene_sessile.vec")
    Plot(vec10)
    # plot of the pointwise averages
    Plot(Regression(vec10, "MovingAverage", 1, 2, [1]))

    vec95 = ValueSelect(vec10, 1, 1995)
    vec96 = ValueSelect(vec10, 1, 1996)
    vec97 = ValueSelect(vec10, 1, 1997)

    VarianceAnalysis(vec10, 1, 2, "N")
    Compare(ExtractHistogram(vec95, 2), ExtractHistogram(vec96, 2), \
            ExtractHistogram(vec95, 2), "N")


    Plot(ExtractHistogram(vec95, 2), ExtractHistogram(vec96, 2), \
         ExtractHistogram(vec97, 2))

    ContingencyTable(vec10, 1, 4)

    # one-way variance analysis based on ranks
    VarianceAnalysis(vec10, 1, 4, "O")
    Compare(ExtractHistogram(vec95, 4), ExtractHistogram(vec96, 4), \
            ExtractHistogram(vec95, 4), "O")

    # looks like it is not plotted
    Plot(ExtractHistogram(vec95, 4), ExtractHistogram(vec96, 4),
         ExtractHistogram(vec97, 4))
    Plot(ExtractHistogram(vec95, 5), ExtractHistogram(vec96, 5),
         ExtractHistogram(vec97, 5))
    Plot(ExtractHistogram(vec95, 6), ExtractHistogram(vec96, 6),
         ExtractHistogram(vec97, 6))

    vec11 = ValueSelect(vec10, 4, 1)
    vec12 = ValueSelect(vec10, 4, 2)
    vec13 = ValueSelect(vec10, 4, 3, 4)

    Plot(ExtractHistogram(vec11, 2), ExtractHistogram(vec12, 2),
         ExtractHistogram(vec13, 2))
    Plot(ExtractHistogram(vec11, 5), ExtractHistogram(vec12, 5),
         ExtractHistogram(vec13, 5))

    mixt20 = Estimate(ExtractHistogram(vec10, 2), \
                      "MIXTURE", "NB", "NB", "NB", "NB", \
                      NbComponent="Estimated")
    Display(mixt20)

    Plot(mixt20)
    Plot(ExtractDistribution(mixt20, "Mixture"))

    _mixt21 = Estimate(ExtractHistogram(vec10, 5), \
                       "MIXTURE", "NB", "NB", "NB", "NB", \
                       NbComponent="Estimated")

    vec9596 = ValueSelect(vec10, 1, 1995, 1996)

    Plot(ExtractHistogram(ValueSelect(vec9596, 4, 1), 6), \
         ExtractHistogram(ValueSelect(vec9596, 4, 2), 6), \
         ExtractHistogram(ValueSelect(vec9596, 4, 3, 4), 6))

    # linear regression
    regress10 = Regression(vec10, "Linear", 5, 2)
    Display(regress10)
    Plot(regress10)

    # nonparametric regression (loess smoother)

    _regress11 = Regression(vec10, "NearestNeighbors", 5, 2, 0.3)
    _regress12 = Regression(vec9596, "Linear", 5, 6)
    _regress13 = Regression(vec9596, "NearestNeighbors", 5, 6, 0.5)

    _vec15 = SelectVariable(vec10, [1, 3, 6], Mode="Reject")