{"metadata":{"kernelspec":{"language":"python","display_name":"Python 3","name":"python3"},"language_info":{"pygments_lexer":"ipython3","nbconvert_exporter":"python","version":"3.6.4","file_extension":".py","codemirror_mode":{"name":"ipython","version":3},"name":"python","mimetype":"text/x-python"}},"nbformat_minor":4,"nbformat":4,"cells":[{"cell_type":"code","source":"# This Python 3 environment comes with many helpful analytics libraries installed\n# It is defined by the kaggle/python Docker image: https://github.com/kaggle/docker-python\n# For example, here's several helpful packages to load\n\nimport numpy as np # linear algebra\nimport pandas as pd # data processing, CSV file I/O (e.g. pd.read_csv)\n\n# Input data files are available in the read-only \"../input/\" directory\n# For example, running this (by clicking run or pressing Shift+Enter) will list all files under the input directory\n\nimport os\nfor dirname, _, filenames in os.walk('/kaggle/input'):\n    for filename in filenames:\n        print(os.path.join(dirname, filename))\n\n# You can write up to 20GB to the current directory (/kaggle/working/) that gets preserved as output when you create a version using \"Save & Run All\" \n# You can also write temporary files to /kaggle/temp/, but they won't be saved outside of the current session","metadata":{"_uuid":"8f2839f25d086af736a60e9eeb907d3b93b6e0e5","_cell_guid":"b1076dfc-b9ad-4769-8c92-a6c4dae69d19","execution":{"iopub.status.busy":"2022-01-06T15:09:18.973722Z","iopub.execute_input":"2022-01-06T15:09:18.974460Z","iopub.status.idle":"2022-01-06T15:09:18.990243Z","shell.execute_reply.started":"2022-01-06T15:09:18.974327Z","shell.execute_reply":"2022-01-06T15:09:18.989190Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"# Kết quả nộp bài trên kaggle:","metadata":{}},{"cell_type":"markdown","source":"![image.png](attachment:07d1f159-f71c-4f98-9ad3-a823dadf90cd.png)","metadata":{},"attachments":{"07d1f159-f71c-4f98-9ad3-a823dadf90cd.png":{"image/png":"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lYlD0bL0ty8be+cvxPryjfhL+ZqXfbk+n36IjQfO4qJphRyc4RsQglfG94KHedWtSb21gYF/IqHcb42sx0GYNaN/WTqe7J1Y9JdtOG8e0Bfyz+zEurU78e1VtQaqdXXGi73gbv7Z+dsq6S/Ms/Rm9qnVU5QbkRXqOQkfTTY2OMndE43XEgqrdSM89+AGLP3wAM6rq6n8lk5+HUFdKkkjREREdB8w8P+wuduAMdkvlg0iojtUiMLcAhQ614era0VtAlUyPc/1AsBRTNugmtNWNl8ZZKhiNlWSKVZuiRlVZ52I7pSpPNfTwdXWDV7xd6Uw2wqmy9z8+YVwdtXB+R4WUZlDvLDYGa7uVQTnalJvici2quqx0mlOBfVL+Z0Sf25YH85V3HD7NSnHFPA4QUREdQcD/0REREREREREREREdqQO3y8nIiIiIiIiIiIiIqKaYot/O/HUwKfVISIiqo6v932lDhERERERERER2RcG/omIiIiIiIiIiIiI7AhT/RARERERERERERER2REG/omIiIiIiIiIiIiI7AgD/0REREREREREREREdoSBfyIiIiIiIiIiIiIiO8LAPxERERERERERERGRHWHgn4iIiIiIiIiIiIjIjjDwT0RERERERERERERkRxj4JyIiIiIiIiIiIiKyIwz8ExERERERERERERHZEQb+iYiIiIiIiIiIiIjsCAP/RERERERERERERER2hIF/IiIiIiIiIiIiIiI7wsA/EREREREREREREZEdYeCfiIiIiIiIiIiIiMiOMPBPRERERERERERERGRHGPgnIiIiIiIiIiIiIrIjDPwTEREREREREREREdkRBv6JiIiIiIiIiIiIiOwIA/9ERERERERERERERHaEgX8iIiIiIiIiIiIiIjvCwD8RERERERERERERkR1h4J+IiIiIiIiIiIiIyI4w8E9EREREREREREREZEcY+CciIiIiIiIiIiIisiMM/BMRERERERERERER2REG/omIiIiIiIiIiIiI7AgD/0REREREREREREREdoSBfyIiIiIiIiIiIiIiO8LAPxERERERERERERGRHWHgn4iIiIiIiIiIiIjIjjDwT0RERERERERERERkRxj4JyIiIiIiIiIiIiKyIwz8ExERERERERERERHZEQb+iYiIiIiIiIiIiIjsCAP/RERERERERERERER2hIF/IiIiIiIiIiIiIiI7wsA/EREREREREREREZEdYeCfiIiIiIiIiIiIiMiOMPBPRERERERERERERGRHGPgnIiIiIiIiIiIiIrIjDPwTEREREREREREREdkRTYmgDtc5ZzLOq0NERERERERERERERHVTW5+W6lBdAPx/+RkhdFNiF4EAAAAASUVORK5CYII="}}},{"cell_type":"markdown","source":"# Mô tả bài toán\n> ***Bài toán đặt ra là với các câu hỏi trên Quora có phải là câu hỏi toxic hay không (Quora Insincere Questions Classification) ?***\n* Input: Các câu hỏi dưới dạng text.\n* Output: Yes(1) or No(0) ?\n","metadata":{}},{"cell_type":"markdown","source":"# Thực hiện bài toán theo các bước:\n**1. Xử lý dữ liệu**\n> Do dữ liệu đầu vào là text nên chúng ta cần xử lý trước khi train\n* loại bỏ dấu câu, số, stop_words,...\n* sau đó xử lý lại nghĩa của từ\n\n**2. Training dữ liệu với mô hình Logistic Regression**\n> Đối với bài toán này, ban đầu ta sử dụng mô hình **Logistic Regression** \n> Mô hình này giống với **Linear Regression** ở khía cạnh đầu ra là số thực, và giống với **PLA** ở việc đầu ra bị chặn (trong đoạn 0 -> 1). Mặc dù trong tên có chứa từ \"regression\", tuy vậy **Logistic Regression** thường được sử dụng nhiều cho các bài toán **classification**. Do vậy, ban đầu ta lựa chọn **Logistic Regression** cho bài toán này. Sau đó ta sẽ lựa chọn một mô hình khác để mong đạt được kết quả cao hơn.\n\n**3. Đánh giá và nhược điểm của mô hình Training LR**","metadata":{}},{"cell_type":"code","source":"import pandas as pd \nimport seaborn as sns\nimport nltk\nimport string\nfrom nltk.tokenize import word_tokenize\nfrom nltk.corpus import stopwords\nfrom nltk.stem import WordNetLemmatizer","metadata":{"execution":{"iopub.status.busy":"2022-01-06T15:09:18.991881Z","iopub.execute_input":"2022-01-06T15:09:18.992469Z","iopub.status.idle":"2022-01-06T15:09:20.837214Z","shell.execute_reply.started":"2022-01-06T15:09:18.992410Z","shell.execute_reply":"2022-01-06T15:09:20.835885Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"# 1. Xử lý dữ liệu","metadata":{}},{"cell_type":"markdown","source":"**Đọc dữ liệu vào từ định dạng csv**\n\n**Dữ liệu vào gồm 3 tập: **\n\n* Sample submission\n* Train\n* Test\n","metadata":{}},{"cell_type":"code","source":"df_sample_sub = pd.read_csv('/kaggle/input/quora-insincere-questions-classification/sample_submission.csv')\ndf_train = pd.read_csv('/kaggle/input/quora-insincere-questions-classification/train.csv')\ndf_test = pd.read_csv('/kaggle/input/quora-insincere-questions-classification/test.csv')","metadata":{"execution":{"iopub.status.busy":"2022-01-06T15:09:20.839531Z","iopub.execute_input":"2022-01-06T15:09:20.839958Z","iopub.status.idle":"2022-01-06T15:09:29.168725Z","shell.execute_reply.started":"2022-01-06T15:09:20.839919Z","shell.execute_reply":"2022-01-06T15:09:29.167241Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"**Ta xem thử từng loại dữ liệu sẽ hiển thị dạng ra sao**","metadata":{}},{"cell_type":"code","source":"# Lấy 10 dữ liệu đầu tiên của tập sample_sub\ndf_sample_sub.head(10)","metadata":{"execution":{"iopub.status.busy":"2022-01-06T15:09:29.184720Z","iopub.execute_input":"2022-01-06T15:09:29.185302Z","iopub.status.idle":"2022-01-06T15:09:29.416885Z","shell.execute_reply.started":"2022-01-06T15:09:29.185243Z","shell.execute_reply":"2022-01-06T15:09:29.415186Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"# Lấy 10 dữ liệu đầu tiên của tập train\ndf_train.head(10)","metadata":{"execution":{"iopub.status.busy":"2022-01-06T15:09:29.418702Z","iopub.execute_input":"2022-01-06T15:09:29.419187Z","iopub.status.idle":"2022-01-06T15:09:29.435338Z","shell.execute_reply.started":"2022-01-06T15:09:29.419140Z","shell.execute_reply":"2022-01-06T15:09:29.433827Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"**Dữ liệu vào gồm các question_text là ngôn ngữ tự nhiên (cụ thể là dạng text). Nếu để nguyên, thì sẽ khó để train. Vì vậy chúng ta cần xử lý dữ liệu đầu vào(question_text) trước khi tiến hành train.**\n> Cụ thể ta sẽ phải xử lý dấu câu, số, các \"stopword\", từ đồng nghĩa và các tự bị chia trong tiếng anh chúng ta cần xử lý lại.","metadata":{}},{"cell_type":"code","source":"# Hiển thị thông tin tập train\ndf_train.info()","metadata":{"execution":{"iopub.status.busy":"2022-01-06T15:09:29.438980Z","iopub.execute_input":"2022-01-06T15:09:29.439496Z","iopub.status.idle":"2022-01-06T15:09:29.753149Z","shell.execute_reply.started":"2022-01-06T15:09:29.439452Z","shell.execute_reply":"2022-01-06T15:09:29.751821Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"# Đếm số lượng dữ liệu trong tập train\ndf_train.target.value_counts()","metadata":{"execution":{"iopub.status.busy":"2022-01-06T15:09:29.755809Z","iopub.execute_input":"2022-01-06T15:09:29.756662Z","iopub.status.idle":"2022-01-06T15:09:29.781932Z","shell.execute_reply.started":"2022-01-06T15:09:29.756581Z","shell.execute_reply":"2022-01-06T15:09:29.780685Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"**Đối với tập dữ liệu Train**\n**Tập train gồm 3 cột: qid, question_text và target**\n\n**Có 1225312 câu hỏi bình thường và 80810 câu hỏi Toxic**\n\n**Và biểu đồ dưới đây thể hiện sự chênh lệch % giữa 2 loại.**","metadata":{}},{"cell_type":"code","source":"import matplotlib.pyplot as plt\nimport matplotlib.ticker as ticker\n\nncount = df_train.shape[0]\n\nplt.figure(figsize=(7, 5))\n\nax = sns.countplot(data=df_train, x='target')\nplt.title('Biểu đồ phân phối câu hỏi')\n\nax2=ax.twinx()\n\nax2.yaxis.tick_left()\nax.yaxis.tick_right()\n\n# Also switch the labels over\nax.yaxis.set_label_position('right')\nax2.yaxis.set_label_position('left')\n\nax2.set_ylabel('Frequency [%]')\n\nfor p in ax.patches:\n    x=p.get_bbox().get_points()[:,0]\n    y=p.get_bbox().get_points()[1,1]\n    ax.annotate('{:.1f}%'.format(100.*y/ncount), (x.mean(), y), \n            ha='center', va='bottom') \n\nax.yaxis.set_major_locator(ticker.LinearLocator(11))\n\n# Set frequency trong khoảng 0-100\nax2.set_ylim(0,100)\nax.set_ylim(0,ncount)\n\n# Sử dụng MultipleLocator để khoảng cách giữa từng khoảng là 10\nax2.yaxis.set_major_locator(ticker.MultipleLocator(10))\n\nax2.grid(None)","metadata":{"execution":{"iopub.status.busy":"2022-01-06T15:09:29.783869Z","iopub.execute_input":"2022-01-06T15:09:29.784632Z","iopub.status.idle":"2022-01-06T15:09:30.277825Z","shell.execute_reply.started":"2022-01-06T15:09:29.784572Z","shell.execute_reply":"2022-01-06T15:09:30.276346Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"****Tỉ lệ chênh lệch lớn và các câu hỏi toxic vẫn xuất hiện khá nhiều chiếm tới 80810 câu trong tập dữ liệu.****\n\n**Sử dụng Word Cloud để hiển thị các từ thường xuyên xuất hiện trong câu hỏi bình thường và câu hỏi toxic.**","metadata":{}},{"cell_type":"markdown","source":"**Để xử lý dữ liệu vào, ta sử dụng Natural Language Toolkit(NLTK) - là bộ công cụ ngôn ngữ tự nhiên, là một thư viện được viết bằng Python hỗ trợ xử lý ngôn ngữ tự nhiên. Bằng cách cung cấp các cơ chế và kỹ thuật xử lý ngôn ngữ phổ biến, nó giúp cho việc xử lý ngôn ngữ tự nhiên trở lên dễ dàng, nhanh chóng hơn và có tác dụng làm sạch dữ liệu, xử lý dữ liệu đầu vào cho các thuật toán Machine Learning.**\n\n**Ngoài ra còn giúp xử lý các stopwords - là các từ có tần số xuất hiện nhiều như the, to... các từ này thường mang ít giá trị ý nghĩa và không khác nhau nhiều trong các văn bản khác nhau. Ví dụ từ \"the\" hay \"to\" thì ở văn bản nào nó cũng không bị thay đổi về ý nghĩa. \nVí dụ: i, the, my, me, ...**","metadata":{}},{"cell_type":"code","source":"# Tải xuống stopwords trong tiếng Anh\nnltk.download('stopwords')\nnltk_stopwords = stopwords.words('english')\nwordnet_lemmatizer = WordNetLemmatizer()\n\ndef lemSentence(sentence):\n    token_words = word_tokenize(sentence)\n    lem_sentence = []\n    for word in token_words:\n        lem_sentence.append(wordnet_lemmatizer.lemmatize(word, pos=\"v\")) # Xử lý các từ bị chia động từ chuyển về nguyên thể ví dụ: was, were -> am.\n        lem_sentence.append(\" \")\n    return \"\".join(lem_sentence)","metadata":{"execution":{"iopub.status.busy":"2022-01-06T15:09:30.279962Z","iopub.execute_input":"2022-01-06T15:09:30.280571Z","iopub.status.idle":"2022-01-06T15:09:50.337315Z","shell.execute_reply.started":"2022-01-06T15:09:30.280509Z","shell.execute_reply":"2022-01-06T15:09:50.335828Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"def clean(message, lem = True):\n    # Loại bỏ dấu câu (ví dụ: các dấu !\"#$%&'()*+, -./:;<=>?@[\\]^_`{|}~)\n    message = message.translate(str.maketrans('', '', string.punctuation))\n    \n    # Loại bỏ số\n    message = message.translate(str.maketrans('', '', string.digits))\n    \n    # Loại bỏ \"stopwords\"\n    message = [word for word in word_tokenize(message) if not word.lower() in nltk_stopwords]\n    message = ' '.join(message)\n    \n    if lem:\n        message = lemSentence(message)\n    \n    return message","metadata":{"execution":{"iopub.status.busy":"2022-01-06T15:09:50.339190Z","iopub.execute_input":"2022-01-06T15:09:50.339927Z","iopub.status.idle":"2022-01-06T15:09:50.347598Z","shell.execute_reply.started":"2022-01-06T15:09:50.339874Z","shell.execute_reply":"2022-01-06T15:09:50.346275Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"# Clean các câu hỏi\ndf_train['question_text_cleaned'] = df_train.question_text.apply(lambda x: clean(x, True))","metadata":{"execution":{"iopub.status.busy":"2022-01-06T15:09:50.349857Z","iopub.execute_input":"2022-01-06T15:09:50.350363Z","iopub.status.idle":"2022-01-06T15:18:53.424335Z","shell.execute_reply.started":"2022-01-06T15:09:50.350301Z","shell.execute_reply":"2022-01-06T15:18:53.423146Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"from wordcloud import WordCloud\nfrom matplotlib import pyplot as plt\n\nplt.figure(figsize=(20, 20))\nwc = WordCloud(max_words=2000, height=800, width =1600, stopwords=nltk_stopwords).generate(\" \".join(df_train[df_train.target== 0].question_text_cleaned))\nplt.imshow(wc, interpolation=\"bilinear\")\nplt.title(\"Những từ thường xuyên xuất hiện trong câu bình thường\")","metadata":{"execution":{"iopub.status.busy":"2022-01-06T15:18:53.426064Z","iopub.execute_input":"2022-01-06T15:18:53.426412Z","iopub.status.idle":"2022-01-06T15:20:28.710162Z","shell.execute_reply.started":"2022-01-06T15:18:53.426378Z","shell.execute_reply":"2022-01-06T15:20:28.708054Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"from wordcloud import WordCloud\nfrom matplotlib import pyplot as plt\nplt.figure(figsize=(20, 20))\nwc = WordCloud(max_words=2000, height=800, width =1600, stopwords=nltk_stopwords).generate(\" \".join(df_train[df_train.target== 1].question_text_cleaned))\nplt.imshow(wc, interpolation=\"bilinear\")\nplt.title(\"Những từ thường xuyên xuất hiện trong câu toxic\")","metadata":{"execution":{"iopub.status.busy":"2022-01-06T15:20:28.711759Z","iopub.execute_input":"2022-01-06T15:20:28.712320Z","iopub.status.idle":"2022-01-06T15:20:56.904824Z","shell.execute_reply.started":"2022-01-06T15:20:28.712283Z","shell.execute_reply":"2022-01-06T15:20:56.904002Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"**Dữ liệu sau khi xử lý đã \"sạch\" hơn so với ban đầu như bảng dưới**","metadata":{}},{"cell_type":"code","source":"df_train.head(10)","metadata":{"execution":{"iopub.status.busy":"2022-01-06T15:20:56.905925Z","iopub.execute_input":"2022-01-06T15:20:56.906334Z","iopub.status.idle":"2022-01-06T15:20:56.920532Z","shell.execute_reply.started":"2022-01-06T15:20:56.906302Z","shell.execute_reply":"2022-01-06T15:20:56.919537Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"# 2. Training dữ liệu với mô hình hồi quy logistic (Logistic Regression)\n> **Như đã trình bày ở trên, ta sử dụng LR để train**\n\n> ***Nói qua về Logistic Regression***\n>> Hai mô hình tuyến tính (linear models) **Linear Regression** và **Perceptron Learning Algorithm (PLA)**. Trong **Linear Regression**, người ta sử dụng để dự đoán output y, mô hình này phù hợp để dự đoán một giá trị thực của đầu ra không bị chặn trên và chặn dưới. Còn trong **PLA**, đầu ra chỉ nhận một trong hai giá trị 1 hoặc −1, phù hợp với các bài toán **Binary Classification**. \n\n>> Tuy vậy, ta lại không sử dụng **Linear Regression**, hay thậm chí là **PLA**, mặc dù **PLA** rất phù hợp với bài toán. Mà ta lựa chọn **Logistic Regression**. Mô hình này giống với **Linear Regression** ở khía cạnh đầu ra là số thực, và giống với **PLA** ở việc đầu ra bị chặn (trong đoạn 0 -> 1). Mặc dù trong tên có chứa từ \"**regression**\", tuy vậy **Logistic Regression** thường được sử dụng nhiều cho các bài toán **classification**. Đánh giá mô hình thấy nó rất là linh hoạt va dễ sử dụng. Do vậy, mình lựa chọn **Logistic Regression** cho bài toán này.\n\n>> Ứng dụng của mô hình Logistic Regression: \n>> + Dự đoán email có phải spam hay không\n>> + Dự đoán giao dịch ngân hàng là gian lận hay không\n>> + Dự đoán khối u lành hay ác tính\n>> + Dự đoán khoản vay có trả được không\n>> + Dự đoán khoản đầu tư vào start-up có sinh lãi hay không.\n\n> Tổng quan về bài toán được trình bày trên link notion đã có ở trên lớp: https://tricky-tax-444.notion.site/5acbc01b2a924fe6818d046339a68d23?v=6bc56f801d7c4ce1a1eefd4b60ef57cf&p=cf099245442c461aa36305456a17183e","metadata":{}},{"cell_type":"code","source":"from sklearn.linear_model import LogisticRegression\nfrom sklearn.pipeline import Pipeline\nfrom sklearn.metrics import accuracy_score, f1_score\nfrom sklearn.model_selection import train_test_split\nfrom sklearn.feature_extraction.text import CountVectorizer\n\ncount_vectorizer = CountVectorizer()\nmodel = LogisticRegression(C=1, random_state=0)\n\nvectorize_model_pipeline = Pipeline([\n    ('count_vectorizer', count_vectorizer),\n    ('model', model)\n])","metadata":{"execution":{"iopub.status.busy":"2022-01-06T15:20:56.921999Z","iopub.execute_input":"2022-01-06T15:20:56.922585Z","iopub.status.idle":"2022-01-06T15:20:56.930303Z","shell.execute_reply.started":"2022-01-06T15:20:56.922536Z","shell.execute_reply":"2022-01-06T15:20:56.929531Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"**Mặc dù ta đã xử lý dữ liệu ở trên tuy nhiên, dữ liệu đầu vào vẫn là dạng Text.\nĐể sử dụng dữ liệu văn bản cho mô hình dự đoán, văn bản phải được mã hóa. Đầu vào cần được mã hóa dưới dạng số nguyên hoặc giá trị dấu phẩy động, để sử dụng làm đầu vào trong thuật toán học máy. Quá trình này được gọi là trích xuất đặc trưng (hoặc vectơ hóa).**\n\n> Scikit-learning CountVectorizer được sử dụng để chuyển đổi một bộ sưu tập các tài liệu văn bản thành một vectơ có số lượng thuật ngữ / mã thông báo. Nó cũng cho phép xử lý trước dữ liệu văn bản trước khi tạo biểu diễn vectơ. Chức năng này làm cho nó trở thành một mô-đun biểu diễn tính năng rất linh hoạt cho văn bản.\n\n**Tóm gọn lại ta sẽ sử dụng CountVectorizer để chuyển dữ liệu đầu vào từ định dạng Text thành Vectơ****","metadata":{}},{"cell_type":"code","source":"X_train, X_test, y_train, y_test = train_test_split(df_train['question_text_cleaned'], df_train['target'], test_size = 0.3)\nvectorize_model_pipeline.fit(X_train, y_train)","metadata":{"execution":{"iopub.status.busy":"2022-01-06T15:20:56.931613Z","iopub.execute_input":"2022-01-06T15:20:56.932121Z","iopub.status.idle":"2022-01-06T15:21:34.980836Z","shell.execute_reply.started":"2022-01-06T15:20:56.932070Z","shell.execute_reply":"2022-01-06T15:21:34.979787Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"predictions = vectorize_model_pipeline.predict(X_test)","metadata":{"execution":{"iopub.status.busy":"2022-01-06T15:21:34.982350Z","iopub.execute_input":"2022-01-06T15:21:34.982975Z","iopub.status.idle":"2022-01-06T15:21:40.049048Z","shell.execute_reply.started":"2022-01-06T15:21:34.982927Z","shell.execute_reply":"2022-01-06T15:21:40.048183Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"print('Accuracy :', accuracy_score(y_test, predictions))\nprint('F1 score :', accuracy_score(y_test, predictions))","metadata":{"execution":{"iopub.status.busy":"2022-01-06T15:21:40.050494Z","iopub.execute_input":"2022-01-06T15:21:40.051179Z","iopub.status.idle":"2022-01-06T15:21:40.135223Z","shell.execute_reply.started":"2022-01-06T15:21:40.051128Z","shell.execute_reply":"2022-01-06T15:21:40.133969Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"from sklearn.metrics import classification_report\n\nprint(classification_report(y_test, predictions))","metadata":{"execution":{"iopub.status.busy":"2022-01-06T15:21:40.136856Z","iopub.execute_input":"2022-01-06T15:21:40.137300Z","iopub.status.idle":"2022-01-06T15:21:40.839010Z","shell.execute_reply.started":"2022-01-06T15:21:40.137250Z","shell.execute_reply":"2022-01-06T15:21:40.837797Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"# Cleaning the questions\ndf_test['question_text_cleaned'] = df_test.question_text.apply(lambda x: clean(x, True))","metadata":{"execution":{"iopub.status.busy":"2022-01-06T15:21:40.840709Z","iopub.execute_input":"2022-01-06T15:21:40.841156Z","iopub.status.idle":"2022-01-06T15:24:14.508154Z","shell.execute_reply.started":"2022-01-06T15:21:40.841108Z","shell.execute_reply":"2022-01-06T15:24:14.507031Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"df_test['prediction'] = vectorize_model_pipeline.predict(df_test['question_text_cleaned'])","metadata":{"execution":{"iopub.status.busy":"2022-01-06T15:24:14.511524Z","iopub.execute_input":"2022-01-06T15:24:14.511880Z","iopub.status.idle":"2022-01-06T15:24:19.139472Z","shell.execute_reply.started":"2022-01-06T15:24:14.511845Z","shell.execute_reply":"2022-01-06T15:24:19.138319Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"df_final = df_test[['qid','prediction']]\ndf_final.set_index('qid', inplace = True)","metadata":{"execution":{"iopub.status.busy":"2022-01-06T15:24:19.141385Z","iopub.execute_input":"2022-01-06T15:24:19.141813Z","iopub.status.idle":"2022-01-06T15:24:19.224276Z","shell.execute_reply.started":"2022-01-06T15:24:19.141769Z","shell.execute_reply":"2022-01-06T15:24:19.223142Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"df_final.head(10)","metadata":{"execution":{"iopub.status.busy":"2022-01-06T15:24:19.225841Z","iopub.execute_input":"2022-01-06T15:24:19.226428Z","iopub.status.idle":"2022-01-06T15:24:19.236974Z","shell.execute_reply.started":"2022-01-06T15:24:19.226380Z","shell.execute_reply":"2022-01-06T15:24:19.236063Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"code","source":"# Ghi lại kết quả ra file submission.csv\ndf_final.to_csv('submission.csv')","metadata":{"execution":{"iopub.status.busy":"2022-01-06T15:24:19.238285Z","iopub.execute_input":"2022-01-06T15:24:19.238575Z","iopub.status.idle":"2022-01-06T15:24:19.776518Z","shell.execute_reply.started":"2022-01-06T15:24:19.238545Z","shell.execute_reply":"2022-01-06T15:24:19.775495Z"},"trusted":true},"execution_count":null,"outputs":[]},{"cell_type":"markdown","source":"# 3. Đánh giá, kết luận và các nhược điểm của mô hình hồi quy Logistic\n**Kết quả khi thực hiện mô hình Logistic Regression:**\n\nRun: **983.4s**\n\nPrivate Score: **0.52384**\n\nPublic Score: **0.52270**\n\n**Logistic Regression thực ra được sử dụng nhiều trong các bài toán Classification.**\n\n**Nhược điểm của mô hình: **\n> + Phụ thuộc vào mức độ chính xác của nguồn thông tin thu nhập hay nói cách khác là tập dữ liệu đầu vào.\n> + Hồi quy logistic cũng dễ bị overfitting. Nó không thể được áp dụng cho một bài toán phi tuyến tính, hoạt động kém với các biến độc lập không tương quan với mục tiêu và tương quan với nhau. Do đó, bạn sẽ phải đánh giá cẩn thận mức độ phù hợp của hồi quy logistic đối với vấn đề mà bạn đang cố gắng giải quyết.\n> + Bản chất mô hình Logistic là mô hình kinh tế lượng, vì vậy khi hệ số xác định ở mức nhỏ thì mô hình có thể dự báo kém chính xác (thể hiện qua các giá trị phần dư).","metadata":{}}]}