예제 #1
0
class TwitterHawk(object):
    def __init__(self, model_path):
        # Load model
        with open(model_path + '.model', 'rb') as fid:
            self.clf = pickle.load(fid)
        with open(model_path + '.dict', 'rb') as fid:
            self.vec = pickle.load(fid)
        self.feat_obj = FeaturesWrapper()

    def predict(self, X, predict_type='label'):
        # Data -> features
        #feat_obj = FeaturesWrapper()
        feats = self.feat_obj.extract_features(X)
        if predict_type == 'label':
            return self.predict_vectorized(feats)
        elif predict_type == 'probs':
            return self.predict_probs_vectorized(feats)

    def predict_probs_vectorized(self, feats):
        vectorized = self.vec.transform(feats)

        return self.clf.decision_function(vectorized)

    def predict_vectorized(self, feats):
        vectorized = self.vec.transform(feats)
        labels = self.clf.predict(vectorized)
        labels = [reverse_labels_map[y] for y in labels]
        return labels
예제 #2
0
def predict(X, clf, vec, feat_obj=None):
    # Data -> features
    if feat_obj == None:
        feat_obj = FeaturesWrapper()
    feats  = feat_obj.extract_features(X)

    return predict_vectorized(feats, clf, vec)
예제 #3
0
class TwitterHawk(object):
    def __init__(self, model_path):
    # Load model
        with open(model_path+'.model', 'rb') as fid:
            self.clf = pickle.load(fid)
        with open(model_path+'.dict', 'rb') as fid:
            self.vec = pickle.load(fid)
        self.feat_obj = FeaturesWrapper()
    def predict(self, X, predict_type='label'):
    # Data -> features
        #feat_obj = FeaturesWrapper()
        feats  = self.feat_obj.extract_features(X)
        if predict_type == 'label':
            return self.predict_vectorized(feats)
        elif predict_type == 'probs':
            return self.predict_probs_vectorized(feats)

    def predict_probs_vectorized(self, feats):
        vectorized = self.vec.transform(feats)

        return self.clf.decision_function(vectorized)

    def predict_vectorized(self, feats):
        vectorized = self.vec.transform(feats)
        labels = self.clf.predict(vectorized)
        labels = [ reverse_labels_map[y] for y in labels ]
        return labels
예제 #4
0
def predict(X, clf, vec, feat_obj=None, prob=False):
    # Data -> features
    if feat_obj == None:
        feat_obj = FeaturesWrapper()
    feats = feat_obj.extract_features(X)

    if prob:
        return predict_probs_vectorized(feats, clf, vec)
    else:
        return predict_vectorized(feats, clf, vec)
예제 #5
0
def predict(X, clf, vec, feat_obj=None, prob=False):
    # Data -> features
    if feat_obj == None:
        feat_obj = FeaturesWrapper()
    feats  = feat_obj.extract_features(X)

    if prob:
        return predict_probs_vectorized(feats, clf, vec)
    else:
        return predict_vectorized(feats, clf, vec)
예제 #6
0
def extract_features(X, feat_obj=None):
    # Data -> features
    if feat_obj == None:
        feat_obj = FeaturesWrapper()
    feats = feat_obj.extract_features(X)
    return feats
예제 #7
0
def extract_features(X, feat_obj=None):
    # Data -> features
    if feat_obj == None:
        feat_obj = FeaturesWrapper()
    feats  = feat_obj.extract_features(X)
    return feats