def predict_dataset(classifier, dataset, radius, alphabet):
    result = []
    for data in dataset.data:
        predict_data = svm_tools.get_sequence_dataset(data.seq, radius, alphabet)
        predicted_result = svm_tools.filter_predicted_result(classifier.predict(predict_data))
        result.append((str(data.seq), predicted_result))
    return result
def predict_dataset(classifier, dataset, radius, alphabet):
    result = []
    for data in dataset.data:
        predict_data = svm_tools.get_sequence_dataset(data.seq, radius,
                                                      alphabet)
        predicted_result = svm_tools.filter_predicted_result(
            classifier.predict(predict_data))
        result.append((str(data.seq), predicted_result))
    return result
def learn_svm_classifier(dataset, radius):
    if not dataset.is_marked():
        return None

    learn_dataset, learn_results = [], []
    for record, markup in zip(dataset.data, dataset.markup):
        keys = svm_tools.get_sequence_dataset(record.seq, radius, dataset.alphabet)
        results = svm_tools.markup_sequence_dataset(keys, markup)
        learn_dataset.extend(keys)
        learn_results.extend(results)

    classifier = svm.SVC(kernel='rbf')
    classifier.fit(np.asarray(learn_dataset, float), np.asarray(learn_results, float))
    return classifier
def learn_svm_classifier(dataset, radius):
    if not dataset.is_marked():
        return None

    learn_dataset, learn_results = [], []
    for record, markup in zip(dataset.data, dataset.markup):
        keys = svm_tools.get_sequence_dataset(record.seq, radius,
                                              dataset.alphabet)
        results = svm_tools.markup_sequence_dataset(keys, markup)
        learn_dataset.extend(keys)
        learn_results.extend(results)

    classifier = svm.SVC(kernel='rbf')
    classifier.fit(np.asarray(learn_dataset, float),
                   np.asarray(learn_results, float))
    return classifier
def predict_sequence(classifier, sequence, radius, alphabet):
    dataset = svm_tools.get_sequence_dataset(sequence, radius, alphabet)
    return svm_tools.filter_predicted_result(classifier.predict(dataset))
def predict_sequence(classifier, sequence, radius, alphabet):
    dataset = svm_tools.get_sequence_dataset(sequence, radius, alphabet)
    return svm_tools.filter_predicted_result(classifier.predict(dataset))