Skip to content

Instantly share code, notes, and snippets.

@cast42
Created March 21, 2022 17:46
Show Gist options
  • Save cast42/95768e00a36aaa995f107241af93554b to your computer and use it in GitHub Desktop.
Save cast42/95768e00a36aaa995f107241af93554b to your computer and use it in GitHub Desktop.
Section_2_1_fake_news.ipynb
Display the source blob
Display the rendered blob
Raw
{
"nbformat": 4,
"nbformat_minor": 0,
"metadata": {
"colab": {
"name": "Section_2_1_fake_news.ipynb",
"provenance": [],
"authorship_tag": "ABX9TyNvU0Q+Gjeg/AR+UFWfuAKN",
"include_colab_link": true
},
"kernelspec": {
"name": "python3",
"display_name": "Python 3"
},
"language_info": {
"name": "python"
}
},
"cells": [
{
"cell_type": "markdown",
"metadata": {
"id": "view-in-github",
"colab_type": "text"
},
"source": [
"<a href=\"https://colab.research.google.com/gist/cast42/95768e00a36aaa995f107241af93554b/section_2_1_fake_news.ipynb\" target=\"_parent\"><img src=\"https://colab.research.google.com/assets/colab-badge.svg\" alt=\"Open In Colab\"/></a>"
]
},
{
"cell_type": "code",
"execution_count": 1,
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "zc4EM76NbZFS",
"outputId": "bf900634-5bdb-47a9-a127-c53c9a535ab2"
},
"outputs": [
{
"output_type": "stream",
"name": "stdout",
"text": [
"Requirement already satisfied: pyreadr in /usr/local/lib/python3.7/dist-packages (0.4.4)\n",
"Requirement already satisfied: pandas>=1.2.0 in /usr/local/lib/python3.7/dist-packages (from pyreadr) (1.3.5)\n",
"Requirement already satisfied: pytz>=2017.3 in /usr/local/lib/python3.7/dist-packages (from pandas>=1.2.0->pyreadr) (2018.9)\n",
"Requirement already satisfied: numpy>=1.17.3 in /usr/local/lib/python3.7/dist-packages (from pandas>=1.2.0->pyreadr) (1.21.5)\n",
"Requirement already satisfied: python-dateutil>=2.7.3 in /usr/local/lib/python3.7/dist-packages (from pandas>=1.2.0->pyreadr) (2.8.2)\n",
"Requirement already satisfied: six>=1.5 in /usr/local/lib/python3.7/dist-packages (from python-dateutil>=2.7.3->pandas>=1.2.0->pyreadr) (1.15.0)\n",
"Requirement already satisfied: wget in /usr/local/lib/python3.7/dist-packages (3.2)\n"
]
}
],
"source": [
"!pip install pyreadr\n",
"!pip install wget"
]
},
{
"cell_type": "code",
"source": [
"import wget\n",
"import pandas as pd\n",
"import pyreadr\n",
"import matplotlib.pyplot as plt\n",
"import seaborn as sns"
],
"metadata": {
"id": "A4LNehG6e76-"
},
"execution_count": 2,
"outputs": []
},
{
"cell_type": "code",
"source": [
"!wget -O fake_news.rda https://github.com/bayes-rules/bayesrules/blob/master/data/fake_news.rda?raw=true"
],
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "DB4n18uZmUWd",
"outputId": "41f0fdd2-88ec-4503-8ed9-43983f02a294"
},
"execution_count": 3,
"outputs": [
{
"output_type": "stream",
"name": "stdout",
"text": [
"--2022-03-21 11:35:36-- https://github.com/bayes-rules/bayesrules/blob/master/data/fake_news.rda?raw=true\n",
"Resolving github.com (github.com)... 140.82.112.4\n",
"Connecting to github.com (github.com)|140.82.112.4|:443... connected.\n",
"HTTP request sent, awaiting response... 302 Found\n",
"Location: https://github.com/bayes-rules/bayesrules/raw/master/data/fake_news.rda [following]\n",
"--2022-03-21 11:35:37-- https://github.com/bayes-rules/bayesrules/raw/master/data/fake_news.rda\n",
"Reusing existing connection to github.com:443.\n",
"HTTP request sent, awaiting response... 302 Found\n",
"Location: https://raw.githubusercontent.com/bayes-rules/bayesrules/master/data/fake_news.rda [following]\n",
"--2022-03-21 11:35:37-- https://raw.githubusercontent.com/bayes-rules/bayesrules/master/data/fake_news.rda\n",
"Resolving raw.githubusercontent.com (raw.githubusercontent.com)... 185.199.109.133, 185.199.108.133, 185.199.111.133, ...\n",
"Connecting to raw.githubusercontent.com (raw.githubusercontent.com)|185.199.109.133|:443... connected.\n",
"HTTP request sent, awaiting response... 200 OK\n",
"Length: 163161 (159K) [application/octet-stream]\n",
"Saving to: ‘fake_news.rda’\n",
"\n",
"fake_news.rda 100%[===================>] 159.34K --.-KB/s in 0.02s \n",
"\n",
"2022-03-21 11:35:37 (10.1 MB/s) - ‘fake_news.rda’ saved [163161/163161]\n",
"\n"
]
}
]
},
{
"cell_type": "code",
"source": [
"# fake_news_url = r'https://github.com/bayes-rules/bayesrules/blob/master/data/fake_news.rda?raw=true' \n",
"# wget.download(fake_news_url, 'fake_news.rda')\n",
"result = pyreadr.read_r('/content/fake_news.rda')"
],
"metadata": {
"id": "C-Y4aoWTeUG7"
},
"execution_count": 4,
"outputs": []
},
{
"cell_type": "code",
"source": [
"df = result['fake_news']"
],
"metadata": {
"id": "JQv_DgLiqW1k"
},
"execution_count": 5,
"outputs": []
},
{
"cell_type": "code",
"source": [
"df.head()"
],
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/",
"height": 734
},
"id": "-062YnYsrdvC",
"outputId": "c083c5ff-764d-4dc7-a56c-c32cbab75782"
},
"execution_count": 6,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
" title \\\n",
"0 Clinton's Exploited Haiti Earthquake ‘to Steal... \n",
"1 Donald Trump Jr. Just Pinned A Tweet So Stupid... \n",
"2 Michelle Obama NOT Leaving The White House – H... \n",
"3 Trump hits Clinton on Islamic State: ‘It is ti... \n",
"4 Australia Voted To Ban Muslims And Liberals Ar... \n",
"\n",
" text \\\n",
"0 0 SHARES Facebook Twitter\\n\\nBernard Sansaricq... \n",
"1 \\n\\nPosted by Frank Wilkenmeyer on 19 Sep 2016... \n",
"2 Michelle Obama NOT Leaving The White House – H... \n",
"3 “Crooked Hillary has been fighting ISIS, or wh... \n",
"4 When Donald Trump said that he wanted to ban M... \n",
"\n",
" url authors \\\n",
"0 http://freedomdaily.com/former-haitian-senate-... NaN \n",
"1 http://winningdemocrats.com/donald-trump-jr-ju... NaN \n",
"2 http://rightwingnews.com/top-news/michelle-oba... Sierra Marlee \n",
"3 http://politi.co/2cEsAnL Jack Shafer,Nolan D \n",
"4 https://goo.gl/p7jFZG Blair Patterson \n",
"\n",
" type title_words text_words title_char text_char title_caps ... \\\n",
"0 fake 17 219 110 1444 0 ... \n",
"1 real 18 509 95 3016 0 ... \n",
"2 fake 16 494 96 2881 1 ... \n",
"3 real 11 268 60 1674 0 ... \n",
"4 fake 9 479 54 2813 0 ... \n",
"\n",
" disgust fear joy sadness surprise trust negative positive \\\n",
"0 2.54 3.81 1.27 4.66 2.12 2.97 8.47 3.81 \n",
"1 1.90 1.90 1.71 1.33 1.14 4.17 4.74 4.93 \n",
"2 0.98 1.57 1.96 0.78 1.18 3.73 3.33 5.49 \n",
"3 1.79 4.30 0.36 1.79 1.79 2.51 6.09 2.15 \n",
"4 0.41 0.82 1.23 0.82 0.82 2.46 2.66 4.30 \n",
"\n",
" text_syllables text_syllables_per_word \n",
"0 395 1.803653 \n",
"1 845 1.660118 \n",
"2 806 1.631579 \n",
"3 461 1.720149 \n",
"4 761 1.588727 \n",
"\n",
"[5 rows x 30 columns]"
],
"text/html": [
"\n",
" <div id=\"df-c6a4e85c-8511-4741-9a9e-dd4faaacdf79\">\n",
" <div class=\"colab-df-container\">\n",
" <div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>title</th>\n",
" <th>text</th>\n",
" <th>url</th>\n",
" <th>authors</th>\n",
" <th>type</th>\n",
" <th>title_words</th>\n",
" <th>text_words</th>\n",
" <th>title_char</th>\n",
" <th>text_char</th>\n",
" <th>title_caps</th>\n",
" <th>...</th>\n",
" <th>disgust</th>\n",
" <th>fear</th>\n",
" <th>joy</th>\n",
" <th>sadness</th>\n",
" <th>surprise</th>\n",
" <th>trust</th>\n",
" <th>negative</th>\n",
" <th>positive</th>\n",
" <th>text_syllables</th>\n",
" <th>text_syllables_per_word</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>Clinton's Exploited Haiti Earthquake ‘to Steal...</td>\n",
" <td>0 SHARES Facebook Twitter\\n\\nBernard Sansaricq...</td>\n",
" <td>http://freedomdaily.com/former-haitian-senate-...</td>\n",
" <td>NaN</td>\n",
" <td>fake</td>\n",
" <td>17</td>\n",
" <td>219</td>\n",
" <td>110</td>\n",
" <td>1444</td>\n",
" <td>0</td>\n",
" <td>...</td>\n",
" <td>2.54</td>\n",
" <td>3.81</td>\n",
" <td>1.27</td>\n",
" <td>4.66</td>\n",
" <td>2.12</td>\n",
" <td>2.97</td>\n",
" <td>8.47</td>\n",
" <td>3.81</td>\n",
" <td>395</td>\n",
" <td>1.803653</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>Donald Trump Jr. Just Pinned A Tweet So Stupid...</td>\n",
" <td>\\n\\nPosted by Frank Wilkenmeyer on 19 Sep 2016...</td>\n",
" <td>http://winningdemocrats.com/donald-trump-jr-ju...</td>\n",
" <td>NaN</td>\n",
" <td>real</td>\n",
" <td>18</td>\n",
" <td>509</td>\n",
" <td>95</td>\n",
" <td>3016</td>\n",
" <td>0</td>\n",
" <td>...</td>\n",
" <td>1.90</td>\n",
" <td>1.90</td>\n",
" <td>1.71</td>\n",
" <td>1.33</td>\n",
" <td>1.14</td>\n",
" <td>4.17</td>\n",
" <td>4.74</td>\n",
" <td>4.93</td>\n",
" <td>845</td>\n",
" <td>1.660118</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>Michelle Obama NOT Leaving The White House – H...</td>\n",
" <td>Michelle Obama NOT Leaving The White House – H...</td>\n",
" <td>http://rightwingnews.com/top-news/michelle-oba...</td>\n",
" <td>Sierra Marlee</td>\n",
" <td>fake</td>\n",
" <td>16</td>\n",
" <td>494</td>\n",
" <td>96</td>\n",
" <td>2881</td>\n",
" <td>1</td>\n",
" <td>...</td>\n",
" <td>0.98</td>\n",
" <td>1.57</td>\n",
" <td>1.96</td>\n",
" <td>0.78</td>\n",
" <td>1.18</td>\n",
" <td>3.73</td>\n",
" <td>3.33</td>\n",
" <td>5.49</td>\n",
" <td>806</td>\n",
" <td>1.631579</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>Trump hits Clinton on Islamic State: ‘It is ti...</td>\n",
" <td>“Crooked Hillary has been fighting ISIS, or wh...</td>\n",
" <td>http://politi.co/2cEsAnL</td>\n",
" <td>Jack Shafer,Nolan D</td>\n",
" <td>real</td>\n",
" <td>11</td>\n",
" <td>268</td>\n",
" <td>60</td>\n",
" <td>1674</td>\n",
" <td>0</td>\n",
" <td>...</td>\n",
" <td>1.79</td>\n",
" <td>4.30</td>\n",
" <td>0.36</td>\n",
" <td>1.79</td>\n",
" <td>1.79</td>\n",
" <td>2.51</td>\n",
" <td>6.09</td>\n",
" <td>2.15</td>\n",
" <td>461</td>\n",
" <td>1.720149</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>Australia Voted To Ban Muslims And Liberals Ar...</td>\n",
" <td>When Donald Trump said that he wanted to ban M...</td>\n",
" <td>https://goo.gl/p7jFZG</td>\n",
" <td>Blair Patterson</td>\n",
" <td>fake</td>\n",
" <td>9</td>\n",
" <td>479</td>\n",
" <td>54</td>\n",
" <td>2813</td>\n",
" <td>0</td>\n",
" <td>...</td>\n",
" <td>0.41</td>\n",
" <td>0.82</td>\n",
" <td>1.23</td>\n",
" <td>0.82</td>\n",
" <td>0.82</td>\n",
" <td>2.46</td>\n",
" <td>2.66</td>\n",
" <td>4.30</td>\n",
" <td>761</td>\n",
" <td>1.588727</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"<p>5 rows × 30 columns</p>\n",
"</div>\n",
" <button class=\"colab-df-convert\" onclick=\"convertToInteractive('df-c6a4e85c-8511-4741-9a9e-dd4faaacdf79')\"\n",
" title=\"Convert this dataframe to an interactive table.\"\n",
" style=\"display:none;\">\n",
" \n",
" <svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24px\"viewBox=\"0 0 24 24\"\n",
" width=\"24px\">\n",
" <path d=\"M0 0h24v24H0V0z\" fill=\"none\"/>\n",
" <path d=\"M18.56 5.44l.94 2.06.94-2.06 2.06-.94-2.06-.94-.94-2.06-.94 2.06-2.06.94zm-11 1L8.5 8.5l.94-2.06 2.06-.94-2.06-.94L8.5 2.5l-.94 2.06-2.06.94zm10 10l.94 2.06.94-2.06 2.06-.94-2.06-.94-.94-2.06-.94 2.06-2.06.94z\"/><path d=\"M17.41 7.96l-1.37-1.37c-.4-.4-.92-.59-1.43-.59-.52 0-1.04.2-1.43.59L10.3 9.45l-7.72 7.72c-.78.78-.78 2.05 0 2.83L4 21.41c.39.39.9.59 1.41.59.51 0 1.02-.2 1.41-.59l7.78-7.78 2.81-2.81c.8-.78.8-2.07 0-2.86zM5.41 20L4 18.59l7.72-7.72 1.47 1.35L5.41 20z\"/>\n",
" </svg>\n",
" </button>\n",
" \n",
" <style>\n",
" .colab-df-container {\n",
" display:flex;\n",
" flex-wrap:wrap;\n",
" gap: 12px;\n",
" }\n",
"\n",
" .colab-df-convert {\n",
" background-color: #E8F0FE;\n",
" border: none;\n",
" border-radius: 50%;\n",
" cursor: pointer;\n",
" display: none;\n",
" fill: #1967D2;\n",
" height: 32px;\n",
" padding: 0 0 0 0;\n",
" width: 32px;\n",
" }\n",
"\n",
" .colab-df-convert:hover {\n",
" background-color: #E2EBFA;\n",
" box-shadow: 0px 1px 2px rgba(60, 64, 67, 0.3), 0px 1px 3px 1px rgba(60, 64, 67, 0.15);\n",
" fill: #174EA6;\n",
" }\n",
"\n",
" [theme=dark] .colab-df-convert {\n",
" background-color: #3B4455;\n",
" fill: #D2E3FC;\n",
" }\n",
"\n",
" [theme=dark] .colab-df-convert:hover {\n",
" background-color: #434B5C;\n",
" box-shadow: 0px 1px 3px 1px rgba(0, 0, 0, 0.15);\n",
" filter: drop-shadow(0px 1px 2px rgba(0, 0, 0, 0.3));\n",
" fill: #FFFFFF;\n",
" }\n",
" </style>\n",
"\n",
" <script>\n",
" const buttonEl =\n",
" document.querySelector('#df-c6a4e85c-8511-4741-9a9e-dd4faaacdf79 button.colab-df-convert');\n",
" buttonEl.style.display =\n",
" google.colab.kernel.accessAllowed ? 'block' : 'none';\n",
"\n",
" async function convertToInteractive(key) {\n",
" const element = document.querySelector('#df-c6a4e85c-8511-4741-9a9e-dd4faaacdf79');\n",
" const dataTable =\n",
" await google.colab.kernel.invokeFunction('convertToInteractive',\n",
" [key], {});\n",
" if (!dataTable) return;\n",
"\n",
" const docLinkHtml = 'Like what you see? Visit the ' +\n",
" '<a target=\"_blank\" href=https://colab.research.google.com/notebooks/data_table.ipynb>data table notebook</a>'\n",
" + ' to learn more about interactive tables.';\n",
" element.innerHTML = '';\n",
" dataTable['output_type'] = 'display_data';\n",
" await google.colab.output.renderOutput(dataTable, element);\n",
" const docLink = document.createElement('div');\n",
" docLink.innerHTML = docLinkHtml;\n",
" element.appendChild(docLink);\n",
" }\n",
" </script>\n",
" </div>\n",
" </div>\n",
" "
]
},
"metadata": {},
"execution_count": 6
}
]
},
{
"cell_type": "code",
"source": [
"pd.concat([df['type'].value_counts().rename('n'), df['type'].value_counts(normalize=True).rename('percent')], axis=1)"
],
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/",
"height": 112
},
"id": "qFA_-sfzrs9o",
"outputId": "b16560f5-621d-429a-a1f7-93ce92663686"
},
"execution_count": 7,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
" n percent\n",
"real 90 0.6\n",
"fake 60 0.4"
],
"text/html": [
"\n",
" <div id=\"df-31eb3ce0-91d1-43a5-bbd3-2849b2ec9244\">\n",
" <div class=\"colab-df-container\">\n",
" <div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>n</th>\n",
" <th>percent</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>real</th>\n",
" <td>90</td>\n",
" <td>0.6</td>\n",
" </tr>\n",
" <tr>\n",
" <th>fake</th>\n",
" <td>60</td>\n",
" <td>0.4</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>\n",
" <button class=\"colab-df-convert\" onclick=\"convertToInteractive('df-31eb3ce0-91d1-43a5-bbd3-2849b2ec9244')\"\n",
" title=\"Convert this dataframe to an interactive table.\"\n",
" style=\"display:none;\">\n",
" \n",
" <svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24px\"viewBox=\"0 0 24 24\"\n",
" width=\"24px\">\n",
" <path d=\"M0 0h24v24H0V0z\" fill=\"none\"/>\n",
" <path d=\"M18.56 5.44l.94 2.06.94-2.06 2.06-.94-2.06-.94-.94-2.06-.94 2.06-2.06.94zm-11 1L8.5 8.5l.94-2.06 2.06-.94-2.06-.94L8.5 2.5l-.94 2.06-2.06.94zm10 10l.94 2.06.94-2.06 2.06-.94-2.06-.94-.94-2.06-.94 2.06-2.06.94z\"/><path d=\"M17.41 7.96l-1.37-1.37c-.4-.4-.92-.59-1.43-.59-.52 0-1.04.2-1.43.59L10.3 9.45l-7.72 7.72c-.78.78-.78 2.05 0 2.83L4 21.41c.39.39.9.59 1.41.59.51 0 1.02-.2 1.41-.59l7.78-7.78 2.81-2.81c.8-.78.8-2.07 0-2.86zM5.41 20L4 18.59l7.72-7.72 1.47 1.35L5.41 20z\"/>\n",
" </svg>\n",
" </button>\n",
" \n",
" <style>\n",
" .colab-df-container {\n",
" display:flex;\n",
" flex-wrap:wrap;\n",
" gap: 12px;\n",
" }\n",
"\n",
" .colab-df-convert {\n",
" background-color: #E8F0FE;\n",
" border: none;\n",
" border-radius: 50%;\n",
" cursor: pointer;\n",
" display: none;\n",
" fill: #1967D2;\n",
" height: 32px;\n",
" padding: 0 0 0 0;\n",
" width: 32px;\n",
" }\n",
"\n",
" .colab-df-convert:hover {\n",
" background-color: #E2EBFA;\n",
" box-shadow: 0px 1px 2px rgba(60, 64, 67, 0.3), 0px 1px 3px 1px rgba(60, 64, 67, 0.15);\n",
" fill: #174EA6;\n",
" }\n",
"\n",
" [theme=dark] .colab-df-convert {\n",
" background-color: #3B4455;\n",
" fill: #D2E3FC;\n",
" }\n",
"\n",
" [theme=dark] .colab-df-convert:hover {\n",
" background-color: #434B5C;\n",
" box-shadow: 0px 1px 3px 1px rgba(0, 0, 0, 0.15);\n",
" filter: drop-shadow(0px 1px 2px rgba(0, 0, 0, 0.3));\n",
" fill: #FFFFFF;\n",
" }\n",
" </style>\n",
"\n",
" <script>\n",
" const buttonEl =\n",
" document.querySelector('#df-31eb3ce0-91d1-43a5-bbd3-2849b2ec9244 button.colab-df-convert');\n",
" buttonEl.style.display =\n",
" google.colab.kernel.accessAllowed ? 'block' : 'none';\n",
"\n",
" async function convertToInteractive(key) {\n",
" const element = document.querySelector('#df-31eb3ce0-91d1-43a5-bbd3-2849b2ec9244');\n",
" const dataTable =\n",
" await google.colab.kernel.invokeFunction('convertToInteractive',\n",
" [key], {});\n",
" if (!dataTable) return;\n",
"\n",
" const docLinkHtml = 'Like what you see? Visit the ' +\n",
" '<a target=\"_blank\" href=https://colab.research.google.com/notebooks/data_table.ipynb>data table notebook</a>'\n",
" + ' to learn more about interactive tables.';\n",
" element.innerHTML = '';\n",
" dataTable['output_type'] = 'display_data';\n",
" await google.colab.output.renderOutput(dataTable, element);\n",
" const docLink = document.createElement('div');\n",
" docLink.innerHTML = docLinkHtml;\n",
" element.appendChild(docLink);\n",
" }\n",
" </script>\n",
" </div>\n",
" </div>\n",
" "
]
},
"metadata": {},
"execution_count": 7
}
]
},
{
"cell_type": "code",
"source": [
"pd.crosstab(df['title_has_excl'], df['type'], margins=True)"
],
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/",
"height": 175
},
"id": "U_f7EOJSsceo",
"outputId": "6000c7b2-322d-4041-b266-56b87b010d9a"
},
"execution_count": 8,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"type fake real All\n",
"title_has_excl \n",
"False 44 88 132\n",
"True 16 2 18\n",
"All 60 90 150"
],
"text/html": [
"\n",
" <div id=\"df-1f628f27-09e0-4ba4-b642-48ea3a6d64bb\">\n",
" <div class=\"colab-df-container\">\n",
" <div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th>type</th>\n",
" <th>fake</th>\n",
" <th>real</th>\n",
" <th>All</th>\n",
" </tr>\n",
" <tr>\n",
" <th>title_has_excl</th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>False</th>\n",
" <td>44</td>\n",
" <td>88</td>\n",
" <td>132</td>\n",
" </tr>\n",
" <tr>\n",
" <th>True</th>\n",
" <td>16</td>\n",
" <td>2</td>\n",
" <td>18</td>\n",
" </tr>\n",
" <tr>\n",
" <th>All</th>\n",
" <td>60</td>\n",
" <td>90</td>\n",
" <td>150</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>\n",
" <button class=\"colab-df-convert\" onclick=\"convertToInteractive('df-1f628f27-09e0-4ba4-b642-48ea3a6d64bb')\"\n",
" title=\"Convert this dataframe to an interactive table.\"\n",
" style=\"display:none;\">\n",
" \n",
" <svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24px\"viewBox=\"0 0 24 24\"\n",
" width=\"24px\">\n",
" <path d=\"M0 0h24v24H0V0z\" fill=\"none\"/>\n",
" <path d=\"M18.56 5.44l.94 2.06.94-2.06 2.06-.94-2.06-.94-.94-2.06-.94 2.06-2.06.94zm-11 1L8.5 8.5l.94-2.06 2.06-.94-2.06-.94L8.5 2.5l-.94 2.06-2.06.94zm10 10l.94 2.06.94-2.06 2.06-.94-2.06-.94-.94-2.06-.94 2.06-2.06.94z\"/><path d=\"M17.41 7.96l-1.37-1.37c-.4-.4-.92-.59-1.43-.59-.52 0-1.04.2-1.43.59L10.3 9.45l-7.72 7.72c-.78.78-.78 2.05 0 2.83L4 21.41c.39.39.9.59 1.41.59.51 0 1.02-.2 1.41-.59l7.78-7.78 2.81-2.81c.8-.78.8-2.07 0-2.86zM5.41 20L4 18.59l7.72-7.72 1.47 1.35L5.41 20z\"/>\n",
" </svg>\n",
" </button>\n",
" \n",
" <style>\n",
" .colab-df-container {\n",
" display:flex;\n",
" flex-wrap:wrap;\n",
" gap: 12px;\n",
" }\n",
"\n",
" .colab-df-convert {\n",
" background-color: #E8F0FE;\n",
" border: none;\n",
" border-radius: 50%;\n",
" cursor: pointer;\n",
" display: none;\n",
" fill: #1967D2;\n",
" height: 32px;\n",
" padding: 0 0 0 0;\n",
" width: 32px;\n",
" }\n",
"\n",
" .colab-df-convert:hover {\n",
" background-color: #E2EBFA;\n",
" box-shadow: 0px 1px 2px rgba(60, 64, 67, 0.3), 0px 1px 3px 1px rgba(60, 64, 67, 0.15);\n",
" fill: #174EA6;\n",
" }\n",
"\n",
" [theme=dark] .colab-df-convert {\n",
" background-color: #3B4455;\n",
" fill: #D2E3FC;\n",
" }\n",
"\n",
" [theme=dark] .colab-df-convert:hover {\n",
" background-color: #434B5C;\n",
" box-shadow: 0px 1px 3px 1px rgba(0, 0, 0, 0.15);\n",
" filter: drop-shadow(0px 1px 2px rgba(0, 0, 0, 0.3));\n",
" fill: #FFFFFF;\n",
" }\n",
" </style>\n",
"\n",
" <script>\n",
" const buttonEl =\n",
" document.querySelector('#df-1f628f27-09e0-4ba4-b642-48ea3a6d64bb button.colab-df-convert');\n",
" buttonEl.style.display =\n",
" google.colab.kernel.accessAllowed ? 'block' : 'none';\n",
"\n",
" async function convertToInteractive(key) {\n",
" const element = document.querySelector('#df-1f628f27-09e0-4ba4-b642-48ea3a6d64bb');\n",
" const dataTable =\n",
" await google.colab.kernel.invokeFunction('convertToInteractive',\n",
" [key], {});\n",
" if (!dataTable) return;\n",
"\n",
" const docLinkHtml = 'Like what you see? Visit the ' +\n",
" '<a target=\"_blank\" href=https://colab.research.google.com/notebooks/data_table.ipynb>data table notebook</a>'\n",
" + ' to learn more about interactive tables.';\n",
" element.innerHTML = '';\n",
" dataTable['output_type'] = 'display_data';\n",
" await google.colab.output.renderOutput(dataTable, element);\n",
" const docLink = document.createElement('div');\n",
" docLink.innerHTML = docLinkHtml;\n",
" element.appendChild(docLink);\n",
" }\n",
" </script>\n",
" </div>\n",
" </div>\n",
" "
]
},
"metadata": {},
"execution_count": 8
}
]
},
{
"cell_type": "code",
"source": [
"article = pd.Series([\"real\", \"fake\"], dtype=\"category\")"
],
"metadata": {
"id": "CSD3J_nAtKy_"
},
"execution_count": 9,
"outputs": []
},
{
"cell_type": "code",
"source": [
"prior = pd.Series([0.6, 0.4])"
],
"metadata": {
"id": "Fdcm9bzXt5WW"
},
"execution_count": 10,
"outputs": []
},
{
"cell_type": "code",
"source": [
"df_sample = pd.DataFrame({'type': article, 'weights' : prior})"
],
"metadata": {
"id": "druWCfh8uw3a"
},
"execution_count": 11,
"outputs": []
},
{
"cell_type": "code",
"source": [
"df_sample.sample(3, replace=True, random_state=1301, weights='weights')"
],
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/",
"height": 143
},
"id": "SE2DSMdyuBRB",
"outputId": "9335f1a6-53f8-4c26-f83c-0f0a910263b1"
},
"execution_count": 12,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
" type weights\n",
"0 real 0.6\n",
"1 fake 0.4\n",
"0 real 0.6"
],
"text/html": [
"\n",
" <div id=\"df-5c75dedd-b3a3-483b-8d42-271e5f344537\">\n",
" <div class=\"colab-df-container\">\n",
" <div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>type</th>\n",
" <th>weights</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>real</td>\n",
" <td>0.6</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>fake</td>\n",
" <td>0.4</td>\n",
" </tr>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>real</td>\n",
" <td>0.6</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>\n",
" <button class=\"colab-df-convert\" onclick=\"convertToInteractive('df-5c75dedd-b3a3-483b-8d42-271e5f344537')\"\n",
" title=\"Convert this dataframe to an interactive table.\"\n",
" style=\"display:none;\">\n",
" \n",
" <svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24px\"viewBox=\"0 0 24 24\"\n",
" width=\"24px\">\n",
" <path d=\"M0 0h24v24H0V0z\" fill=\"none\"/>\n",
" <path d=\"M18.56 5.44l.94 2.06.94-2.06 2.06-.94-2.06-.94-.94-2.06-.94 2.06-2.06.94zm-11 1L8.5 8.5l.94-2.06 2.06-.94-2.06-.94L8.5 2.5l-.94 2.06-2.06.94zm10 10l.94 2.06.94-2.06 2.06-.94-2.06-.94-.94-2.06-.94 2.06-2.06.94z\"/><path d=\"M17.41 7.96l-1.37-1.37c-.4-.4-.92-.59-1.43-.59-.52 0-1.04.2-1.43.59L10.3 9.45l-7.72 7.72c-.78.78-.78 2.05 0 2.83L4 21.41c.39.39.9.59 1.41.59.51 0 1.02-.2 1.41-.59l7.78-7.78 2.81-2.81c.8-.78.8-2.07 0-2.86zM5.41 20L4 18.59l7.72-7.72 1.47 1.35L5.41 20z\"/>\n",
" </svg>\n",
" </button>\n",
" \n",
" <style>\n",
" .colab-df-container {\n",
" display:flex;\n",
" flex-wrap:wrap;\n",
" gap: 12px;\n",
" }\n",
"\n",
" .colab-df-convert {\n",
" background-color: #E8F0FE;\n",
" border: none;\n",
" border-radius: 50%;\n",
" cursor: pointer;\n",
" display: none;\n",
" fill: #1967D2;\n",
" height: 32px;\n",
" padding: 0 0 0 0;\n",
" width: 32px;\n",
" }\n",
"\n",
" .colab-df-convert:hover {\n",
" background-color: #E2EBFA;\n",
" box-shadow: 0px 1px 2px rgba(60, 64, 67, 0.3), 0px 1px 3px 1px rgba(60, 64, 67, 0.15);\n",
" fill: #174EA6;\n",
" }\n",
"\n",
" [theme=dark] .colab-df-convert {\n",
" background-color: #3B4455;\n",
" fill: #D2E3FC;\n",
" }\n",
"\n",
" [theme=dark] .colab-df-convert:hover {\n",
" background-color: #434B5C;\n",
" box-shadow: 0px 1px 3px 1px rgba(0, 0, 0, 0.15);\n",
" filter: drop-shadow(0px 1px 2px rgba(0, 0, 0, 0.3));\n",
" fill: #FFFFFF;\n",
" }\n",
" </style>\n",
"\n",
" <script>\n",
" const buttonEl =\n",
" document.querySelector('#df-5c75dedd-b3a3-483b-8d42-271e5f344537 button.colab-df-convert');\n",
" buttonEl.style.display =\n",
" google.colab.kernel.accessAllowed ? 'block' : 'none';\n",
"\n",
" async function convertToInteractive(key) {\n",
" const element = document.querySelector('#df-5c75dedd-b3a3-483b-8d42-271e5f344537');\n",
" const dataTable =\n",
" await google.colab.kernel.invokeFunction('convertToInteractive',\n",
" [key], {});\n",
" if (!dataTable) return;\n",
"\n",
" const docLinkHtml = 'Like what you see? Visit the ' +\n",
" '<a target=\"_blank\" href=https://colab.research.google.com/notebooks/data_table.ipynb>data table notebook</a>'\n",
" + ' to learn more about interactive tables.';\n",
" element.innerHTML = '';\n",
" dataTable['output_type'] = 'display_data';\n",
" await google.colab.output.renderOutput(dataTable, element);\n",
" const docLink = document.createElement('div');\n",
" docLink.innerHTML = docLinkHtml;\n",
" element.appendChild(docLink);\n",
" }\n",
" </script>\n",
" </div>\n",
" </div>\n",
" "
]
},
"metadata": {},
"execution_count": 12
}
]
},
{
"cell_type": "code",
"source": [
"article_sim = df_sample.sample(10_000, replace=True, random_state=84735, weights='weights')"
],
"metadata": {
"id": "sjay1_dbuHvg"
},
"execution_count": 13,
"outputs": []
},
{
"cell_type": "code",
"source": [
"ax = article_sim['type'].value_counts().plot.bar(rot=0);\n",
"ax.set_xlabel('type');\n",
"ax.set(title='FIGURE 2.2: A bar plot of the fake vs real status of 10,000 simulated articles.');"
],
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/",
"height": 295
},
"id": "5mn1iRE7vhzZ",
"outputId": "c57bff56-795d-4e13-acd0-bc2d0be9ba1f"
},
"execution_count": 14,
"outputs": [
{
"output_type": "display_data",
"data": {
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
],
"image/png": "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\n"
},
"metadata": {
"needs_background": "light"
}
}
]
},
{
"cell_type": "code",
"source": [
"article_sim['type'].value_counts()"
],
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/"
},
"id": "BblZxGL_vrdZ",
"outputId": "2be398f7-3977-4df8-f434-77f1ae3f140a"
},
"execution_count": 15,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"real 6062\n",
"fake 3938\n",
"Name: type, dtype: int64"
]
},
"metadata": {},
"execution_count": 15
}
]
},
{
"cell_type": "code",
"source": [
"article_sim['data_model'] = article_sim['type'].map({'fake': 0.2667, 'real':0.0222})\n",
"article_sim.head()"
],
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/",
"height": 206
},
"id": "J0-OLIKowG5Z",
"outputId": "6aed8059-7438-4ec8-dfdc-325be0a76a0f"
},
"execution_count": 16,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
" type weights data_model\n",
"0 real 0.6 0.0222\n",
"1 fake 0.4 0.2667\n",
"1 fake 0.4 0.2667\n",
"1 fake 0.4 0.2667\n",
"1 fake 0.4 0.2667"
],
"text/html": [
"\n",
" <div id=\"df-60313778-4173-46c0-983f-a504e8f2d5e8\">\n",
" <div class=\"colab-df-container\">\n",
" <div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>type</th>\n",
" <th>weights</th>\n",
" <th>data_model</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>real</td>\n",
" <td>0.6</td>\n",
" <td>0.0222</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>fake</td>\n",
" <td>0.4</td>\n",
" <td>0.2667</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>fake</td>\n",
" <td>0.4</td>\n",
" <td>0.2667</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>fake</td>\n",
" <td>0.4</td>\n",
" <td>0.2667</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>fake</td>\n",
" <td>0.4</td>\n",
" <td>0.2667</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>\n",
" <button class=\"colab-df-convert\" onclick=\"convertToInteractive('df-60313778-4173-46c0-983f-a504e8f2d5e8')\"\n",
" title=\"Convert this dataframe to an interactive table.\"\n",
" style=\"display:none;\">\n",
" \n",
" <svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24px\"viewBox=\"0 0 24 24\"\n",
" width=\"24px\">\n",
" <path d=\"M0 0h24v24H0V0z\" fill=\"none\"/>\n",
" <path d=\"M18.56 5.44l.94 2.06.94-2.06 2.06-.94-2.06-.94-.94-2.06-.94 2.06-2.06.94zm-11 1L8.5 8.5l.94-2.06 2.06-.94-2.06-.94L8.5 2.5l-.94 2.06-2.06.94zm10 10l.94 2.06.94-2.06 2.06-.94-2.06-.94-.94-2.06-.94 2.06-2.06.94z\"/><path d=\"M17.41 7.96l-1.37-1.37c-.4-.4-.92-.59-1.43-.59-.52 0-1.04.2-1.43.59L10.3 9.45l-7.72 7.72c-.78.78-.78 2.05 0 2.83L4 21.41c.39.39.9.59 1.41.59.51 0 1.02-.2 1.41-.59l7.78-7.78 2.81-2.81c.8-.78.8-2.07 0-2.86zM5.41 20L4 18.59l7.72-7.72 1.47 1.35L5.41 20z\"/>\n",
" </svg>\n",
" </button>\n",
" \n",
" <style>\n",
" .colab-df-container {\n",
" display:flex;\n",
" flex-wrap:wrap;\n",
" gap: 12px;\n",
" }\n",
"\n",
" .colab-df-convert {\n",
" background-color: #E8F0FE;\n",
" border: none;\n",
" border-radius: 50%;\n",
" cursor: pointer;\n",
" display: none;\n",
" fill: #1967D2;\n",
" height: 32px;\n",
" padding: 0 0 0 0;\n",
" width: 32px;\n",
" }\n",
"\n",
" .colab-df-convert:hover {\n",
" background-color: #E2EBFA;\n",
" box-shadow: 0px 1px 2px rgba(60, 64, 67, 0.3), 0px 1px 3px 1px rgba(60, 64, 67, 0.15);\n",
" fill: #174EA6;\n",
" }\n",
"\n",
" [theme=dark] .colab-df-convert {\n",
" background-color: #3B4455;\n",
" fill: #D2E3FC;\n",
" }\n",
"\n",
" [theme=dark] .colab-df-convert:hover {\n",
" background-color: #434B5C;\n",
" box-shadow: 0px 1px 3px 1px rgba(0, 0, 0, 0.15);\n",
" filter: drop-shadow(0px 1px 2px rgba(0, 0, 0, 0.3));\n",
" fill: #FFFFFF;\n",
" }\n",
" </style>\n",
"\n",
" <script>\n",
" const buttonEl =\n",
" document.querySelector('#df-60313778-4173-46c0-983f-a504e8f2d5e8 button.colab-df-convert');\n",
" buttonEl.style.display =\n",
" google.colab.kernel.accessAllowed ? 'block' : 'none';\n",
"\n",
" async function convertToInteractive(key) {\n",
" const element = document.querySelector('#df-60313778-4173-46c0-983f-a504e8f2d5e8');\n",
" const dataTable =\n",
" await google.colab.kernel.invokeFunction('convertToInteractive',\n",
" [key], {});\n",
" if (!dataTable) return;\n",
"\n",
" const docLinkHtml = 'Like what you see? Visit the ' +\n",
" '<a target=\"_blank\" href=https://colab.research.google.com/notebooks/data_table.ipynb>data table notebook</a>'\n",
" + ' to learn more about interactive tables.';\n",
" element.innerHTML = '';\n",
" dataTable['output_type'] = 'display_data';\n",
" await google.colab.output.renderOutput(dataTable, element);\n",
" const docLink = document.createElement('div');\n",
" docLink.innerHTML = docLinkHtml;\n",
" element.appendChild(docLink);\n",
" }\n",
" </script>\n",
" </div>\n",
" </div>\n",
" "
]
},
"metadata": {},
"execution_count": 16
}
]
},
{
"cell_type": "code",
"source": [
"import random"
],
"metadata": {
"id": "2d9dPV9exsgl"
},
"execution_count": 17,
"outputs": []
},
{
"cell_type": "code",
"source": [
"N_fake = (article_sim['type']=='fake').sum() # The number of artices that are fake\n",
"fake_yes = 0.2667 * N_fake # Number of fake article that have exclamation mark usage\n",
"fake_no = (1-0.2667) * N_fake # Number of fake article that not have exclamations markts uaage\n",
"N_real = (article_sim['type']=='real').sum() # The number of artices that are real\n",
"real_yes = 0.0222 * N_real # Number of real articles that have exclamation mark usage\n",
"real_no = (1 - 0.0222) * N_real # Number of real articles that not have exclamation mark usage\n",
"article_sim.loc[article_sim['type']=='fake', 'usage'] = random.choices(['no', 'yes'], weights=[fake_no, fake_yes], k=(article_sim['type']=='fake').sum())\n",
"article_sim.loc[article_sim['type']=='real', 'usage'] = random.choices(['no', 'yes'], weights=[real_no, real_yes], k=(article_sim['type']=='real').sum())"
],
"metadata": {
"id": "w3Hjyq7TA65m"
},
"execution_count": 18,
"outputs": []
},
{
"cell_type": "code",
"source": [
"pd.crosstab(article_sim['usage'], article_sim['type'], margins=True)"
],
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/",
"height": 175
},
"id": "O4csnKnyySAh",
"outputId": "f6a62234-8a8a-452b-fd09-b983b8b55b3b"
},
"execution_count": 19,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"type fake real All\n",
"usage \n",
"no 2874 5929 8803\n",
"yes 1064 133 1197\n",
"All 3938 6062 10000"
],
"text/html": [
"\n",
" <div id=\"df-b5190e4e-1aeb-4ca0-a42d-9937cad498fa\">\n",
" <div class=\"colab-df-container\">\n",
" <div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th>type</th>\n",
" <th>fake</th>\n",
" <th>real</th>\n",
" <th>All</th>\n",
" </tr>\n",
" <tr>\n",
" <th>usage</th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>no</th>\n",
" <td>2874</td>\n",
" <td>5929</td>\n",
" <td>8803</td>\n",
" </tr>\n",
" <tr>\n",
" <th>yes</th>\n",
" <td>1064</td>\n",
" <td>133</td>\n",
" <td>1197</td>\n",
" </tr>\n",
" <tr>\n",
" <th>All</th>\n",
" <td>3938</td>\n",
" <td>6062</td>\n",
" <td>10000</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>\n",
" <button class=\"colab-df-convert\" onclick=\"convertToInteractive('df-b5190e4e-1aeb-4ca0-a42d-9937cad498fa')\"\n",
" title=\"Convert this dataframe to an interactive table.\"\n",
" style=\"display:none;\">\n",
" \n",
" <svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24px\"viewBox=\"0 0 24 24\"\n",
" width=\"24px\">\n",
" <path d=\"M0 0h24v24H0V0z\" fill=\"none\"/>\n",
" <path d=\"M18.56 5.44l.94 2.06.94-2.06 2.06-.94-2.06-.94-.94-2.06-.94 2.06-2.06.94zm-11 1L8.5 8.5l.94-2.06 2.06-.94-2.06-.94L8.5 2.5l-.94 2.06-2.06.94zm10 10l.94 2.06.94-2.06 2.06-.94-2.06-.94-.94-2.06-.94 2.06-2.06.94z\"/><path d=\"M17.41 7.96l-1.37-1.37c-.4-.4-.92-.59-1.43-.59-.52 0-1.04.2-1.43.59L10.3 9.45l-7.72 7.72c-.78.78-.78 2.05 0 2.83L4 21.41c.39.39.9.59 1.41.59.51 0 1.02-.2 1.41-.59l7.78-7.78 2.81-2.81c.8-.78.8-2.07 0-2.86zM5.41 20L4 18.59l7.72-7.72 1.47 1.35L5.41 20z\"/>\n",
" </svg>\n",
" </button>\n",
" \n",
" <style>\n",
" .colab-df-container {\n",
" display:flex;\n",
" flex-wrap:wrap;\n",
" gap: 12px;\n",
" }\n",
"\n",
" .colab-df-convert {\n",
" background-color: #E8F0FE;\n",
" border: none;\n",
" border-radius: 50%;\n",
" cursor: pointer;\n",
" display: none;\n",
" fill: #1967D2;\n",
" height: 32px;\n",
" padding: 0 0 0 0;\n",
" width: 32px;\n",
" }\n",
"\n",
" .colab-df-convert:hover {\n",
" background-color: #E2EBFA;\n",
" box-shadow: 0px 1px 2px rgba(60, 64, 67, 0.3), 0px 1px 3px 1px rgba(60, 64, 67, 0.15);\n",
" fill: #174EA6;\n",
" }\n",
"\n",
" [theme=dark] .colab-df-convert {\n",
" background-color: #3B4455;\n",
" fill: #D2E3FC;\n",
" }\n",
"\n",
" [theme=dark] .colab-df-convert:hover {\n",
" background-color: #434B5C;\n",
" box-shadow: 0px 1px 3px 1px rgba(0, 0, 0, 0.15);\n",
" filter: drop-shadow(0px 1px 2px rgba(0, 0, 0, 0.3));\n",
" fill: #FFFFFF;\n",
" }\n",
" </style>\n",
"\n",
" <script>\n",
" const buttonEl =\n",
" document.querySelector('#df-b5190e4e-1aeb-4ca0-a42d-9937cad498fa button.colab-df-convert');\n",
" buttonEl.style.display =\n",
" google.colab.kernel.accessAllowed ? 'block' : 'none';\n",
"\n",
" async function convertToInteractive(key) {\n",
" const element = document.querySelector('#df-b5190e4e-1aeb-4ca0-a42d-9937cad498fa');\n",
" const dataTable =\n",
" await google.colab.kernel.invokeFunction('convertToInteractive',\n",
" [key], {});\n",
" if (!dataTable) return;\n",
"\n",
" const docLinkHtml = 'Like what you see? Visit the ' +\n",
" '<a target=\"_blank\" href=https://colab.research.google.com/notebooks/data_table.ipynb>data table notebook</a>'\n",
" + ' to learn more about interactive tables.';\n",
" element.innerHTML = '';\n",
" dataTable['output_type'] = 'display_data';\n",
" await google.colab.output.renderOutput(dataTable, element);\n",
" const docLink = document.createElement('div');\n",
" docLink.innerHTML = docLinkHtml;\n",
" element.appendChild(docLink);\n",
" }\n",
" </script>\n",
" </div>\n",
" </div>\n",
" "
]
},
"metadata": {},
"execution_count": 19
}
]
},
{
"cell_type": "code",
"source": [
"fix, ax = plt.subplots(1, 2, figsize=(8, 4.5))\n",
"pd.crosstab(article_sim['type'], article_sim['usage']).plot(kind='bar', stacked=True, rot=0, ax=ax[0]);\n",
"sns.countplot(x='usage', data=article_sim, ax=ax[1]);\n",
"# article_sim['usage'].value_counts().plot.bar(rot=0, ax=ax[1]);\n",
"plt.suptitle('FIGURE 2.3: Bar plots of exclamation point usage, both within fake vs real news and overall.');\n",
"plt.subplots_adjust(top=0.15)\n",
"plt.tight_layout();"
],
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/",
"height": 324
},
"id": "YaXrLDKByeaR",
"outputId": "3e9ea604-3920-429e-ab2c-0c2eb58ed5c4"
},
"execution_count": 20,
"outputs": [
{
"output_type": "display_data",
"data": {
"text/plain": [
"<Figure size 576x324 with 2 Axes>"
],
"image/png": "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\n"
},
"metadata": {
"needs_background": "light"
}
}
]
},
{
"cell_type": "code",
"source": [
"# ax = article_sim['usage'].value_counts().plot.bar(rot=0);\n",
"# ax.set_xlabel('usage');"
],
"metadata": {
"id": "HyZ7H4-kz10L"
},
"execution_count": 21,
"outputs": []
},
{
"cell_type": "code",
"source": [
"# sns.catplot(x='usage', kind='count', data=article_sim);"
],
"metadata": {
"id": "sFn6iRUS1mBS"
},
"execution_count": 22,
"outputs": []
},
{
"cell_type": "code",
"source": [
"sns.catplot(x='usage', hue='type', data=article_sim, kind='count');\n",
"plt.title('FIGURE 2.4: Bar plots of real vs fake news, broken down by exclamation point usage.');"
],
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/",
"height": 385
},
"id": "dJX10TgL1YSI",
"outputId": "77ea1b7c-ab2c-4ce4-c7a8-c46cfa5c9db7"
},
"execution_count": 23,
"outputs": [
{
"output_type": "display_data",
"data": {
"text/plain": [
"<Figure size 417.25x360 with 1 Axes>"
],
"image/png": "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\n"
},
"metadata": {
"needs_background": "light"
}
}
]
},
{
"cell_type": "code",
"source": [
""
],
"metadata": {
"id": "PYNFr8UN20-N"
},
"execution_count": 23,
"outputs": []
}
]
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment