ag update readme and added documentation
This commit is contained in:
1 parent
ea097a7b71
commit
7eb456384e
18 files changed
+14754
-28
No files matched your search
@@ -0,0 +1,686 @@
|
||||
{
|
||||
"cells": [
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 4,
|
||||
"id": "7c5d059b-ed8a-4e2e-9420-25890f648895",
|
||||
"metadata": {},
|
||||
"outputs": [
|
||||
{
|
||||
"name": "stderr",
|
||||
"output_type": "stream",
|
||||
"text": [
|
||||
"/tmp/ipykernel_42878/2472232159.py:7: UserWarning: pandas only supports SQLAlchemy connectable (engine/connection) or database string URI or sqlite3 DBAPI2 connection. Other DBAPI2 objects are not tested. Please consider using SQLAlchemy.\n",
|
||||
" df = pd.read_sql('select * from data_safeidx', con=engine)\n"
|
||||
]
|
||||
}
|
||||
],
|
||||
"source": [
|
||||
"import pandas as pd\n",
|
||||
"import psycopg2 as pg\n",
|
||||
"import matplotlib.pyplot as plt\n",
|
||||
"import numpy as np\n",
|
||||
"from sklearn.model_selection import train_test_split\n",
|
||||
"engine = pg.connect(\"dbname='safeidx' user='fbk_mpba' host='172.104.247.67' port='5432' password='fbk2024$'\")\n",
|
||||
"df = pd.read_sql('select * from data_safeidx', con=engine)"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 6,
|
||||
"id": "03aa2a04-93fa-469e-a678-685cacdebd6c",
|
||||
"metadata": {},
|
||||
"outputs": [
|
||||
{
|
||||
"data": {
|
||||
"text/html": [
|
||||
"<div>\n",
|
||||
"<style scoped>\n",
|
||||
" .dataframe tbody tr th:only-of-type {\n",
|
||||
" vertical-align: middle;\n",
|
||||
" }\n",
|
||||
"\n",
|
||||
" .dataframe tbody tr th {\n",
|
||||
" vertical-align: top;\n",
|
||||
" }\n",
|
||||
"\n",
|
||||
" .dataframe thead th {\n",
|
||||
" text-align: right;\n",
|
||||
" }\n",
|
||||
"</style>\n",
|
||||
"<table border=\"1\" class=\"dataframe\">\n",
|
||||
" <thead>\n",
|
||||
" <tr style=\"text-align: right;\">\n",
|
||||
" <th></th>\n",
|
||||
" <th>difficulty</th>\n",
|
||||
" <th>cause</th>\n",
|
||||
" <th>town</th>\n",
|
||||
" <th>province</th>\n",
|
||||
" <th>gender</th>\n",
|
||||
" <th>equipment</th>\n",
|
||||
" <th>helmet</th>\n",
|
||||
" <th>destination</th>\n",
|
||||
" <th>diagnosis</th>\n",
|
||||
" <th>india</th>\n",
|
||||
" <th>age</th>\n",
|
||||
" <th>country</th>\n",
|
||||
" <th>injury_side</th>\n",
|
||||
" <th>injury_general_location</th>\n",
|
||||
" <th>evacuation_vehicles</th>\n",
|
||||
" </tr>\n",
|
||||
" </thead>\n",
|
||||
" <tbody>\n",
|
||||
" <tr>\n",
|
||||
" <th>0</th>\n",
|
||||
" <td>novice</td>\n",
|
||||
" <td>fall_alone</td>\n",
|
||||
" <td>SIKLOS</td>\n",
|
||||
" <td></td>\n",
|
||||
" <td>F</td>\n",
|
||||
" <td>ski</td>\n",
|
||||
" <td>None</td>\n",
|
||||
" <td>hospital_emergency_room</td>\n",
|
||||
" <td>distortion</td>\n",
|
||||
" <td>None</td>\n",
|
||||
" <td>32.0</td>\n",
|
||||
" <td>Ungheria</td>\n",
|
||||
" <td>L</td>\n",
|
||||
" <td>lower_limbs</td>\n",
|
||||
" <td>[akja]</td>\n",
|
||||
" </tr>\n",
|
||||
" <tr>\n",
|
||||
" <th>1</th>\n",
|
||||
" <td>advanced</td>\n",
|
||||
" <td>fall_alone</td>\n",
|
||||
" <td>MALMO</td>\n",
|
||||
" <td></td>\n",
|
||||
" <td>M</td>\n",
|
||||
" <td>ski</td>\n",
|
||||
" <td>None</td>\n",
|
||||
" <td>hospital_emergency_room</td>\n",
|
||||
" <td>bruise</td>\n",
|
||||
" <td>None</td>\n",
|
||||
" <td>32.0</td>\n",
|
||||
" <td>Svezia</td>\n",
|
||||
" <td>R</td>\n",
|
||||
" <td>skull_or_face</td>\n",
|
||||
" <td>[akja]</td>\n",
|
||||
" </tr>\n",
|
||||
" <tr>\n",
|
||||
" <th>2</th>\n",
|
||||
" <td>advanced</td>\n",
|
||||
" <td>fall_alone</td>\n",
|
||||
" <td>CALDARO</td>\n",
|
||||
" <td>BZ</td>\n",
|
||||
" <td>F</td>\n",
|
||||
" <td>ski</td>\n",
|
||||
" <td>None</td>\n",
|
||||
" <td>domicile</td>\n",
|
||||
" <td>other</td>\n",
|
||||
" <td>None</td>\n",
|
||||
" <td>12.0</td>\n",
|
||||
" <td>Italia</td>\n",
|
||||
" <td>R</td>\n",
|
||||
" <td>None</td>\n",
|
||||
" <td>[snowmobile]</td>\n",
|
||||
" </tr>\n",
|
||||
" <tr>\n",
|
||||
" <th>3</th>\n",
|
||||
" <td>advanced</td>\n",
|
||||
" <td>collision_person</td>\n",
|
||||
" <td>LINZ</td>\n",
|
||||
" <td></td>\n",
|
||||
" <td>M</td>\n",
|
||||
" <td>ski</td>\n",
|
||||
" <td>None</td>\n",
|
||||
" <td>hospital_emergency_room</td>\n",
|
||||
" <td>bruise</td>\n",
|
||||
" <td>None</td>\n",
|
||||
" <td>58.0</td>\n",
|
||||
" <td>Austria</td>\n",
|
||||
" <td>R</td>\n",
|
||||
" <td>lower_limbs</td>\n",
|
||||
" <td>[snowmobile]</td>\n",
|
||||
" </tr>\n",
|
||||
" <tr>\n",
|
||||
" <th>4</th>\n",
|
||||
" <td>advanced</td>\n",
|
||||
" <td>collision_person</td>\n",
|
||||
" <td>RUSAVA</td>\n",
|
||||
" <td></td>\n",
|
||||
" <td>M</td>\n",
|
||||
" <td>ski</td>\n",
|
||||
" <td>None</td>\n",
|
||||
" <td>other</td>\n",
|
||||
" <td>bruise</td>\n",
|
||||
" <td>None</td>\n",
|
||||
" <td>25.0</td>\n",
|
||||
" <td>Repubblica Ceca</td>\n",
|
||||
" <td>L</td>\n",
|
||||
" <td>lower_limbs</td>\n",
|
||||
" <td>[other]</td>\n",
|
||||
" </tr>\n",
|
||||
" </tbody>\n",
|
||||
"</table>\n",
|
||||
"</div>"
|
||||
],
|
||||
"text/plain": [
|
||||
" difficulty cause town province gender equipment helmet \\\n",
|
||||
"0 novice fall_alone SIKLOS F ski None \n",
|
||||
"1 advanced fall_alone MALMO M ski None \n",
|
||||
"2 advanced fall_alone CALDARO BZ F ski None \n",
|
||||
"3 advanced collision_person LINZ M ski None \n",
|
||||
"4 advanced collision_person RUSAVA M ski None \n",
|
||||
"\n",
|
||||
" destination diagnosis india age country \\\n",
|
||||
"0 hospital_emergency_room distortion None 32.0 Ungheria \n",
|
||||
"1 hospital_emergency_room bruise None 32.0 Svezia \n",
|
||||
"2 domicile other None 12.0 Italia \n",
|
||||
"3 hospital_emergency_room bruise None 58.0 Austria \n",
|
||||
"4 other bruise None 25.0 Repubblica Ceca \n",
|
||||
"\n",
|
||||
" injury_side injury_general_location evacuation_vehicles \n",
|
||||
"0 L lower_limbs [akja] \n",
|
||||
"1 R skull_or_face [akja] \n",
|
||||
"2 R None [snowmobile] \n",
|
||||
"3 R lower_limbs [snowmobile] \n",
|
||||
"4 L lower_limbs [other] "
|
||||
]
|
||||
},
|
||||
"execution_count": 6,
|
||||
"metadata": {},
|
||||
"output_type": "execute_result"
|
||||
}
|
||||
],
|
||||
"source": [
|
||||
"df.head()"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 99,
|
||||
"id": "babc2e8b-1030-4e8a-aa41-6d2a788959a5",
|
||||
"metadata": {},
|
||||
"outputs": [
|
||||
{
|
||||
"ename": "AttributeError",
|
||||
"evalue": "'Series' object has no attribute 'evacuation_vehicles'",
|
||||
"output_type": "error",
|
||||
"traceback": [
|
||||
"\u001b[0;31m---------------------------------------------------------------------------\u001b[0m",
|
||||
"\u001b[0;31mAttributeError\u001b[0m Traceback (most recent call last)",
|
||||
"\u001b[0;32m/tmp/ipykernel_42878/3368331793.py\u001b[0m in \u001b[0;36m?\u001b[0;34m()\u001b[0m\n\u001b[1;32m 1\u001b[0m \u001b[0mev\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mset\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m{\u001b[0m\u001b[0;34m}\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 2\u001b[0m \u001b[0;32mfor\u001b[0m \u001b[0mi\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0mrow\u001b[0m \u001b[0;32min\u001b[0m \u001b[0mdf\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0miterrows\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m----> 3\u001b[0;31m \u001b[0mev\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mev\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0munion\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mset\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mrow\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mevacuation_vehicles\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m",
|
||||
"\u001b[0;32m~/miniconda3/envs/pid/lib/python3.11/site-packages/pandas/core/generic.py\u001b[0m in \u001b[0;36m?\u001b[0;34m(self, name)\u001b[0m\n\u001b[1;32m 6289\u001b[0m \u001b[0;32mand\u001b[0m \u001b[0mname\u001b[0m \u001b[0;32mnot\u001b[0m \u001b[0;32min\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_accessors\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 6290\u001b[0m \u001b[0;32mand\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_info_axis\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_can_hold_identifiers_and_holds_name\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mname\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 6291\u001b[0m ):\n\u001b[1;32m 6292\u001b[0m \u001b[0;32mreturn\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0mname\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m-> 6293\u001b[0;31m \u001b[0;32mreturn\u001b[0m \u001b[0mobject\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m__getattribute__\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mname\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m",
|
||||
"\u001b[0;31mAttributeError\u001b[0m: 'Series' object has no attribute 'evacuation_vehicles'"
|
||||
]
|
||||
}
|
||||
],
|
||||
"source": [
|
||||
"ev = set({})\n",
|
||||
"for i,row in df.iterrows():\n",
|
||||
" ev = ev.union(set(row.evacuation_vehicles))"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 8,
|
||||
"id": "c8d6cc1c-f4f5-44ec-8652-b135963452ab",
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"for c in ev:\n",
|
||||
" df[c] = False\n",
|
||||
"for i,row in df.iterrows():\n",
|
||||
" for c in row.evacuation_vehicles:\n",
|
||||
" df.loc[i,c] = True"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 9,
|
||||
"id": "758c3317-1b02-4aed-b94d-7b6998d23797",
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"df.drop(columns=['town','province','evacuation_vehicles'],inplace=True)"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": null,
|
||||
"id": "adadc0dc-9d6e-4277-8956-d1d4b2492e7e",
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": []
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 100,
|
||||
"id": "33617e77-7c2b-41a3-96c0-8930aa5ac869",
|
||||
"metadata": {},
|
||||
"outputs": [
|
||||
{
|
||||
"data": {
|
||||
"text/plain": [
|
||||
"(array([1.3808e+04, 0.0000e+00, 8.8100e+02, 0.0000e+00, 0.0000e+00,\n",
|
||||
" 3.3690e+03, 0.0000e+00, 1.5200e+02, 0.0000e+00, 1.1000e+01]),\n",
|
||||
" array([0. , 0.4, 0.8, 1.2, 1.6, 2. , 2.4, 2.8, 3.2, 3.6, 4. ]),\n",
|
||||
" <BarContainer object of 10 artists>)"
|
||||
]
|
||||
},
|
||||
"execution_count": 100,
|
||||
"metadata": {},
|
||||
"output_type": "execute_result"
|
||||
},
|
||||
{
|
||||
"data": {
|
||||
"image/png": "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 truncated
|
||||
"text/plain": [
|
||||
"<Figure size 640x480 with 1 Axes>"
|
||||
]
|
||||
},
|
||||
"metadata": {},
|
||||
"output_type": "display_data"
|
||||
}
|
||||
],
|
||||
"source": [
|
||||
"labeled = df[~pd.isna(df.india)]\n",
|
||||
"plt.hist(labeled.india)"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 101,
|
||||
"id": "2bda819b-4d4b-4e71-960a-53dd74d80b71",
|
||||
"metadata": {},
|
||||
"outputs": [
|
||||
{
|
||||
"name": "stderr",
|
||||
"output_type": "stream",
|
||||
"text": [
|
||||
"/tmp/ipykernel_42878/2289208715.py:1: SettingWithCopyWarning: \n",
|
||||
"A value is trying to be set on a copy of a slice from a DataFrame.\n",
|
||||
"Try using .loc[row_indexer,col_indexer] = value instead\n",
|
||||
"\n",
|
||||
"See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n",
|
||||
" labeled['is_i1']=0\n"
|
||||
]
|
||||
},
|
||||
{
|
||||
"data": {
|
||||
"text/plain": [
|
||||
"(array([ 3532., 0., 0., 0., 0., 0., 0., 0.,\n",
|
||||
" 0., 14689.]),\n",
|
||||
" array([0. , 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1. ]),\n",
|
||||
" <BarContainer object of 10 artists>)"
|
||||
]
|
||||
},
|
||||
"execution_count": 101,
|
||||
"metadata": {},
|
||||
"output_type": "execute_result"
|
||||
},
|
||||
{
|
||||
"data": {
|
||||
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAjkAAAGdCAYAAADwjmIIAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8g+/7EAAAACXBIWXMAAA9hAAAPYQGoP6dpAAAsVElEQVR4nO3df1RVdb7/8ReIgJnn4I8LeL6h0o9RKUdLJ6TSpokljeRc7thNkzHvDMk0QZNSKo6F9hOjrLQcuVYzutbo1ZyV3EIHZXCMSQkV5aqkVDdKHe+BWsg5Sokg+/vHLHadpBI7gOfT87HWXmvO/rz3Z7/3Z6zzWtt9dkGWZVkCAAAwTHB3NwAAANAZCDkAAMBIhBwAAGAkQg4AADASIQcAABiJkAMAAIxEyAEAAEYi5AAAACOFdHcD3am1tVXHjx9Xnz59FBQU1N3tAACA82BZlk6ePCmXy6Xg4K+/X/O9DjnHjx9XTExMd7cBAAAuwNGjR3XZZZd97fj3OuT06dNH0j8XyeFwdHM3AADgfHi9XsXExNjf41/nex1y2v6KyuFwEHIAAAgw3/aoCQ8eAwAAIxFyAACAkQg5AADASIQcAABgJEIOAAAwEiEHAAAYiZADAACMRMgBAABGIuQAAAAjEXIAAICRCDkAAMBIhBwAAGAkQg4AADASIQcAABgppLsbAAAA325I9qbubqHDPlqc3K3n504OAAAwEiEHAAAYiZADAACMRMgBAABGIuQAAAAjEXIAAICRCDkAAMBIhBwAAGAkQg4AADASIQcAABiJkAMAAIxEyAEAAEbqcMgpLS3VpEmT5HK5FBQUpIKCgq+tvffeexUUFKQXXnjBZ399fb1SU1PlcDgUERGhtLQ0nTp1yqdm//79GjdunMLDwxUTE6O8vLxz5t+wYYOGDRum8PBwjRgxQps3b+7o5QAAAEN1OOQ0NjZq5MiRWr58+TfWbdy4Ue+8845cLtc5Y6mpqaqqqlJxcbEKCwtVWlqq9PR0e9zr9WrChAkaPHiwKioq9Mwzz2jRokVauXKlXbNz507dddddSktL0759+5SSkqKUlBQdPHiwo5cEAAAMFGRZlnXBBwcFaePGjUpJSfHZ/49//EPx8fHasmWLkpOTNWvWLM2aNUuSdOjQIcXFxWn37t0aM2aMJKmoqEgTJ07UsWPH5HK5tGLFCi1YsEBut1uhoaGSpOzsbBUUFOjw4cOSpClTpqixsVGFhYX2eceOHatRo0YpPz//vPr3er1yOp3yeDxyOBwXugwAAHS6IdmburuFDvtocXKnzHu+399+fyantbVV06dP15w5c3T11VefM15WVqaIiAg74EhSYmKigoODVV5ebteMHz/eDjiSlJSUpOrqap04ccKuSUxM9Jk7KSlJZWVlX9tbU1OTvF6vzwYAAMzk95Dz9NNPKyQkRL/97W/bHXe73YqMjPTZFxISon79+sntdts1UVFRPjVtn7+tpm28Pbm5uXI6nfYWExPTsYsDAAABw68hp6KiQkuXLtWqVasUFBTkz6n9Yv78+fJ4PPZ29OjR7m4JAAB0Er+GnL///e+qq6vToEGDFBISopCQEH388cd68MEHNWTIEElSdHS06urqfI5raWlRfX29oqOj7Zra2lqfmrbP31bTNt6esLAwORwOnw0AAJjJryFn+vTp2r9/vyorK+3N5XJpzpw52rJliyQpISFBDQ0NqqiosI/btm2bWltbFR8fb9eUlpaqubnZrikuLtbQoUPVt29fu6akpMTn/MXFxUpISPDnJQEAgAAV0tEDTp06pQ8++MD+XFNTo8rKSvXr10+DBg1S//79fep79uyp6OhoDR06VJI0fPhw3XbbbZo5c6by8/PV3NyszMxMTZ061f65+bRp0/Too48qLS1N8+bN08GDB7V06VI9//zz9rwPPPCAbr75Zi1ZskTJyclat26d9uzZ4/MzcwAA8P3V4Ts5e/bs0bXXXqtrr71WkpSVlaVrr71WOTk55z3HmjVrNGzYMN16662aOHGibrrpJp9w4nQ6tXXrVtXU1Gj06NF68MEHlZOT4/MunRtuuEFr167VypUrNXLkSP35z39WQUGBrrnmmo5eEgAAMNB3ek9OoOM9OQCAQMF7cr7Qbe/JAQAAuBgQcgAAgJEIOQAAwEiEHAAAYCRCDgAAMBIhBwAAGImQAwAAjETIAQAARiLkAAAAIxFyAACAkQg5AADASIQcAABgJEIOAAAwEiEHAAAYiZADAACMRMgBAABGIuQAAAAjEXIAAICRCDkAAMBIhBwAAGAkQg4AADASIQcAABiJkAMAAIxEyAEAAEYi5AAAACMRcgAAgJEIOQAAwEiEHAAAYCRCDgAAMBIhBwAAGImQAwAAjETIAQAARiLkAAAAIxFyAACA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 truncated
|
||||
"text/plain": [
|
||||
"<Figure size 640x480 with 1 Axes>"
|
||||
]
|
||||
},
|
||||
"metadata": {},
|
||||
"output_type": "display_data"
|
||||
}
|
||||
],
|
||||
"source": [
|
||||
"labeled['is_i1']=0\n",
|
||||
"labeled.loc[labeled.india.isin(['i1','i0']),'is_i1']=1\n",
|
||||
"plt.hist(labeled.is_i1)"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 103,
|
||||
"id": "e8c139d9-bf61-45ec-9da1-7eaf4ff754b4",
|
||||
"metadata": {},
|
||||
"outputs": [
|
||||
{
|
||||
"name": "stderr",
|
||||
"output_type": "stream",
|
||||
"text": [
|
||||
"/tmp/ipykernel_42878/1116779111.py:1: SettingWithCopyWarning: \n",
|
||||
"A value is trying to be set on a copy of a slice from a DataFrame.\n",
|
||||
"Try using .loc[row_indexer,col_indexer] = value instead\n",
|
||||
"\n",
|
||||
"See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n",
|
||||
" labeled[c] = labeled[c].astype(np.float32).fillna(np.nan)\n",
|
||||
"/tmp/ipykernel_42878/1116779111.py:4: SettingWithCopyWarning: \n",
|
||||
"A value is trying to be set on a copy of a slice from a DataFrame.\n",
|
||||
"Try using .loc[row_indexer,col_indexer] = value instead\n",
|
||||
"\n",
|
||||
"See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n",
|
||||
" labeled[c] = labeled[c].fillna('None').astype('category')\n",
|
||||
"/tmp/ipykernel_42878/1116779111.py:4: SettingWithCopyWarning: \n",
|
||||
"A value is trying to be set on a copy of a slice from a DataFrame.\n",
|
||||
"Try using .loc[row_indexer,col_indexer] = value instead\n",
|
||||
"\n",
|
||||
"See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n",
|
||||
" labeled[c] = labeled[c].fillna('None').astype('category')\n",
|
||||
"/tmp/ipykernel_42878/1116779111.py:4: SettingWithCopyWarning: \n",
|
||||
"A value is trying to be set on a copy of a slice from a DataFrame.\n",
|
||||
"Try using .loc[row_indexer,col_indexer] = value instead\n",
|
||||
"\n",
|
||||
"See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n",
|
||||
" labeled[c] = labeled[c].fillna('None').astype('category')\n",
|
||||
"/tmp/ipykernel_42878/1116779111.py:4: SettingWithCopyWarning: \n",
|
||||
"A value is trying to be set on a copy of a slice from a DataFrame.\n",
|
||||
"Try using .loc[row_indexer,col_indexer] = value instead\n",
|
||||
"\n",
|
||||
"See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n",
|
||||
" labeled[c] = labeled[c].fillna('None').astype('category')\n",
|
||||
"/tmp/ipykernel_42878/1116779111.py:4: SettingWithCopyWarning: \n",
|
||||
"A value is trying to be set on a copy of a slice from a DataFrame.\n",
|
||||
"Try using .loc[row_indexer,col_indexer] = value instead\n",
|
||||
"\n",
|
||||
"See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n",
|
||||
" labeled[c] = labeled[c].fillna('None').astype('category')\n",
|
||||
"/tmp/ipykernel_42878/1116779111.py:4: SettingWithCopyWarning: \n",
|
||||
"A value is trying to be set on a copy of a slice from a DataFrame.\n",
|
||||
"Try using .loc[row_indexer,col_indexer] = value instead\n",
|
||||
"\n",
|
||||
"See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n",
|
||||
" labeled[c] = labeled[c].fillna('None').astype('category')\n",
|
||||
"/tmp/ipykernel_42878/1116779111.py:4: SettingWithCopyWarning: \n",
|
||||
"A value is trying to be set on a copy of a slice from a DataFrame.\n",
|
||||
"Try using .loc[row_indexer,col_indexer] = value instead\n",
|
||||
"\n",
|
||||
"See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n",
|
||||
" labeled[c] = labeled[c].fillna('None').astype('category')\n",
|
||||
"/tmp/ipykernel_42878/1116779111.py:4: SettingWithCopyWarning: \n",
|
||||
"A value is trying to be set on a copy of a slice from a DataFrame.\n",
|
||||
"Try using .loc[row_indexer,col_indexer] = value instead\n",
|
||||
"\n",
|
||||
"See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n",
|
||||
" labeled[c] = labeled[c].fillna('None').astype('category')\n",
|
||||
"/tmp/ipykernel_42878/1116779111.py:4: SettingWithCopyWarning: \n",
|
||||
"A value is trying to be set on a copy of a slice from a DataFrame.\n",
|
||||
"Try using .loc[row_indexer,col_indexer] = value instead\n",
|
||||
"\n",
|
||||
"See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n",
|
||||
" labeled[c] = labeled[c].fillna('None').astype('category')\n",
|
||||
"/tmp/ipykernel_42878/1116779111.py:4: SettingWithCopyWarning: \n",
|
||||
"A value is trying to be set on a copy of a slice from a DataFrame.\n",
|
||||
"Try using .loc[row_indexer,col_indexer] = value instead\n",
|
||||
"\n",
|
||||
"See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n",
|
||||
" labeled[c] = labeled[c].fillna('None').astype('category')\n",
|
||||
"/tmp/ipykernel_42878/1116779111.py:4: SettingWithCopyWarning: \n",
|
||||
"A value is trying to be set on a copy of a slice from a DataFrame.\n",
|
||||
"Try using .loc[row_indexer,col_indexer] = value instead\n",
|
||||
"\n",
|
||||
"See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n",
|
||||
" labeled[c] = labeled[c].fillna('None').astype('category')\n"
|
||||
]
|
||||
}
|
||||
],
|
||||
"source": [
|
||||
"labeled[c] = labeled[c].astype(np.float32).fillna(np.nan)\n",
|
||||
"for c in labeled.columns:\n",
|
||||
" if c!='age':\n",
|
||||
" labeled[c] = labeled[c].fillna('None').astype('category')\n"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 104,
|
||||
"id": "fabf354e-f39e-4cde-af84-c65a277d309a",
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"X_train, X_test, y_train, y_test = train_test_split( labeled.drop(columns=['india','is_i1']),\n",
|
||||
" labeled.is_i1, test_size=0.33, random_state=0,stratify=labeled.is_i1)"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 105,
|
||||
"id": "cf6cf5d8-d43e-499e-98a5-65ecd0b8ccda",
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"X_train, X_valid, y_train, y_valid = train_test_split(X_train,y_train, test_size=0.33, random_state=0,stratify=y_train)"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 147,
|
||||
"id": "774ad570-a60b-475b-80cf-4f9b9949cc9d",
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"weight_train = (1-y_train.values.astype(int))*5+1 ## peso classi unbalanced"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 148,
|
||||
"id": "4bed71a8-6420-4432-8362-3fe24eb394fb",
|
||||
"metadata": {},
|
||||
"outputs": [
|
||||
{
|
||||
"data": {
|
||||
"text/plain": [
|
||||
"array([6, 6, 1, ..., 1, 1, 1])"
|
||||
]
|
||||
},
|
||||
"execution_count": 148,
|
||||
"metadata": {},
|
||||
"output_type": "execute_result"
|
||||
}
|
||||
],
|
||||
"source": [
|
||||
"weight_train"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 149,
|
||||
"id": "1fcc5234-abad-459a-9420-810833657796",
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"from catboost import CatBoostClassifier, Pool\n",
|
||||
"\n",
|
||||
"train_data = Pool(data=X_train,\n",
|
||||
" label=y_train,\n",
|
||||
" weight=weight_train,cat_features=[c for c in X_train.columns if c!='age'])\n",
|
||||
"valid_data = Pool(data=X_valid,\n",
|
||||
" label=y_valid,cat_features=[c for c in X_train.columns if c!='age']\n",
|
||||
" )\n",
|
||||
"model = CatBoostClassifier(iterations=1000)\n",
|
||||
"\n",
|
||||
"model.fit(train_data,eval_set=valid_data,verbose=False,early_stopping_rounds=100)\n",
|
||||
"preds_class = model.predict(valid_data,)"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 150,
|
||||
"id": "8df84007-110b-4f31-bc7d-53e7d5c9a178",
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"preds_class_valid = model.predict(valid_data)\n",
|
||||
"preds_class_train= model.predict(train_data)"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 151,
|
||||
"id": "55627ec4-fd24-4815-98d4-d8462bbfdd9a",
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"from sklearn.metrics import confusion_matrix,matthews_corrcoef,accuracy_score"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": null,
|
||||
"id": "877e914d-44d4-4299-8d3c-24c4fc353317",
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": []
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 152,
|
||||
"id": "776395d9-a8e2-4fda-90e1-11d6dbe80de8",
|
||||
"metadata": {},
|
||||
"outputs": [
|
||||
{
|
||||
"name": "stdout",
|
||||
"output_type": "stream",
|
||||
"text": [
|
||||
"[[ 622 159]\n",
|
||||
" [ 778 2470]]\n",
|
||||
"0.4623150659581546\n",
|
||||
"0.7674360883593944\n",
|
||||
"########################################\n",
|
||||
"[[1436 149]\n",
|
||||
" [1358 5236]]\n",
|
||||
"0.5834604503367398\n",
|
||||
"0.8157476464115417\n"
|
||||
]
|
||||
}
|
||||
],
|
||||
"source": [
|
||||
"print(confusion_matrix(y_valid,preds_class_valid))\n",
|
||||
"print(matthews_corrcoef(y_valid,preds_class_valid))\n",
|
||||
"print(accuracy_score(y_valid,preds_class_valid))\n",
|
||||
"print('########################################')\n",
|
||||
"print(confusion_matrix(y_train,preds_class_train))\n",
|
||||
"print(matthews_corrcoef(y_train,preds_class_train))\n",
|
||||
"print(accuracy_score(y_train,preds_class_train))"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 157,
|
||||
"id": "34c397bc-529a-4c52-b30e-957b28021200",
|
||||
"metadata": {},
|
||||
"outputs": [
|
||||
{
|
||||
"ename": "TypeError",
|
||||
"evalue": "DMatrix.__init__() got an unexpected keyword argument 'scale_pos_weight'",
|
||||
"output_type": "error",
|
||||
"traceback": [
|
||||
"\u001b[0;31m---------------------------------------------------------------------------\u001b[0m",
|
||||
"\u001b[0;31mTypeError\u001b[0m Traceback (most recent call last)",
|
||||
"Cell \u001b[0;32mIn[157], line 5\u001b[0m\n\u001b[1;32m 2\u001b[0m \u001b[38;5;28;01mimport\u001b[39;00m \u001b[38;5;21;01mxgboost\u001b[39;00m \u001b[38;5;28;01mas\u001b[39;00m \u001b[38;5;21;01mxgb\u001b[39;00m\n\u001b[1;32m 4\u001b[0m \u001b[38;5;66;03m# Create regression matrices\u001b[39;00m\n\u001b[0;32m----> 5\u001b[0m dtrain \u001b[38;5;241m=\u001b[39m \u001b[43mxgb\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mDMatrix\u001b[49m\u001b[43m(\u001b[49m\u001b[43mX_train\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43my_train\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mastype\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;28;43mint\u001b[39;49m\u001b[43m)\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43menable_categorical\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[38;5;28;43;01mTrue\u001b[39;49;00m\u001b[43m,\u001b[49m\u001b[43mscale_pos_weight\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[38;5;241;43m100\u001b[39;49m\u001b[43m)\u001b[49m\u001b[38;5;66;03m#,weight=weight_train)\u001b[39;00m\n\u001b[1;32m 6\u001b[0m dvalid \u001b[38;5;241m=\u001b[39m xgb\u001b[38;5;241m.\u001b[39mDMatrix(X_valid, y_valid\u001b[38;5;241m.\u001b[39mastype(\u001b[38;5;28mint\u001b[39m), enable_categorical\u001b[38;5;241m=\u001b[39m\u001b[38;5;28;01mTrue\u001b[39;00m)\n",
|
||||
"File \u001b[0;32m~/miniconda3/envs/pid/lib/python3.11/site-packages/xgboost/core.py:730\u001b[0m, in \u001b[0;36mrequire_keyword_args.<locals>.throw_if.<locals>.inner_f\u001b[0;34m(*args, **kwargs)\u001b[0m\n\u001b[1;32m 728\u001b[0m \u001b[38;5;28;01mfor\u001b[39;00m k, arg \u001b[38;5;129;01min\u001b[39;00m \u001b[38;5;28mzip\u001b[39m(sig\u001b[38;5;241m.\u001b[39mparameters, args):\n\u001b[1;32m 729\u001b[0m kwargs[k] \u001b[38;5;241m=\u001b[39m arg\n\u001b[0;32m--> 730\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[43mfunc\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43mkwargs\u001b[49m\u001b[43m)\u001b[49m\n",
|
||||
"\u001b[0;31mTypeError\u001b[0m: DMatrix.__init__() got an unexpected keyword argument 'scale_pos_weight'"
|
||||
]
|
||||
}
|
||||
],
|
||||
"source": [
|
||||
"##try with xgboost\n",
|
||||
"import xgboost as xgb\n",
|
||||
"\n",
|
||||
"# Create regression matrices\n",
|
||||
"dtrain = xgb.DMatrix(X_train, y_train.astype(int), enable_categorical=True)#,weight=weight_train)\n",
|
||||
"dvalid = xgb.DMatrix(X_valid, y_valid.astype(int), enable_categorical=True)"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 154,
|
||||
"id": "7bb54c1d-ed2c-496a-b149-d567246bfee0",
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"params = {\"objective\": \"multi:softprob\", \"num_class\": 2}\n",
|
||||
"n = 1000\n",
|
||||
"\n",
|
||||
"results = xgb.train(\n",
|
||||
" params, dtrain,\n",
|
||||
" num_boost_round=n,\n",
|
||||
" evals = [(dtrain, \"train\"), (dvalid, \"valid\")],\n",
|
||||
" verbose_eval=False,\n",
|
||||
" early_stopping_rounds=100\n",
|
||||
" # metrics=[\"mlogloss\", \"auc\", \"merror\"],\n",
|
||||
")\n"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 155,
|
||||
"id": "945e209e-1722-434e-b0bf-5104b3234eb9",
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"preds_class_valid = results.predict(dvalid)\n",
|
||||
"preds_class_train= results.predict(dtrain)"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 156,
|
||||
"id": "65228d59-e4c2-411d-8535-b36c15a55bfd",
|
||||
"metadata": {},
|
||||
"outputs": [
|
||||
{
|
||||
"name": "stdout",
|
||||
"output_type": "stream",
|
||||
"text": [
|
||||
"[[ 492 289]\n",
|
||||
" [ 471 2777]]\n",
|
||||
"0.4495009568013873\n",
|
||||
"0.811367585008687\n",
|
||||
"########################################\n",
|
||||
"[[1584 1]\n",
|
||||
" [ 389 6205]]\n",
|
||||
"0.8688028589259579\n",
|
||||
"0.9523169091575987\n"
|
||||
]
|
||||
}
|
||||
],
|
||||
"source": [
|
||||
"print(confusion_matrix(y_valid,preds_class_valid.argmax(1)))\n",
|
||||
"print(matthews_corrcoef(y_valid,preds_class_valid.argmax(1)))\n",
|
||||
"print(accuracy_score(y_valid,preds_class_valid.argmax(1)))\n",
|
||||
"print('########################################')\n",
|
||||
"print(confusion_matrix(y_train,preds_class_train.argmax(1)))\n",
|
||||
"print(matthews_corrcoef(y_train,preds_class_train.argmax(1)))\n",
|
||||
"print(accuracy_score(y_train,preds_class_train.argmax(1)))"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": null,
|
||||
"id": "95461970-fad9-4c50-84d3-e139bedfec3f",
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": []
|
||||
}
|
||||
],
|
||||
"metadata": {
|
||||
"kernelspec": {
|
||||
"display_name": "Python 3 (ipykernel)",
|
||||
"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.11.0"
|
||||
}
|
||||
},
|
||||
"nbformat": 4,
|
||||
"nbformat_minor": 5
|
||||
}
|
||||
File diff suppressed because it is too large.
Load diff
File diff suppressed because it is too large.
Load diff
File diff suppressed because it is too large.
Load diff
File diff suppressed because it is too large.
Load diff
File diff suppressed because it is too large.
Load diff
File diff suppressed because it is too large.
Load diff
File diff suppressed because it is too large.
Load diff
Reference in new issue
Block a user