{"cells":[{"metadata":{"_uuid":"ee08347c435047b3dea2c581428a1e24c7622a91","_cell_guid":"cda40f51-a939-4ff1-9371-7425bfdf6531"},"cell_type":"markdown","source":"## I am doing some tests, trying to found an interesting and meaningful graphic"},{"metadata":{"_kg_hide-input":true,"_uuid":"8f2839f25d086af736a60e9eeb907d3b93b6e0e5","collapsed":true,"_cell_guid":"b1076dfc-b9ad-4769-8c92-a6c4dae69d19","trusted":false},"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)\nimport matplotlib.pyplot as plt\nimport seaborn as sns","execution_count":null,"outputs":[]},{"metadata":{"_kg_hide-input":true,"_uuid":"d629ff2d2480ee46fbb7e2d37f6b5fab8052498a","_cell_guid":"79c7e3d0-c299-4dcb-8224-4455121ee9b0","trusted":false,"collapsed":true},"cell_type":"code","source":"df_train = pd.read_csv(\"../input/train.csv\", parse_dates=['activation_date'], nrows=50000)\n\nprint(\"Shape train: \", df_train.shape)","execution_count":null,"outputs":[]},{"metadata":{"_kg_hide-input":true,"_uuid":"a3124ca6c70b26555d023f5437d3653157de43e2","_cell_guid":"294f32d6-6851-4a3d-9b65-d7bb100cc899","trusted":false,"collapsed":true},"cell_type":"code","source":"is_null = round((df_train.isnull().sum() / len(df_train) * 100),2)\nprint(\"NaN values in train Dataset\")\nprint(is_null[is_null > 0].sort_values(ascending=False))","execution_count":null,"outputs":[]},{"metadata":{"_uuid":"0ce3f846ebba10e77e2e152704d4ef6bb98768d8","_cell_guid":"18d61cc6-a09e-417f-9e3c-4708caeb1f72","trusted":false,"collapsed":true},"cell_type":"code","source":"import plotly\nfrom plotly.offline import init_notebook_mode, plot, iplot\nimport plotly.graph_objs as go\n\ninit_notebook_mode(connected=True)","execution_count":null,"outputs":[]},{"metadata":{"_kg_hide-input":true,"_uuid":"834d1de8f9e39fe5b31aab3c6a6259f52b66c11d","collapsed":true,"_cell_guid":"d0a8a5d7-2cbd-4c17-8726-7f8300aaf84b","trusted":false},"cell_type":"code","source":"df_train['price_log'] = np.log(df_train['price'] + 1)\n\ndf_2007 = df_train[(df_train.user_type == 'Private') & (df_train.deal_probability > 0)].copy()\n\ndf_2007['deal_probability_rounded'] = round(df_2007['deal_probability'],2)\ndf_2007['index'] = df_2007['deal_probability'] / df_2007['price'] ","execution_count":null,"outputs":[]},{"metadata":{"_kg_hide-input":true,"_uuid":"90300c8c4bc0a35a3e1cdc9b9986e73c4d4dd48e","collapsed":true,"_cell_guid":"aa527df1-716a-47d6-963f-ffe65b5b5d77","trusted":false},"cell_type":"code","source":"slope = 3.2121e-05\nhover_text = []\nbubble_size = []","execution_count":null,"outputs":[]},{"metadata":{"_kg_hide-input":true,"_uuid":"7fece4ce7ba0adb726ea8ac18c0b74a8d81fee65","collapsed":true,"_cell_guid":"fd924c2d-5248-4654-bf90-e158e69337da","trusted":false},"cell_type":"code","source":"import math\n\nfor index, row in df_2007.iterrows():\n    hover_text.append(('Region: {region}<br>'+\n                      'Parent Category: {par_cat}<br>'+\n                      'Title: {title}<br>'+\n                      'Price: {price}<br>'+\n                      'Deal Probability: {deal_prob}').format(region=row['region'],\n                                            par_cat=row['parent_category_name'],\n                                            title=row['title'],\n                                            price=row['price'],\n                                            deal_prob=row['deal_probability']))\n    bubble_size.append(math.sqrt(row['deal_probability']*slope))\n","execution_count":null,"outputs":[]},{"metadata":{"_kg_hide-input":true,"_uuid":"98ba235f1605cf2f58fc6fae0994a4440f07c38f","_cell_guid":"b1964a0c-122d-4d28-94f7-f58cf1eb6c21","trusted":false,"collapsed":true},"cell_type":"code","source":"df_2007['text'] = hover_text\ndf_2007['size'] = bubble_size\nsizeref = 14*max(df_2007['size'])/(40**2)\n\ntrace0 = go.Scatter(\n    x=df_2007['price_log'][df_2007['parent_category_name'] == 'Личные вещи'],\n    y=df_2007['deal_probability'][df_2007['parent_category_name'] == 'Личные вещи'],\n    mode='markers', opacity=0.7,\n    name='Личные вещи',\n    text=df_2007['text'][df_2007['parent_category_name'] == 'Личные вещи'],\n    marker=dict(\n        symbol='circle',\n        sizemode='area',\n        sizeref=sizeref,\n        size=df_2007['size'][df_2007['parent_category_name'] == 'Личные вещи'],\n        line=dict(\n            width=2\n        ),\n    )\n)\ntrace1 = go.Scatter(\n    x=df_2007['price_log'][df_2007['parent_category_name'] == 'Для дома и дачи'],\n    y=df_2007['deal_probability'][df_2007['parent_category_name'] == 'Для дома и дачи'],\n    mode='markers', opacity=0.7,\n    name='Для дома и дачи',\n    text=df_2007['text'][df_2007['parent_category_name'] == 'Для дома и дачи'],\n    marker=dict(\n        sizemode='area',\n        sizeref=sizeref,\n        size=df_2007['size'][df_2007['parent_category_name'] == 'Для дома и дачи'],\n        line=dict(\n            width=2\n        ),\n    )\n)\ntrace2 = go.Scatter(\n    x=df_2007['price_log'][df_2007['parent_category_name'] == 'Бытовая электроника'],\n    y=df_2007['deal_probability'][df_2007['parent_category_name'] == 'Бытовая электроника'],\n    mode='markers', opacity=0.7,\n    name='Бытовая электроника',\n    text=df_2007['text'][df_2007['parent_category_name'] == 'Бытовая электроника'],\n    marker=dict(\n        sizemode='area',\n        sizeref=sizeref,\n        size=df_2007['size'][df_2007['parent_category_name'] == 'Бытовая электроника'],\n        line=dict(\n            width=2\n        ),\n    )\n)\ntrace3 = go.Scatter(\n    x=df_2007['price_log'][df_2007['parent_category_name'] == 'Недвижимость'],\n    y=df_2007['deal_probability'][df_2007['parent_category_name'] == 'Недвижимость'],\n    mode='markers', opacity=0.7,\n    name='Недвижимость', \n    text=df_2007['text'][df_2007['parent_category_name'] == 'Недвижимость'],\n    marker=dict(\n        sizemode='area',\n        sizeref=sizeref,\n        size=df_2007['size'][df_2007['parent_category_name'] == 'Недвижимость'],\n        line=dict(\n            width=2\n        ),\n    )\n)\ntrace4 = go.Scatter(\n    x=df_2007['price_log'][df_2007['parent_category_name'] == 'Хобби и отдых'],\n    y=df_2007['deal_probability'][df_2007['parent_category_name'] == 'Хобби и отдых'],\n    mode='markers', opacity=0.7,\n    name='Хобби и отдых', \n    text=df_2007['text'][df_2007['parent_category_name'] == 'Хобби и отдых'],\n    marker=dict(\n        sizemode='area',\n        sizeref=sizeref,\n        size=df_2007['size'][df_2007['parent_category_name'] == 'Хобби и отдых'],\n        line=dict(\n            width=2\n        ),\n    )\n)\n\ndata = [trace0, trace1, trace2, trace3, trace4]\nlayout = go.Layout(\n    title='Price vs Deal Probability', showlegend=True,\n    xaxis=dict(\n        title=\"Price Logof Avito's Ads(US)\",\n        zerolinewidth=1,\n        ticklen=5,\n        gridwidth=2,\n    ),\n    yaxis=dict(\n        title='Deal Probability',\n        zerolinewidth=1,\n        ticklen=5,\n        gridwidth=2,\n    ), legend=dict(\n        orientation=\"v\")\n    )\n\nfig = go.Figure(data=data, layout=layout)\niplot(fig)","execution_count":null,"outputs":[]},{"metadata":{"_uuid":"83a11832dae89c54da48176e25ff6c38c1376578","collapsed":true,"_cell_guid":"ef9a02f5-51e1-4fc5-abeb-e68181409543"},"cell_type":"markdown","source":"- I will improve this "},{"metadata":{"_uuid":"7146748a12966cb0d8b224a8b8450175027c23e5","collapsed":true,"_cell_guid":"37cca08b-66b2-4a50-bdd1-50d936c05473","trusted":false},"cell_type":"code","source":"","execution_count":null,"outputs":[]},{"metadata":{"_uuid":"e9a46fe4905bdb886a10bbed65d996f9d9dfe67e","collapsed":true,"_cell_guid":"f95d1505-0721-415a-ba68-3cea01a5dcd3","trusted":false},"cell_type":"code","source":"","execution_count":null,"outputs":[]}],"metadata":{"kernelspec":{"display_name":"Python 3","language":"python","name":"python3"},"language_info":{"name":"python","version":"3.6.5","mimetype":"text/x-python","codemirror_mode":{"name":"ipython","version":3},"pygments_lexer":"ipython3","nbconvert_exporter":"python","file_extension":".py"}},"nbformat":4,"nbformat_minor":1}