Example #1
0
def classification(classifier, context, blockList, decisions, scaler, returnQueue=None,
                   shot=True, leaveout=-1):
    """
    Returns a classification, no propabilities.
    """
    feature_line = getSingleFeatureLine(context, blockList, decisions, shot, leaveout)
    class_from_file = feature_line.pop()
    feature_line = scaler.transform(feature_line)
    classification = classifier.predict(feature_line)
    if returnQueue:
        returnQueue.put(classification)
        returnQueue.close()
    return classification
Example #2
0
def calculateDistributionAndClassification(classifier, context, blocks, decisions,
                                           scaler, shot_or_cut=True,
                                           returnQueue=None, leave_out_class=None):
    """
    Calculates a distribution using the given classifier. From that distribution the
    highest Value is selected as classification. Both distribution and classification
    are returned.
    """
    feature_line = getSingleFeatureLine(context, blocks, decisions, shot_or_cut,
        leave_out_class=leave_out_class)
    feature_line.pop()
    feature_vector = scaler.transform(np.array([feature_line]))
    distribution = classifier.predict_proba(feature_vector)
    classification = distribution[0].tolist().index(max(distribution[0].tolist()))
    #classification = int(classifier.predict(feature_vector)[0])
    if returnQueue:
        returnQueue.put((distribution, classification))
        returnQueue.close()
    return distribution, classification