Esempio n. 1
0
def oneItPerceptron(data_generator, weights, labels):
    errors = 0.
    num_insts = 0.
    # your code here
    for sample in data_generator:
        feature, label = sample
        pred = predict(feature, weights, labels)[0]
        num_insts += 1
        if pred != label:
            errors += 1
            for w in feature:
                weights[(label, w)] += feature[w]
                weights[(pred, w)] -= feature[w]
    return weights, errors, num_insts
Esempio n. 2
0
def oneItPerceptron(data_generator,weights,labels):
    errors = 0.
    num_insts = 0.
    # your code here
    for sample in data_generator:
        feature, label = sample
        pred = predict(feature, weights, labels)[0]
        num_insts += 1
        if pred != label:
            errors += 1
            for w in feature:
                weights[(label, w)] += feature[w]
                weights[(pred, w)] -= feature[w]
    return weights, errors, num_insts
Esempio n. 3
0
def oneItPerceptron(data_generator, weights, labels):
    errors = 0.
    num_insts = 0.

    for instance, label in data_generator:
        num_insts += 1
        label_pred, scores = predict(instance, weights, labels)
        if label_pred != label:
            errors += 1
            for word, value in instance.iteritems():
                weights[(label, word)] += value
                weights[(label_pred, word)] -= value

    return weights, errors, num_insts
Esempio n. 4
0
def oneItAvgPerceptron(inst_generator, weights, wsum, labels, Tinit=0):
    errors = 0.0
    num_insts = 0.0
    t = Tinit
    for sample in inst_generator:
        feature, label = sample
        pred = predict(feature, weights, labels)[0]
        num_insts += 1
        if pred != label:
            errors += 1
            for w in feature:
                weights[(label, w)] += feature[w]
                weights[(pred, w)] -= feature[w]
                wsum[(label, w)] += t * feature[w]
                wsum[(pred, w)] -= t * feature[w]
        t += 1
    return weights, wsum, errors, num_insts
Esempio n. 5
0
def oneItAvgPerceptron(inst_generator, weights, wsum, labels, Tinit=0):
    errors = 0.
    num_insts = 0.
    t = Tinit
    for sample in inst_generator:
        feature, label = sample
        pred = predict(feature, weights, labels)[0]
        num_insts += 1
        if pred != label:
            errors += 1
            for w in feature:
                weights[(label, w)] += feature[w]
                weights[(pred, w)] -= feature[w]
                wsum[(label, w)] += t * feature[w]
                wsum[(pred, w)] -= t * feature[w]
        t += 1
    return weights, wsum, errors, num_insts