diff --git a/UMA12_ANTONIO_ProjektFakeNews.ipynb b/UMA12_ANTONIO_ProjektFakeNews.ipynb
deleted file mode 100644
index 3a7b648..0000000
--- a/UMA12_ANTONIO_ProjektFakeNews.ipynb
+++ /dev/null
@@ -1,550 +0,0 @@
-{
- "cells": [
- {
- "cell_type": "markdown",
- "id": "statewide-crown",
- "metadata": {},
- "source": [
- "**12. Projekt**\n",
- "================="
- ]
- },
- {
- "cell_type": "markdown",
- "id": "explicit-bunch",
- "metadata": {},
- "source": [
- "## **1. Cel projektu**"
- ]
- },
- {
- "cell_type": "markdown",
- "id": "encouraging-officer",
- "metadata": {},
- "source": [
- "#### Celem projektu jest przewidzenie ze zbioru danych jakie widomości są Fake Newsami, użyte algorytmy:\n",
- "* TfidfVectorizer\n",
- "* PassiveAggressiveClassifier\n",
- "\n",
- "Opis algorytmów.\n",
- "\n",
- "**TF (Term Frequency):** Liczba wystąpień danego słowa w dokumencie to jego częstotliwość występowania. Wyższa wartość oznacza, że dany termin pojawia się częściej niż inne, a zatem dokument jest dobrze dopasowany, jeśli termin ten jest częścią wyszukiwanych słów.\n",
- "\n",
- "Wektorator TfidfVectorizer przekształca zbiór dokumentów w macierz cech TF-IDF.\n",
- "\n",
- "**Algorytmy pasywno-agresywne** to algorytmy uczące się online. Taki algorytm pozostaje pasywny w przypadku poprawnego wyniku klasyfikacji, a staje się agresywny w przypadku błędnego obliczenia, aktualizując i dostosowując się. W przeciwieństwie do większości innych algorytmów nie jest on zbieżny. Jego zadaniem jest dokonywanie aktualizacji korygujących stratę, powodujących bardzo niewielkie zmiany w normie wektora wag.\n",
- "\n",
- "\n",
- "\n"
- ]
- },
- {
- "cell_type": "markdown",
- "id": "informal-filename",
- "metadata": {},
- "source": [
- "#### Dane news.csv wykorzstane do uczenia pochodzą ze strony https://paperswithcode.com/datasets?task=fake-news-detection"
- ]
- },
- {
- "cell_type": "markdown",
- "id": "beginning-minute",
- "metadata": {},
- "source": [
- "## **2. Importowanie potrzebnych bibliotek**"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "id": "effective-democracy",
- "metadata": {},
- "outputs": [],
- "source": [
- "import numpy as np\n",
- "import pandas as pd\n",
- "import itertools\n",
- "from sklearn.model_selection import train_test_split\n",
- "from sklearn.feature_extraction.text import TfidfVectorizer\n",
- "from sklearn.linear_model import PassiveAggressiveClassifier\n",
- "from sklearn.metrics import accuracy_score, confusion_matrix"
- ]
- },
- {
- "cell_type": "markdown",
- "id": "alternative-knock",
- "metadata": {},
- "source": [
- "## **3. Wczytanie danych**"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 56,
- "id": "worldwide-blake",
- "metadata": {},
- "outputs": [
- {
- "data": {
- "text/html": [
- "
\n",
- "\n",
- "
\n",
- " \n",
- " \n",
- " | \n",
- " Unnamed: 0 | \n",
- " title | \n",
- " text | \n",
- " label | \n",
- "
\n",
- " \n",
- " \n",
- " \n",
- " 0 | \n",
- " 8476 | \n",
- " You Can Smell Hillary’s Fear | \n",
- " Daniel Greenfield, a Shillman Journalism Fello... | \n",
- " FAKE | \n",
- "
\n",
- " \n",
- " 1 | \n",
- " 10294 | \n",
- " Watch The Exact Moment Paul Ryan Committed Pol... | \n",
- " Google Pinterest Digg Linkedin Reddit Stumbleu... | \n",
- " FAKE | \n",
- "
\n",
- " \n",
- " 2 | \n",
- " 3608 | \n",
- " Kerry to go to Paris in gesture of sympathy | \n",
- " U.S. Secretary of State John F. Kerry said Mon... | \n",
- " REAL | \n",
- "
\n",
- " \n",
- " 3 | \n",
- " 10142 | \n",
- " Bernie supporters on Twitter erupt in anger ag... | \n",
- " — Kaydee King (@KaydeeKing) November 9, 2016 T... | \n",
- " FAKE | \n",
- "
\n",
- " \n",
- " 4 | \n",
- " 875 | \n",
- " The Battle of New York: Why This Primary Matters | \n",
- " It's primary day in New York and front-runners... | \n",
- " REAL | \n",
- "
\n",
- " \n",
- " 5 | \n",
- " 6903 | \n",
- " Tehran, USA | \n",
- " \\nI’m not an immigrant, but my grandparents ... | \n",
- " FAKE | \n",
- "
\n",
- " \n",
- " 6 | \n",
- " 7341 | \n",
- " Girl Horrified At What She Watches Boyfriend D... | \n",
- " Share This Baylee Luciani (left), Screenshot o... | \n",
- " FAKE | \n",
- "
\n",
- " \n",
- " 7 | \n",
- " 95 | \n",
- " ‘Britain’s Schindler’ Dies at 106 | \n",
- " A Czech stockbroker who saved more than 650 Je... | \n",
- " REAL | \n",
- "
\n",
- " \n",
- " 8 | \n",
- " 4869 | \n",
- " Fact check: Trump and Clinton at the 'commande... | \n",
- " Hillary Clinton and Donald Trump made some ina... | \n",
- " REAL | \n",
- "
\n",
- " \n",
- " 9 | \n",
- " 2909 | \n",
- " Iran reportedly makes new push for uranium con... | \n",
- " Iranian negotiators reportedly have made a las... | \n",
- " REAL | \n",
- "
\n",
- " \n",
- " 10 | \n",
- " 1357 | \n",
- " With all three Clintons in Iowa, a glimpse at ... | \n",
- " CEDAR RAPIDS, Iowa — “I had one of the most wo... | \n",
- " REAL | \n",
- "
\n",
- " \n",
- " 11 | \n",
- " 988 | \n",
- " Donald Trump’s Shockingly Weak Delegate Game S... | \n",
- " Donald Trump’s organizational problems have go... | \n",
- " REAL | \n",
- "
\n",
- " \n",
- " 12 | \n",
- " 7041 | \n",
- " Strong Solar Storm, Tech Risks Today | S0 News... | \n",
- " Click Here To Learn More About Alexandra's Per... | \n",
- " FAKE | \n",
- "
\n",
- " \n",
- " 13 | \n",
- " 7623 | \n",
- " 10 Ways America Is Preparing for World War 3 | \n",
- " October 31, 2016 at 4:52 am \\nPretty factual e... | \n",
- " FAKE | \n",
- "
\n",
- " \n",
- " 14 | \n",
- " 1571 | \n",
- " Trump takes on Cruz, but lightly | \n",
- " Killing Obama administration rules, dismantlin... | \n",
- " REAL | \n",
- "
\n",
- " \n",
- " 15 | \n",
- " 4739 | \n",
- " How women lead differently | \n",
- " As more women move into high offices, they oft... | \n",
- " REAL | \n",
- "
\n",
- " \n",
- " 16 | \n",
- " 7737 | \n",
- " Shocking! Michele Obama & Hillary Caught Glamo... | \n",
- " Shocking! Michele Obama & Hillary Caught Glamo... | \n",
- " FAKE | \n",
- "
\n",
- " \n",
- " 17 | \n",
- " 8716 | \n",
- " Hillary Clinton in HUGE Trouble After America ... | \n",
- " 0 \\nHillary Clinton has barely just lost the p... | \n",
- " FAKE | \n",
- "
\n",
- " \n",
- " 18 | \n",
- " 3304 | \n",
- " What's in that Iran bill that Obama doesn't like? | \n",
- " Washington (CNN) For months, the White House a... | \n",
- " REAL | \n",
- "
\n",
- " \n",
- " 19 | \n",
- " 3078 | \n",
- " The 1 chart that explains everything you need ... | \n",
- " While paging through Pew's best data visualiza... | \n",
- " REAL | \n",
- "
\n",
- " \n",
- "
\n",
- "
"
- ],
- "text/plain": [
- " Unnamed: 0 title \\\n",
- "0 8476 You Can Smell Hillary’s Fear \n",
- "1 10294 Watch The Exact Moment Paul Ryan Committed Pol... \n",
- "2 3608 Kerry to go to Paris in gesture of sympathy \n",
- "3 10142 Bernie supporters on Twitter erupt in anger ag... \n",
- "4 875 The Battle of New York: Why This Primary Matters \n",
- "5 6903 Tehran, USA \n",
- "6 7341 Girl Horrified At What She Watches Boyfriend D... \n",
- "7 95 ‘Britain’s Schindler’ Dies at 106 \n",
- "8 4869 Fact check: Trump and Clinton at the 'commande... \n",
- "9 2909 Iran reportedly makes new push for uranium con... \n",
- "10 1357 With all three Clintons in Iowa, a glimpse at ... \n",
- "11 988 Donald Trump’s Shockingly Weak Delegate Game S... \n",
- "12 7041 Strong Solar Storm, Tech Risks Today | S0 News... \n",
- "13 7623 10 Ways America Is Preparing for World War 3 \n",
- "14 1571 Trump takes on Cruz, but lightly \n",
- "15 4739 How women lead differently \n",
- "16 7737 Shocking! Michele Obama & Hillary Caught Glamo... \n",
- "17 8716 Hillary Clinton in HUGE Trouble After America ... \n",
- "18 3304 What's in that Iran bill that Obama doesn't like? \n",
- "19 3078 The 1 chart that explains everything you need ... \n",
- "\n",
- " text label \n",
- "0 Daniel Greenfield, a Shillman Journalism Fello... FAKE \n",
- "1 Google Pinterest Digg Linkedin Reddit Stumbleu... FAKE \n",
- "2 U.S. Secretary of State John F. Kerry said Mon... REAL \n",
- "3 — Kaydee King (@KaydeeKing) November 9, 2016 T... FAKE \n",
- "4 It's primary day in New York and front-runners... REAL \n",
- "5 \\nI’m not an immigrant, but my grandparents ... FAKE \n",
- "6 Share This Baylee Luciani (left), Screenshot o... FAKE \n",
- "7 A Czech stockbroker who saved more than 650 Je... REAL \n",
- "8 Hillary Clinton and Donald Trump made some ina... REAL \n",
- "9 Iranian negotiators reportedly have made a las... REAL \n",
- "10 CEDAR RAPIDS, Iowa — “I had one of the most wo... REAL \n",
- "11 Donald Trump’s organizational problems have go... REAL \n",
- "12 Click Here To Learn More About Alexandra's Per... FAKE \n",
- "13 October 31, 2016 at 4:52 am \\nPretty factual e... FAKE \n",
- "14 Killing Obama administration rules, dismantlin... REAL \n",
- "15 As more women move into high offices, they oft... REAL \n",
- "16 Shocking! Michele Obama & Hillary Caught Glamo... FAKE \n",
- "17 0 \\nHillary Clinton has barely just lost the p... FAKE \n",
- "18 Washington (CNN) For months, the White House a... REAL \n",
- "19 While paging through Pew's best data visualiza... REAL "
- ]
- },
- "execution_count": 56,
- "metadata": {},
- "output_type": "execute_result"
- }
- ],
- "source": [
- "df=pd.read_csv('news.csv')\n",
- "df.shape\n",
- "df.head(20)"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 57,
- "id": "major-section",
- "metadata": {},
- "outputs": [
- {
- "data": {
- "text/plain": [
- "0 FAKE\n",
- "1 FAKE\n",
- "2 REAL\n",
- "3 FAKE\n",
- "4 REAL\n",
- "Name: label, dtype: object"
- ]
- },
- "execution_count": 57,
- "metadata": {},
- "output_type": "execute_result"
- }
- ],
- "source": [
- "labels=df.label\n",
- "labels.head()"
- ]
- },
- {
- "cell_type": "markdown",
- "id": "surprised-desperate",
- "metadata": {},
- "source": [
- "## **4. Wizualizacja cech na histogramach**"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 52,
- "id": "literary-correlation",
- "metadata": {},
- "outputs": [
- {
- "data": {
- "text/plain": [
- "array([[]],\n",
- " dtype=object)"
- ]
- },
- "execution_count": 52,
- "metadata": {},
- "output_type": "execute_result"
- },
- {
- "data": {
- "image/png": "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KCYOAQAAABQThwAAAACKiUMAAAAAxcQhAAAAgGLiEAAAAEAxcQgAAACgmDgEAAAAUEwcAgAAACgmDgEAAAAUE4cAAAAAiolDAAAAAMXEIQAAAIBi4hAAAABAMXEIAAAAoJg4BAAAAFBMHAIAAAAoJg4BAAAAFBOHAAAAAIqJQwAAAADFxCEAAACAYuIQAAAAQDFxCAAAAKCYOAQAAABQTBwCAAAAKCYOAQAAABQThwAAAACKiUMAAAAAxcQhAAAAgGLiEAAAAEAxcQgAAACgmDgEAAAAUEwcAgAAACgmDgEAAAAUE4cAAAAAiolDAAAAAMXEIQAAAIBi4hAAAABAMXEIAAAAoJg4BAAAAFBMHAIAAAAoJg4BAAAAFBOHAAAAAIqJQwAAAADFxCEAAACAYuIQAAAAQDFxCAAAAKCYOAQAAABQTBwCAAAAKCYOAQAAABQThwAAAACKiUMAAAAAxcQhAAAAgGLiEAAAAEAxcQgAAACgmDgEAAAAUEwcAgAAACgmDgEAAAAUE4cAAAAAiolDAAAAAMXEIQAAAIBi4hAAAABAMXEIAAAAoJg4BAAAAFBMHAIAAAAoJg4BAAAAFBOHAAAAAIqJQwAAAADFxCEAAACAYuIQAAAAQDFxCAAAAKCYOAQAAABQTBwCAAAAKCYOAQAAABQThwAAAACKiUMAAAAAxcQhAAAAgGLiEAAAAEAxcQgAAACgmDgEAAAAUEwcAgAAACgmDgEAAAAUE4cAAAAAiolDAAAAAMXEIQAAAIBi4hAAAABAMXEIAAAAoJg4BAAAAFBMHAIAAAAoJg4BAAAAFBOHAAAAAIqJQwAAAADFxCEAAACAYuIQAAAAQDFxCAAAAKCYOAQAAABQTBwCAAAAKCYOAQAAABQThwAAAACKiUMAAAAAxcQhAAAAgGLiEAAAAEAxcQgAAACgmDgEAAAAUEwcAgAAACgmDgEAAAAUE4cAAAAAiolDAAAAAMXEIQAAAIBi4hAAAABAMXEIAAAAoJg4BAAAAFBMHAIAAAAoJg4BAAAAFBOHAAAAAIqJQwAAAADFxCEAAACAYuIQAAAAQDFxCAAAAKCYOAQAAABQTBwCAAAAKCYOAQAAABQThwAAAACKiUMAAAAAxcQhAAAAgGLiEAAAAEAxcQgAAACgmDgEAAAAUEwcAgAAACgmDgEAAAAUE4cAAAAAiolDAAAA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AAAwmDgEAAAAMJg4BAAAADCYOAQAAAAwmDgEAAAAMJg4BAAAADCYOAQAAAAwmDgEAAAAMJg4BAAAADCYOAQAAAAwmDgEAAAAMJg4BAAAADCYOAQAAAAwmDgEAAAAMJg4BAAAADCYOAQAAAAwmDgEAAAAMJg4BAAAADCYOAQAAAAwmDgEAAAAMJg4BAAAADCYOAQAAAAwmDgEAAAAMJg4BAAAADCYOAQAAAAwmDgEAAAAMJg4BAAAADCYOAQAAAAwmDgEAAAAMJg4BAAAADCYOAQAAAAwmDgEAAAAMJg4BAAAADCYOAQAAAAwmDgEAAAAMJg4BAAAADCYOAQAAAAwmDgEAAAAMJg4BAAAADCYOAQAAAAwmDgEAAAAMJg4BAAAADCYOAQAAAAwmDgEAAAAMJg4BAAAADCYOAQAAAAwmDgEAAAAMJg4BAAAADCYOAQAAAAwmDgEAAAAMJg4BAAAADCYOAQAAAAwmDgEAAAAMJg4BAAAADCYOAQAAAAwmDgEAAAAMJg4BAAAADCYOAQAAAAwmDgEAAAAMJg4BAAAADCYOAQAAAAwmDgEAAAAMJg4BAAAADCYOAQAAAAwmDgEAAAAMJg4BAAAADCYOAQAAAAwmDgEAAAAMJg4BAAAADCYOAQAAAAwmDgEAAAAMJg4BAAAADCYOAQAAAAwmDgEAAAAMJg4BAAAADCYOAQAAAAwmDgEAAAAMJg4BAAAADCYOAQAAAAwmDgEAAAAMJg4BAAAADCYOAQAAAAwmDgEAAAAMJg4BAAAADCYOAQAAAAwmDgEAAAAMJg4BAAAADCYOAQAAAAwmDgEAAAAMJg4BAAAADCYOAQAAAAwmDgEAAAAMJg4BAAAADCYOAQAAAAwmDgEAAAAMJg4BAAAADCYOAQAAAAwmDgEAAAAMJg4BAAAADCYOAQAAAAwmDgEAAAAMJg4BAAAADCYOAQAAAAwmDgEAAAAMJg4BAAAADCYOAQAAAAwmDgEAAAAMJg4BAAAADCYOAQAAAAwmDgEAAAAMJg4BAAAADCYOAQAAAAwmDgEAAAAMJg4BAAAADCYOAQAAAAwmDgEAAAAMJg4BAAAADCYOAQAAAAwmDgEAAAAMJg4BAAAADCYOAQAAAAwmDgEAAAAMJg4BAAAADCYOAQAAAAwmDgEAAAAMJg4BAAAADCYOAQAAAAwmDgEAAAAMJg4BAAAADCY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\n",
- "text/plain": [
- ""
- ]
- },
- "metadata": {
- "needs_background": "light"
- },
- "output_type": "display_data"
- }
- ],
- "source": [
- "df.hist(figsize=(20,20), xrot=-45)"
- ]
- },
- {
- "cell_type": "markdown",
- "id": "hungry-costa",
- "metadata": {},
- "source": [
- "## **5. Podział na zbiór testowy i treningowy**"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 53,
- "id": "optical-wales",
- "metadata": {},
- "outputs": [],
- "source": [
- "x_train,x_test,y_train,y_test=train_test_split(df['text'], labels, test_size=0.2, random_state=7)"
- ]
- },
- {
- "cell_type": "markdown",
- "id": "continued-system",
- "metadata": {},
- "source": [
- "## **6. Trenowanie**"
- ]
- },
- {
- "cell_type": "markdown",
- "id": "oriental-trinity",
- "metadata": {},
- "source": [
- "### 6.1. Użycie TFIDF\n",
- "\n",
- "Inicjalizuje wektor TfidfVectorizer ze słowami stop z języka angielskiego i maksymalną częstotliwością występowania w dokumentach wynoszącą 0,7 (terminy o wyższej częstotliwości występowania w dokumentach zostaną odrzucone). Stop words to najczęściej występujące słowa w danym języku, które należy odfiltrować przed przetworzeniem danych języka naturalnego. Wektoryzator TfidfVectorizer przekształca zbiór nieprzetworzonych dokumentów w macierz cech TF-IDF.\n",
- "\n"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 58,
- "id": "south-liability",
- "metadata": {},
- "outputs": [],
- "source": [
- "tfidf_vectorizer=TfidfVectorizer(stop_words='english', max_df=0.7)\n",
- "\n",
- "tfidf_train=tfidf_vectorizer.fit_transform(x_train) \n",
- "tfidf_test=tfidf_vectorizer.transform(x_test)"
- ]
- },
- {
- "cell_type": "markdown",
- "id": "linear-chest",
- "metadata": {},
- "source": [
- "### 6.2. PassiveAggressiveClassifier"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 55,
- "id": "flying-gabriel",
- "metadata": {},
- "outputs": [
- {
- "name": "stdout",
- "output_type": "stream",
- "text": [
- "Dokładność: 92.82%\n"
- ]
- }
- ],
- "source": [
- "pac=PassiveAggressiveClassifier(max_iter=50)\n",
- "pac.fit(tfidf_train,y_train)\n",
- "\n",
- "#Przewidzenie na zbiorze testowym i kalkulacja dokładnośći\n",
- "y_pred=pac.predict(tfidf_test)\n",
- "score=accuracy_score(y_test,y_pred)\n",
- "print(f'Dokładność: {round(score*100,2)}%')"
- ]
- }
- ],
- {
- "cell_type": "markdown",
- "id": "balanced-security",
- "metadata": {},
- "source": [
- "## **7. Podsumowanie wyników**"
- ]
- },
- {
- "cell_type": "markdown",
- "id": "military-radar",
- "metadata": {},
- "source": [
- "W tym modelu uzyskaliśmy dokładność 92,82%. Na koniec wydrukujmy macierz konfuzji, aby uzyskać wgląd w liczbę fałszywych i prawdziwych wyników negatywnych i pozytywnych."
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 60,
- "id": "fifty-melbourne",
- "metadata": {},
- "outputs": [
- {
- "data": {
- "text/plain": [
- "array([[590, 48],\n",
- " [ 43, 586]])"
- ]
- },
- "execution_count": 60,
- "metadata": {},
- "output_type": "execute_result"
- }
- ],
- "source": [
- "confusion_matrix(y_test,y_pred, labels=['FAKE','REAL'])"
- ]
- },
- {
- "cell_type": "markdown",
- "id": "collectible-ireland",
- "metadata": {},
- "source": [
- "W przypadku tego modelu mamy 590 prawdziwych wyników dodatnich, 586 prawdziwych wyników ujemnych, 43 fałszywe wyniki dodatnie i 48 fałszywych wyników ujemnych."
- ]
- },
- {
- "cell_type": "markdown",
- "id": "natural-premiere",
- "metadata": {},
- "source": []
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "id": "crucial-geneva",
- "metadata": {},
- "outputs": [],
- "source": []
- }
- ],
- "metadata": {
- "kernelspec": {
- "display_name": "Python 3",
- "language": "python",
- "name": "python3"
- },
- "language_info": {
- "codemirror_mode": {
- "name": "ipython",
- "version": 3
- },
- "file_extension": ".py",
- "mimetype": "text/x-python",
- "name": "python",
- "nbconvert_exporter": "python",
- "pygments_lexer": "ipython3",
- "version": "3.7.3"
- }
- },
- "nbformat": 4,
- "nbformat_minor": 5
-}