Example #1
0
    if args.train:
        print("Forcing the model to retrain")
        model = train(args.eval)
    else:
        try:
            model = joblib.load(model_filename)
        except:
            model = train(args.eval)

    cv = model['vec']
    clf = model['clf']

    if args.tweets_file is not None:
        with open(args.tweets_file, 'r') as f:
            tweets = f.read().split('\n')
            df = pd.DataFrame(tweets, columns=['text'])
    else:
        client = TwitterClient()
        tweets = client.get_tweets(query=args.query, count=200)
        df = pd.DataFrame(tweets)

    tc = TextCleaner()
    cleaned_text = tc.fit_transform(df.text)

    counts = cv.transform(cleaned_text)
    preds = clf.predict(counts)

    for text, pred in zip(df.text, preds):
        print("\nSentiment: %s. Tweet: %s" % (pred, text))