{"cells":[{"metadata":{"_uuid":"8f2839f25d086af736a60e9eeb907d3b93b6e0e5","_cell_guid":"b1076dfc-b9ad-4769-8c92-a6c4dae69d19","trusted":true,"scrolled":true},"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 in \n\nimport os\nprint(os.listdir(\"../input\"))\nimport nltk\nfrom nltk.corpus import stopwords\n\nfrom sklearn.metrics import f1_score\nfrom sklearn.model_selection import KFold\nfrom sklearn.feature_extraction.text import TfidfVectorizer,CountVectorizer\nfrom sklearn.linear_model import LogisticRegression\nfrom sklearn.model_selection import cross_val_score\n# Any results you write to the current directory are saved as output.","execution_count":null,"outputs":[]},{"metadata":{"trusted":true,"_uuid":"056bad4ef12300a7f0e15ac3d7cd9f02daa89b43"},"cell_type":"code","source":"import numpy as np # linear algebra\nimport pandas as pd ","execution_count":null,"outputs":[]},{"metadata":{"trusted":true,"_uuid":"8de78ea18bbcc56b3be5094d333ff37fd5ef5bfb"},"cell_type":"code","source":"train_data = pd.read_csv('../input/train.csv')\ntest_data = pd.read_csv('../input/test.csv')","execution_count":null,"outputs":[]},{"metadata":{"trusted":true,"_uuid":"04adaafa511e9dd22872fff5d9c19f8450241110"},"cell_type":"code","source":"train_data.shape","execution_count":null,"outputs":[]},{"metadata":{"_uuid":"83bb86d6750b97c3676cb10c4ae9c55de2ba6e42"},"cell_type":"markdown","source":"**Basic Logistic Regression**"},{"metadata":{"trusted":true,"_uuid":"8b696cff854df15e5b6b76d6f635e791c4d671e6"},"cell_type":"code","source":"train_text = train_data['question_text']\ntest_text = test_data['question_text']\ntrain_target = train_data['target']\nall_text = train_text.append(test_text)","execution_count":null,"outputs":[]},{"metadata":{"trusted":true,"_uuid":"fb90534e56c3a783d87c9a489c6a53803259bddc"},"cell_type":"code","source":"tfidf_vectorizer = TfidfVectorizer()\ntfidf_vectorizer.fit(all_text)\n\ncount_vectorizer = CountVectorizer()\ncount_vectorizer.fit(all_text)\n\ntrain_text_features_cv = count_vectorizer.transform(train_text)\ntest_text_features_cv = count_vectorizer.transform(test_text)\n\ntrain_text_features_tf = tfidf_vectorizer.transform(train_text)\ntest_text_features_tf = tfidf_vectorizer.transform(test_text)","execution_count":null,"outputs":[]},{"metadata":{"trusted":true,"_uuid":"d00f922dd6c396d56881348aa0a29efb909f2cc3"},"cell_type":"code","source":"kfold = KFold(n_splits = 5, shuffle = True, random_state = 2018)\ntest_preds = 0\noof_preds = np.zeros([train_data.shape[0],])\n\nfor i, (train_idx,valid_idx) in enumerate(kfold.split(train_data)):\n    x_train, x_valid = train_text_features_tf[train_idx,:], train_text_features_tf[valid_idx,:]\n    y_train, y_valid = train_target[train_idx], train_target[valid_idx]\n    classifier = LogisticRegression()\n    print('fitting.......')\n    classifier.fit(x_train,y_train)\n    print('predicting......')\n    print('\\n')\n    oof_preds[valid_idx] = classifier.predict_proba(x_valid)[:,1]\n    test_preds += 0.2*classifier.predict_proba(test_text_features_tf)[:,1]","execution_count":null,"outputs":[]},{"metadata":{"trusted":true,"_uuid":"48110ba4bc2ba33d9624f98afdfabaaf5f386918"},"cell_type":"code","source":"pred_train = (oof_preds > .25).astype(np.int)\nf1_score(train_target, pred_train)","execution_count":null,"outputs":[]},{"metadata":{"trusted":true,"_uuid":"1cf7709c97fd9795a26d900eb150156bdb51da63"},"cell_type":"code","source":"submission1 = pd.DataFrame.from_dict({'qid': test_data['qid']})\nsubmission1['prediction'] = (test_preds>0.25).astype(np.int)\n# submission1.to_csv('logistic_submission.csv', index=False)\nsubmission1['prediction'] = (test_preds>0.25)","execution_count":null,"outputs":[]}],"metadata":{"kernelspec":{"display_name":"Python 3","language":"python","name":"python3"},"language_info":{"name":"python","version":"3.6.6","mimetype":"text/x-python","codemirror_mode":{"name":"ipython","version":3},"pygments_lexer":"ipython3","nbconvert_exporter":"python","file_extension":".py"}},"nbformat":4,"nbformat_minor":1}