{"cells":[{"metadata":{"_cell_guid":"b1076dfc-b9ad-4769-8c92-a6c4dae69d19","_uuid":"8f2839f25d086af736a60e9eeb907d3b93b6e0e5","trusted":true},"cell_type":"code","source":"import numpy as np # linear algebra\nimport pandas as pd # data processing, CSV file I/O (e.g. pd.read_csv)\n\nimport os\nprint(os.listdir(\"../input\"))\n\ntrain_transformed = pd.read_csv(\"../input/avito-data-translation-and-transformation/train_transformed.csv\")\ntest_transformed = pd.read_csv(\"../input/avito-data-translation-and-transformation/test_transformed.csv\")\ntest_transformed.head(5)\n# Any results you write to the current directory are saved as output.","execution_count":2,"outputs":[]},{"metadata":{"_cell_guid":"faea01f7-135a-46cc-ac0d-866426e5ddc7","_uuid":"bb6ced8c9550ce628aaec26ecd5b74f1ee18f3f6","collapsed":true,"trusted":true},"cell_type":"code","source":"import matplotlib.pyplot as plt\n\nfrom sklearn import ensemble\nfrom sklearn.metrics import mean_squared_error\nfrom sklearn.utils import shuffle\n\n\nX,y = shuffle(train_transformed.iloc[:, [3,4,5,6,7,8,9,10,11,12,14,17]], train_transformed.iloc[:,[18]], random_state=13)\n#X, y = shuffle(boston.data, boston.target, random_state=13)\nX = X.fillna(value=0)\nX = X.astype(np.float32)\ny = y.values.ravel()\n\noffset = int(X.shape[0] * 0.9)\nX_train, y_train = X[:offset], y[:offset]\nX_test, y_test = X[offset:], y[offset:]\n\n# #############################################################################\n# Fit regression model\nparams = {'n_estimators': 500, 'max_depth': 7, 'min_samples_split': 2,\n          'learning_rate': 0.01, 'loss': 'ls'}\nclf = ensemble.GradientBoostingRegressor(**params)\n\nclf.fit(X_train, y_train)\nmse = mean_squared_error(y_test, clf.predict(X_test))\nprint(\"MSE: %.4f\" % mse)\n\n# #############################################################################\n# Plot training deviance\n\n# compute test set deviance\ntest_score = np.zeros((params['n_estimators'],), dtype=np.float64)\n\nfor i, y_pred in enumerate(clf.staged_predict(X_test)):\n    test_score[i] = clf.loss_(y_test, y_pred)\n\nplt.figure(figsize=(12, 6))\nplt.subplot(1, 2, 1)\nplt.title('Deviance')\nplt.plot(np.arange(params['n_estimators']) + 1, clf.train_score_, 'b-',\n         label='Training Set Deviance')\nplt.plot(np.arange(params['n_estimators']) + 1, test_score, 'r-',\n         label='Test Set Deviance')\nplt.legend(loc='upper right')\nplt.xlabel('Boosting Iterations')\nplt.ylabel('Deviance')\n\n","execution_count":null,"outputs":[]},{"metadata":{"_cell_guid":"352c9685-52a6-48a1-8f21-b4b1663992b8","_uuid":"24d61febc9b3a7216e8196d03003004bcf117242","collapsed":true,"trusted":true},"cell_type":"code","source":"deal_probability = clf.predict(test_transformed.iloc[:, [3,4,5,6,7,8,9,10,11,12,14,17]].fillna(value=0))\ndeal_prob = [x if x>0 else 0 for x in deal_probability]\n\n#print deal_prob\n#submission_op = pd.DataFrame(user_id = test_transformed['user_id'], deal_probability=deal_probability)\nsubmission_op = pd.DataFrame({'item_id': test_transformed['item_id'], 'deal_probability': deal_prob})\nsubmission_op = submission_op[['item_id', 'deal_probability']]\nsubmission_op.to_csv('submission.csv', index=False)\n","execution_count":null,"outputs":[]}],"metadata":{"kernelspec":{"display_name":"Python 3","language":"python","name":"python3"},"language_info":{"name":"python","version":"3.6.4","mimetype":"text/x-python","codemirror_mode":{"name":"ipython","version":3},"pygments_lexer":"ipython3","nbconvert_exporter":"python","file_extension":".py"}},"nbformat":4,"nbformat_minor":1}