Exemple #1
0
from pymix.distributions.normal import NormalDistribution
from pymix.distributions.product import ProductDistribution
from pymix.models.mixture import MixtureModel
from pymix.util.dataset import DataSet

pr1 = ProductDistribution([
    NormalDistribution(-6.0, 0.5),
    NormalDistribution(-4.0, 0.5),
    NormalDistribution(-3.0, 0.5)
])
pr2 = ProductDistribution([
    NormalDistribution(-5.0, 0.5),
    NormalDistribution(-3.3, 0.5),
    NormalDistribution(-2.3, 0.5)
])

m = MixtureModel(2, [0.7, 0.3], [pr1, pr2])

seq = m.sampleSet(5)

#print seq
z = 0
m.printTraceback(DataSet().fromList(seq), z)
Exemple #2
0
from pymix import mixture
import random
from pymix.parse import readMixture
from pymix.util.alphabet import Alphabet
from pymix.util.dataset import DataSet

VNTR = Alphabet(['.', '2/4', '2/7', '3/4', '3/7', '4/4', '4/6', '4/7', '4/8', '4/9', '7/7'])
DIAG = Alphabet(['.', '0', '8', '1'])

data = DataSet()

# iq.txt = iq and achievement test fields from pheno.txt
# drd4_len.txt = drd4 vntr types, only number of repeats
data.fromFiles(["filt_WISC_WIAT_DISC_134.txt"]) # ,"DRD4_134_len.txt"

m = readMixture('pheno_best.py')

print "Without deterministic anealing:"
m.randMaxEM(data, 100, 30, 0.1, tilt=0, silent=0)

print "\nWith deterministic annealing:"
m.randMaxEM(data, 100, 30, 0.1, tilt=1, silent=0)
Exemple #3
0
import random

#d = DataSet(["test.txt","drd1.txt","pheno.txt"])
from pymix.distributions.multinomial import MultinomialDistribution
from pymix.distributions.normal import NormalDistribution
from pymix.distributions.product import ProductDistribution
from pymix.models.mixture import MixtureModel
from pymix.util.dataset import DataSet
from test_mixture import SNP

d = DataSet(["test.txt", "drd1.txt", "pheno.txt"])
print d

p1 = []
p2 = []
p3 = []
p4 = []
for i in range(25):
    p1.append(random.random())
    p2.append(random.random())
    p3.append(random.random())
    p4.append(random.random())

g1 = lambda x: x / sum(p1)
p1 = map(g1, p1)

g2 = lambda x: x / sum(p2)
p2 = map(g2, p2)

g3 = lambda x: x / sum(p3)
p3 = map(g3, p3)
Exemple #4
0
#e2.EM(seq2,60,5)

#  ----------------------------- Example 3 -----------------------------
m3 = MixtureModel(2, [0.3, 0.7],
                  [NormalDistribution(0.0, 0.5),
                   NormalDistribution(1.3, 0.5)])

(true, seq3) = m3.sampleSetLabels(380)

m4 = MixtureModel(
    2, [0.5, 0.5],
    [NormalDistribution(-1.5, 1.5),
     NormalDistribution(1.5, 1.5)])

dat = DataSet()
dat.fromArray(seq3)

print "vorher ------\n", m4
pred = m4.cluster(dat,
                  nr_runs=5,
                  nr_init=9,
                  max_iter=30,
                  delta=0.1,
                  labels=None,
                  entropy_cutoff=None)

classes = m4.classify(dat)

m4.shortInitEM(dat, 5, 5, 5, 0.1)
m4.EM(seq3, 20, 0.1)