Skip to content

Instantly share code, notes, and snippets.

@maxkleiner
Created November 5, 2020 10:46
Show Gist options
  • Save maxkleiner/04be36466144a9ff32bbeb36dbbbf1b7 to your computer and use it in GitHub Desktop.
Save maxkleiner/04be36466144a9ff32bbeb36dbbbf1b7 to your computer and use it in GitHub Desktop.
sentimenttree.ipynb
Display the source blob
Display the rendered blob
Raw
{
"nbformat": 4,
"nbformat_minor": 0,
"metadata": {
"colab": {
"name": "sentimenttree.ipynb",
"provenance": [],
"authorship_tag": "ABX9TyP1XZ9ggJKBG4IyuD7yAu5h",
"include_colab_link": true
},
"kernelspec": {
"name": "python3",
"display_name": "Python 3"
}
},
"cells": [
{
"cell_type": "markdown",
"metadata": {
"id": "view-in-github",
"colab_type": "text"
},
"source": [
"<a href=\"https://colab.research.google.com/gist/maxkleiner/04be36466144a9ff32bbeb36dbbbf1b7/sentimenttree.ipynb\" target=\"_parent\"><img src=\"https://colab.research.google.com/assets/colab-badge.svg\" alt=\"Open In Colab\"/></a>"
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "pggupr0A9oOx"
},
"source": [
"# Sentiment Tree Classifier"
]
},
{
"cell_type": "code",
"metadata": {
"id": "04EukN1I80cD",
"outputId": "a0ff7b2b-bffe-488e-dfb6-744a279c2fc8",
"colab": {
"base_uri": "https://localhost:8080/"
}
},
"source": [
"# use a preclassifier dtree with high recall and then a second \n",
"# classifier SVC to sort false positives out!\n",
"# use SVC as classifier and dtree to plot decision\n",
"\n",
"from sklearn import tree\n",
"from sklearn.feature_extraction.text import CountVectorizer\n",
"from sklearn import svm\n",
"from sklearn.metrics import confusion_matrix\n",
"from sklearn.metrics import classification_report\n",
"\n",
"#https://ritza.co/showcase/repl.it/introduction-to-machine-learning-with-python-and-repl-it.html\n",
"\n",
"positive_texts = [\n",
" \"we love you\",\n",
" \"they love us\",\n",
" \"you are good\",\n",
" \"he is good\",\n",
" \"they love max\"\n",
"]\n",
"\n",
"negative_texts = [\n",
" \"we hate you\",\n",
" \"they hate us\",\n",
" \"you are bad\",\n",
" \"he is bad\",\n",
" \"we hate max\"\n",
"]\n",
"\n",
"test_texts = [\n",
" \"they love bad max\", # this is labeled as positive !\n",
" \"they are good\",\n",
" \"why do you hate mary\",\n",
" \"they are almost always good\",\n",
" \"we are very bad\"\n",
"]\n",
"\n",
"print('testset: ',test_texts)\n",
"\n",
"training_texts = negative_texts + positive_texts\n",
"training_labels = [\"neg\"] * len(negative_texts) + [\"pos\"] * len(positive_texts)\n",
"#print(training_labels)\n",
"\n",
"#mapping the words to numbers (bag of words)\n",
"vectorizer = CountVectorizer()\n",
"vectorizer.fit(training_texts)\n",
"print('vocabulary: ',vectorizer.vocabulary_)\n",
"\n",
"#vectorizer.fit(test_texts)\n",
"#print(vectorizer.vocabulary_)\n",
"\n",
"#You can join all lines and then use split: \n",
"print('unique words:',set(\" \".join(test_texts).split()))\n",
"#print(set([wo for line in test_texts for wo in line.split()]))\n",
"\n",
"training_vectors = vectorizer.transform(training_texts)\n",
"testing_vectors = vectorizer.transform(test_texts)\n",
"\n",
"classifier = tree.DecisionTreeClassifier()\n",
"classifier.fit(training_vectors, training_labels)\n",
"predictions = classifier.predict(testing_vectors)\n",
"print('predict: ',predictions)\n",
"#print('testset: ',test_texts)\n",
"\n",
"#http://www.webgraphviz.com/\n",
"tree.export_graphviz(\n",
" classifier,\n",
" out_file='maxtree.dot',\n",
" feature_names=vectorizer.get_feature_names(),\n",
")\n",
"\n",
"\n",
"\n",
"# Create a linear SVM classifier\n",
"clf = svm.SVC(kernel='linear')\n",
"# Train & learn classifier\n",
"clf.fit(training_vectors, training_labels)\n",
"\n",
"# Make predictions on unseen test data\n",
"clf_predictions = clf.predict(testing_vectors)\n",
"print('predict SVC: ',clf_predictions)\n",
"test_labels=['pos','pos','neg','pos','neg']\n",
"print(\"Accuracy: {}%\".format(clf.score(testing_vectors,test_labels)*100))\n",
"\n",
"y_test = test_labels\n",
"y_pred = clf_predictions\n",
"\n",
"print('actual:',y_test)\n",
"print('predic:',y_pred)\n",
"\n",
"print('confusion matrix - classification report \\n')\n",
"print(confusion_matrix(y_test, y_pred))\n",
"print(classification_report(y_test, y_pred))"
],
"execution_count": 9,
"outputs": [
{
"output_type": "stream",
"text": [
"testset: ['they love bad max', 'they are good', 'why do you hate mary', 'they are almost always good', 'we are very bad']\n",
"vocabulary: {'we': 10, 'hate': 3, 'you': 11, 'they': 8, 'us': 9, 'are': 0, 'bad': 1, 'he': 4, 'is': 5, 'max': 7, 'love': 6, 'good': 2}\n",
"unique words: {'love', 'good', 'max', 'are', 'mary', 'almost', 'very', 'you', 'bad', 'hate', 'we', 'always', 'they', 'why', 'do'}\n",
"predict: ['pos' 'pos' 'neg' 'pos' 'neg']\n",
"predict SVC: ['neg' 'pos' 'neg' 'pos' 'neg']\n",
"Accuracy: 80.0%\n",
"actual: ['pos', 'pos', 'neg', 'pos', 'neg']\n",
"predic: ['neg' 'pos' 'neg' 'pos' 'neg']\n",
"confusion matrix - classification report \n",
"\n",
"[[2 0]\n",
" [1 2]]\n",
" precision recall f1-score support\n",
"\n",
" neg 0.67 1.00 0.80 2\n",
" pos 1.00 0.67 0.80 3\n",
"\n",
" accuracy 0.80 5\n",
" macro avg 0.83 0.83 0.80 5\n",
"weighted avg 0.87 0.80 0.80 5\n",
"\n"
],
"name": "stdout"
}
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "fRVScZB4-uDt"
},
"source": [
"![image.png](data:image/png;base64,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3ZROsWPHDjrooIPohRde8N0UAMSAlHvAG97wBjrttNN8N6Nz/PWvf6WNGzfSpZde6rspAIgBKXecb37zm6SUol/96le+m9JJPvvZz9KGDRvoL3/5i++mACACpNxxDj/8cPrQhz7kuxmd5cUXX6SXv/zldMEFF/huCgAiQMod5sorr6Q1a9bQk08+6bspnea6664jpRQlSeK7KQA0BlLuKP/85z9p3333pYsuush3U3rBMcccQ+973/t8NwOAxkDKHWV1dZVe+tKX0nPPPee7Kb0grTr985//3HdTAGgEpNxBHn/8cVJK0Re/+EXfTekVb3vb2+jtb3+772YA0AhIuYOce+65tHXrVt/N6B0/+9nPSClFt9xyi++mAFAbSLljPPjgg6SUou985zu+m9JL3vve99JrX/ta380AoDaQcsd417veRccff7zvZvSW3/zmN6SUoq9+9au+mwJALSDlDnHHHXeQUop+/OMf+25Krzn//PPp4IMPpv/973++mwLAwkDKHeKNb3wjvfvd7/bdjN7z9NNP08rKCl122WW+mwLAwkDKHeFb3/oWKaXol7/8pe+mDIKdO3fSpk2b6G9/+5vvpgCwEJByR3jlK19JH/jAB3w3YzA8//zzdOCBB9JHP/pR300BYCEg5Q7w+c9/npRS9MQTT/huyqC49tprSSlFv/3tb303BYDKQMqe+de//kUveclL6BOf+ITvpgySo446isIw9N0MACoDKXvmwgsvpP3335/+/e9/+27KIPne975HSim67777fDcFgEpAyi2xc+dOev755zOv/eEPfyClFH3hC1/w1KpxcOKJJ9Ipp5ySe/3hhx+mG2+80UOLALADKbfEkUceSQcccABde+21s9fe//7306te9SqPrRoH99xzDyml6LbbbiMioqeeeorOP/98UkrRZz7zGb+NA8AAUm6BF198kdasWUNr1qwhpRS9+tWvpssvv5yUUrRr1y7fzRsFp59+Or3uda+jnTt30vLyMm3YsIGUUhgXDjoHpNwCSZKQUmq27b333qSUooMOOojuuece380bBZ/85Cdp48aNtG7dOlq3bt3sszj00EN9Nw2ADJByC6Rr/ZrbPvvsQ0opOvXUU+mhhx7y3cxBcuONN9Lhhx9OSinauHFj7jNYWlry3UQAMkDKLXDppZfOHpe5bf369aSUovPOO4/27Nnj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)"
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "ZWnuFOm--XX5"
},
"source": [
"Because love or hate has 3 counts as discriminator in training set its easier to decide than good and bad with 2 ocurrences.\n"
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "LG5br5Vu95Ac"
},
"source": [
"![image.png](data:image/png;base64,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9NBDJISg73//+66b0gnOOussOuaYY1w3AwB2IOWe8O53v5ve+ta3um5GZ3jsscdICEFf//rXXTcFAFYg5R5w5513khCC7rnnHtdN6RRbt26lQw45hF588UXXTQGADUi5B7z5zW+m008/3XUzOsdf//pXWlpaossuu8x1UwBgA1LuON/+9rdJCEG//vWvXTelk3zhC1+gtWvX0l/+8hfXTQGABUi54xxxxBH00Y9+1HUzOstLL71Er3rVq+jCCy903RQAWICUO8xVV11Fq1atoqefftp1UzrN9ddfT0IISpLEdVMAaAyk3FH++c9/0v77708XX3yx66b0gmOPPZY++MEPum4GAI2BlDvK8vIyveIVr6Dnn3/edVN6QVp1+pe//KXrpgDQCEi5gzz55JMkhKCvfOUrrpvSK975znfSu971LtfNAKARkHIHOe+882jTpk2um9E7fvGLX5AQgm677TbXTQGgNpByx3j44YdJCEHf+973XDell3zgAx+gN7zhDa6bAUBtIOWO8d73vpdOOOEE183oLb/97W9JCEE33HCD66YAUAtIuUPcddddJISgn/70p66b0msuuOACOvTQQ+l///uf66YAMDOQcod4y1veQu973/tcN6P3rKys0OLiIl1++eWumwLAzEDKHeE73/kOCSHoV7/6leumeMG2bdto3bp19Le//c11UwCYCUi5I7zmNa+hD3/4w66b4Q0vvPACHXzwwfSJT3zCdVMAmAlIuQN86UtfIiEEPfXUU66b4hXXXXcdCSHod7/7neumAFAZSNkx//rXv+jlL385ffrTn3bdFC85+uijKQxD180AoDKQsmMuuugiOvDAA+nf//6366Z4yQ9+8AMSQtADDzzguikAVAJSbolt27bRCy+8kHntD3/4Awkh6Mtf/rKjVg2Dk046iU499dTc648++ijdfPPNDloEgBlIuSWOOuooOuigg+i6666bvPahD32IXvva1zps1TC47777SAhBd9xxBxERPfPMM3TBBReQEII+//nPu20cAAqQcgu89NJLtGrVKlq1ahUJIeh1r3sdXXHFFSSEoO3bt7tu3iA444wz6I1vfCNt27aNFhYWaO3atSSEwLhw0Dkg5RZIkoSEEJNt3333JSEEHXLIIXTfffe5bt4g+MxnPkNLS0u0evVqWr169eRvcdhhh7luGgAZIOUWSNf6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)"
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "zJcRJ6-_9Q_r"
},
"source": [
"# Sentiment Tree Classifier with Support Vector Machine and Decision Tree Graph"
]
}
]
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment