{
"cells": [
{
"cell_type": "markdown",
"id": "1f9a47ca-25c3-4cec-972e-79d613492c5f",
"metadata": {},
"source": [
"# Getting Started with the Data Science Service\n",
"\n",
"Data Science service uses [conda](https://anaconda.org/) environments to manage python dependencies.\n",
"\n",
"[](https://github.com/oracle-samples/oci-data-science-ai-samples/tree/master/notebook_examples)\n",
"[](https://docs.oracle.com/en-us/iaas/data-science/using/conda_understand_environments.htm)\n",
"[](https://github.com/oracle/accelerated-data-science)"
]
},
{
"cell_type": "markdown",
"id": "5c54869f-16ad-4916-9fba-0b90367d5864",
"metadata": {},
"source": [
"## Upgrade Accelerated Data Science SDK - `oracle-ads`"
]
},
{
"cell_type": "markdown",
"id": "25b1b37f-40ed-4f6d-886c-c2ce7ac62548",
"metadata": {},
"source": [
"The Oracle Accelerated Data Science (ADS) SDK is maintained by the Oracle Cloud Infrastructure Data Science service team. It speeds up common data science activities by providing tools that automate and/or simplify common data science tasks, along with providing a data scientist friendly pythonic interface to Oracle Cloud Infrastructure (OCI) services, most notably OCI Data Science, Data Flow, Object Storage, and the Autonomous Database. ADS gives you an interface to manage the lifecycle of machine learning models, from data acquisition to model evaluation, interpretation, and model deployment."
]
},
{
"cell_type": "markdown",
"id": "877c4eb5-85a2-4aa1-a6af-44b9162fa33e",
"metadata": {},
"source": [
"Before you begin with a conda environment, upgrade `oracle-ads` library - [](https://pypi.org/project/oracle-ads/) [](https://pypi.org/project/oracle-ads/)\n",
"\n",
"\n",
"You can check your version of `oracle-ads` by running - "
]
},
{
"cell_type": "code",
"execution_count": 8,
"id": "222fb07b-2814-49c2-b8fa-39dc26fba643",
"metadata": {
"tags": []
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"2.13.5\n"
]
}
],
"source": [
"import ads\n",
"\n",
"print(ads.__version__)"
]
},
{
"cell_type": "code",
"execution_count": 9,
"id": "f2433a51-bbcf-4bfc-b32a-b3c91a9a7c3f",
"metadata": {},
"outputs": [],
"source": [
"# Uncomment this code and set the correct proxy links if have to setup proxy for internet\n",
"# import os\n",
"# os.environ['http_proxy']=\"http://myproxy\"\n",
"# os.environ['https_proxy']=\"http://myproxy\"\n",
"\n",
"# Use os.environ['no_proxy'] to route trafic directly"
]
},
{
"cell_type": "code",
"execution_count": 10,
"id": "77b1c768-746c-4c2d-853f-cb3871d8c1a6",
"metadata": {
"tags": []
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Requirement already satisfied: geopandas in ./conda/automlx251_p311_cpu_x86_64_v2/lib/python3.11/site-packages (1.1.1)\n",
"Requirement already satisfied: numpy>=1.24 in ./conda/automlx251_p311_cpu_x86_64_v2/lib/python3.11/site-packages (from geopandas) (1.26.4)\n",
"Requirement already satisfied: pyogrio>=0.7.2 in ./conda/automlx251_p311_cpu_x86_64_v2/lib/python3.11/site-packages (from geopandas) (0.11.1)\n",
"Requirement already satisfied: packaging in ./conda/automlx251_p311_cpu_x86_64_v2/lib/python3.11/site-packages (from geopandas) (24.2)\n",
"Requirement already satisfied: pandas>=2.0.0 in ./conda/automlx251_p311_cpu_x86_64_v2/lib/python3.11/site-packages (from geopandas) (2.2.2)\n",
"Requirement already satisfied: pyproj>=3.5.0 in ./conda/automlx251_p311_cpu_x86_64_v2/lib/python3.11/site-packages (from geopandas) (3.7.2)\n",
"Requirement already satisfied: shapely>=2.0.0 in ./conda/automlx251_p311_cpu_x86_64_v2/lib/python3.11/site-packages (from geopandas) (2.1.1)\n",
"Requirement already satisfied: python-dateutil>=2.8.2 in ./conda/automlx251_p311_cpu_x86_64_v2/lib/python3.11/site-packages (from pandas>=2.0.0->geopandas) (2.9.0.post0)\n",
"Requirement already satisfied: pytz>=2020.1 in ./conda/automlx251_p311_cpu_x86_64_v2/lib/python3.11/site-packages (from pandas>=2.0.0->geopandas) (2025.2)\n",
"Requirement already satisfied: tzdata>=2022.7 in ./conda/automlx251_p311_cpu_x86_64_v2/lib/python3.11/site-packages (from pandas>=2.0.0->geopandas) (2025.2)\n",
"Requirement already satisfied: certifi in ./conda/automlx251_p311_cpu_x86_64_v2/lib/python3.11/site-packages (from pyogrio>=0.7.2->geopandas) (2025.1.31)\n",
"Requirement already satisfied: six>=1.5 in ./conda/automlx251_p311_cpu_x86_64_v2/lib/python3.11/site-packages (from python-dateutil>=2.8.2->pandas>=2.0.0->geopandas) (1.17.0)\n"
]
}
],
"source": [
"# To upgrade run -\n",
"#! pip install oracle-ads --upgrade\n",
"! pip install geopandas\n",
"#!pip install --upgrade oci\n",
"#!pip install --upgrade ads"
]
},
{
"cell_type": "markdown",
"id": "884f70fb-aff9-4d15-be8a-6b429c8bc291",
"metadata": {},
"source": [
"## Authentication\n",
"To interact with oci services you need to authenticate with one of the following mechanism - "
]
},
{
"cell_type": "markdown",
"id": "8e5ba81e-e557-4035-bcc1-4492ca4eb2ca",
"metadata": {},
"source": [
"### 1. Resource Principal\n",
"\n",
"Resource Principal works by authorizing the notebook instance that you are using to read/manage OCI service resource such as Object Storage, Data Science Jobs, Data Science Models, Data Science Model Deployment, etc. Check these references - \n",
" \n",
"- Refer how to setup policy for managing Data science service resource [here](https://docs.oracle.com/en-us/iaas/data-science/using/policies.htm)\n",
"- Refer how to setup policy for managing Object Storage service resource [here](https://docs.oracle.com/en-us/iaas/Content/Identity/policiescommon/commonpolicies.htm#write-objects-to-buckets)\n",
" \n",
" \n",
"Other useful resources - \n",
"\n",
"- https://docs.oracle.com/en-us/iaas/Content/Identity/Concepts/commonpolicies.htm\n",
"- https://docs.oracle.com/en-us/iaas/Content/Identity/Concepts/policygetstarted.htm#Getting_Started_with_Policies\n",
"\n",
"Once the policies are setup, configure `oracle-ads` to use resource principal as follows - \n",
"\n",
"\n",
"```python\n",
"ads.set_auth('resource_principal')\n",
"```"
]
},
{
"cell_type": "markdown",
"id": "50d09ed1-9ae3-4bf5-a44e-70e3336df119",
"metadata": {},
"source": [
"### 2. API Key\n",
"\n",
"To setup API Key refer - \n",
"\n",
"- https://docs.oracle.com/en-us/iaas/Content/API/Concepts/apisigningkey.htm\n",
"- https://docs.oracle.com/en-us/iaas/Content/API/Concepts/sdkconfig.htm\n",
"\n",
"\n",
"Once you have setup the config and the keys, you can setup ads to use API Keys - \n",
"\n",
"```python\n",
"\n",
"ads.set_auth('api_key')\n",
"\n",
"```"
]
},
{
"cell_type": "markdown",
"id": "c287178a-2edb-465d-ab43-6da3673676cf",
"metadata": {},
"source": [
"## Working with Data on Object Storage"
]
},
{
"cell_type": "code",
"execution_count": 11,
"id": "da1fa0ca-724c-4d66-8cb8-6dfd9f59de75",
"metadata": {
"tags": []
},
"outputs": [],
"source": [
"import ads\n",
"import pandas as pd\n",
"\n",
"ads.set_auth(\"resource_principal\")"
]
},
{
"cell_type": "code",
"execution_count": 12,
"id": "0c6100de-4e45-4dcc-b752-050240d908a2",
"metadata": {
"tags": []
},
"outputs": [],
"source": [
"bucket_name = \"risk_admission_bucket\"\n",
"namespace = \"idi1o0a010nx\"\n",
"\n",
"\n",
"file_name = \"dataset_ed_admission.csv\"\n",
"df = pd.read_csv(\n",
" f\"oci://{bucket_name}@{namespace}/{file_name}\",\n",
" storage_options=ads.common.auth.default_signer(),\n",
")"
]
},
{
"cell_type": "code",
"execution_count": 13,
"id": "beeabd72-63a0-4d30-a3b4-99a542ecf3ee",
"metadata": {
"tags": []
},
"outputs": [
{
"data": {
"text/html": [
"
\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" subject_id | \n",
" hadm_id | \n",
" stay_id | \n",
" intime | \n",
" outtime | \n",
" gender | \n",
" race | \n",
" arrival_transport | \n",
" disposition | \n",
" admitted_from_ed | \n",
" temperature | \n",
" heartrate | \n",
" resprate | \n",
" o2sat | \n",
" sbp | \n",
" dbp | \n",
" n_diagnosis | \n",
" split | \n",
"
\n",
" \n",
" \n",
" \n",
" | 0 | \n",
" 10014729 | \n",
" 23300884.0 | \n",
" 37887480 | \n",
" 2125-03-19 12:36:00 | \n",
" 2125-03-19 16:59:47 | \n",
" F | \n",
" WHITE - OTHER EUROPEAN | \n",
" WALK IN | \n",
" ADMITTED | \n",
" 1 | \n",
" 99.1 | \n",
" 90.0 | \n",
" 26.0 | \n",
" NaN | \n",
" 86.0 | \n",
" 61.0 | \n",
" 4.0 | \n",
" train | \n",
"
\n",
" \n",
" | 1 | \n",
" 10018328 | \n",
" 26706939.0 | \n",
" 34176810 | \n",
" 2154-02-05 17:09:00 | \n",
" 2154-02-05 22:54:00 | \n",
" F | \n",
" WHITE | \n",
" AMBULANCE | \n",
" ADMITTED | \n",
" 1 | \n",
" 97.7 | \n",
" 74.0 | \n",
" 20.0 | \n",
" 96.0 | \n",
" 133.0 | \n",
" 65.0 | \n",
" 1.0 | \n",
" val | \n",
"
\n",
" \n",
" | 2 | \n",
" 10018328 | \n",
" NaN | \n",
" 32103106 | \n",
" 2154-08-03 15:31:00 | \n",
" 2154-08-03 22:29:00 | \n",
" F | \n",
" WHITE | \n",
" AMBULANCE | \n",
" HOME | \n",
" 0 | \n",
" 96.2 | \n",
" 74.0 | \n",
" 18.0 | \n",
" 100.0 | \n",
" 142.0 | \n",
" 75.0 | \n",
" 1.0 | \n",
" val | \n",
"
\n",
" \n",
" | 3 | \n",
" 10020640 | \n",
" 27984218.0 | \n",
" 38797992 | \n",
" 2153-02-12 21:59:00 | \n",
" 2153-02-13 01:38:00 | \n",
" F | \n",
" WHITE | \n",
" AMBULANCE | \n",
" ADMITTED | \n",
" 1 | \n",
" 99.2 | \n",
" 130.0 | \n",
" 32.0 | \n",
" 94.0 | \n",
" 106.0 | \n",
" 74.0 | \n",
" 5.0 | \n",
" val | \n",
"
\n",
" \n",
" | 4 | \n",
" 10015272 | \n",
" 27993466.0 | \n",
" 33473053 | \n",
" 2137-06-12 16:54:00 | \n",
" 2137-06-12 18:37:22 | \n",
" F | \n",
" WHITE | \n",
" AMBULANCE | \n",
" ADMITTED | \n",
" 1 | \n",
" 97.5 | \n",
" 118.0 | \n",
" 18.0 | \n",
" 96.0 | \n",
" 100.0 | \n",
" 56.0 | \n",
" 1.0 | \n",
" train | \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" subject_id hadm_id stay_id intime outtime \\\n",
"0 10014729 23300884.0 37887480 2125-03-19 12:36:00 2125-03-19 16:59:47 \n",
"1 10018328 26706939.0 34176810 2154-02-05 17:09:00 2154-02-05 22:54:00 \n",
"2 10018328 NaN 32103106 2154-08-03 15:31:00 2154-08-03 22:29:00 \n",
"3 10020640 27984218.0 38797992 2153-02-12 21:59:00 2153-02-13 01:38:00 \n",
"4 10015272 27993466.0 33473053 2137-06-12 16:54:00 2137-06-12 18:37:22 \n",
"\n",
" gender race arrival_transport disposition \\\n",
"0 F WHITE - OTHER EUROPEAN WALK IN ADMITTED \n",
"1 F WHITE AMBULANCE ADMITTED \n",
"2 F WHITE AMBULANCE HOME \n",
"3 F WHITE AMBULANCE ADMITTED \n",
"4 F WHITE AMBULANCE ADMITTED \n",
"\n",
" admitted_from_ed temperature heartrate resprate o2sat sbp dbp \\\n",
"0 1 99.1 90.0 26.0 NaN 86.0 61.0 \n",
"1 1 97.7 74.0 20.0 96.0 133.0 65.0 \n",
"2 0 96.2 74.0 18.0 100.0 142.0 75.0 \n",
"3 1 99.2 130.0 32.0 94.0 106.0 74.0 \n",
"4 1 97.5 118.0 18.0 96.0 100.0 56.0 \n",
"\n",
" n_diagnosis split \n",
"0 4.0 train \n",
"1 1.0 val \n",
"2 1.0 val \n",
"3 5.0 val \n",
"4 1.0 train "
]
},
"execution_count": 13,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"df.head()"
]
},
{
"cell_type": "markdown",
"id": "736c5691-f9dd-442e-9021-f3e4c9083030",
"metadata": {},
"source": [
"### Working with other sources\n",
"\n",
"Learn how to work with other sources [here](https://accelerated-data-science.readthedocs.io/en/latest/user_guide/loading_data/connect.html)"
]
},
{
"cell_type": "markdown",
"id": "9d8973b9-4b4e-4b68-beb7-ac97836000da",
"metadata": {
"tags": []
},
"source": [
"## References\n",
"\n",
"* [Oracle Accelerated Data Science SDK Guide](https://accelerated-data-science.readthedocs.io/en/latest/)\n",
"* [Oracle Accelerated Data Science Source Code](https://github.com/oracle/accelerated-data-science)\n",
"* [Notebook Examples](https://github.com/oracle-samples/oci-data-science-ai-samples/tree/master/notebook_examples)\n",
"* [Conda environments](https://docs.oracle.com/en-us/iaas/data-science/using/conda_understand_environments.htm)\n",
"* [Publish Conda Environments](https://docs.oracle.com/en-us/iaas/data-science/using/conda_publishs_object.htm)"
]
},
{
"cell_type": "code",
"execution_count": 14,
"id": "76e77774-a4ee-4ab0-a22e-399e6a6a1a75",
"metadata": {
"tags": []
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"ZIP baixado e validado: Wallet_ORADB23ai.zip\n"
]
}
],
"source": [
"## Download Wallet\n",
"\n",
"import os, io, zipfile, requests\n",
"from urllib.parse import urlparse, parse_qs, urlencode, urlunparse\n",
"\n",
"def normalize_dropbox_url(u: str) -> str:\n",
" \"\"\"\n",
" - Se for www.dropbox.com, força dl=1 (download direto)\n",
" - Também funciona para links de pasta (/scl/fo/...) e de arquivo (/s/...)\n",
" - Alternativa: trocar host para dl.dropboxusercontent.com\n",
" \"\"\"\n",
" p = urlparse(u)\n",
" q = parse_qs(p.query)\n",
" q[\"dl\"] = [\"1\"] # força download\n",
" new_query = urlencode({k: v[0] for k, v in q.items()})\n",
" return urlunparse((p.scheme, p.netloc, p.path, p.params, new_query, p.fragment))\n",
"\n",
"def download_dropbox_zip(url, out_path, chunk=1<<20):\n",
" url = normalize_dropbox_url(url)\n",
" with requests.get(url, stream=True, allow_redirects=True, timeout=120) as r:\n",
" r.raise_for_status()\n",
" # cheque simples de conteúdo\n",
" ctype = r.headers.get(\"content-type\",\"\").lower()\n",
" # Dropbox às vezes serve \"application/zip\" ou \"application/binary\"\n",
" if \"text/html\" in ctype:\n",
" raise RuntimeError(\"O Dropbox devolveu HTML (provável link sem dl=1 ou sem permissão).\")\n",
" with open(out_path, \"wb\") as f:\n",
" for part in r.iter_content(chunk_size=chunk):\n",
" if part:\n",
" f.write(part)\n",
" # valida o ZIP\n",
" if not zipfile.is_zipfile(out_path):\n",
" raise RuntimeError(f\"Arquivo salvo não é um ZIP válido: {out_path}\")\n",
" # teste de integridade\n",
" with zipfile.ZipFile(out_path) as z:\n",
" bad = z.testzip()\n",
" if bad:\n",
" raise RuntimeError(f\"ZIP corrompido. Primeiro arquivo com problema: {bad}\")\n",
" return out_path\n",
"\n",
"# ---- use aqui o SEU link de compartilhamento (de pasta ou arquivo) ----\n",
"url = \"https://\"\n",
"zip_path = \"Wallet_ORADB23ai.zip\"\n",
"\n",
"download_dropbox_zip(url, zip_path)\n",
"print(\"ZIP baixado e validado:\", zip_path)"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "00edebb4-f42d-414e-a6f9-f3d5ce7250b5",
"metadata": {
"tags": []
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
" SUBJECT_ID HADM_ID STAY_ID INTIME OUTTIME \\\n",
"0 10014729 23300884.0 37887480 2125-03-19 12:36:00 2125-03-19 16:59:47 \n",
"1 10015272 27993466.0 33473053 2137-06-12 16:54:00 2137-06-12 18:37:22 \n",
"2 10016810 20973395.0 35758326 2185-06-15 23:08:00 2185-06-16 02:16:00 \n",
"3 10016810 NaN 31824062 2185-07-08 11:55:00 2185-07-08 11:59:00 \n",
"4 10006580 NaN 32259573 2137-09-29 21:06:00 2137-09-29 22:54:00 \n",
".. ... ... ... ... ... \n",
"198 10017492 27417763.0 38213541 2116-06-26 14:29:00 2116-06-26 18:26:30 \n",
"199 10038999 29026789.0 34205403 2132-05-17 19:56:00 2132-05-18 01:36:00 \n",
"200 10038999 27189241.0 30272878 2131-05-22 20:33:00 2131-05-22 21:50:33 \n",
"201 10009049 22995465.0 31628990 2174-05-26 04:20:00 2174-05-26 09:18:00 \n",
"202 10004457 28723315.0 32405286 2141-08-12 12:08:00 2141-08-12 17:20:00 \n",
"\n",
" GENDER RACE ARRIVAL_TRANSPORT DISPOSITION \\\n",
"0 F WHITE - OTHER EUROPEAN WALK IN ADMITTED \n",
"1 F WHITE AMBULANCE ADMITTED \n",
"2 F UNKNOWN UNKNOWN ADMITTED \n",
"3 F UNKNOWN UNKNOWN OTHER \n",
"4 F HISPANIC/LATINO - SALVADORAN WALK IN HOME \n",
".. ... ... ... ... \n",
"198 M PATIENT DECLINED TO ANSWER AMBULANCE ADMITTED \n",
"199 M WHITE AMBULANCE ADMITTED \n",
"200 M WHITE UNKNOWN ADMITTED \n",
"201 M WHITE AMBULANCE ADMITTED \n",
"202 M WHITE WALK IN ADMITTED \n",
"\n",
" ADMITTED_FROM_ED TEMPERATURE HEARTRATE RESPRATE O2SAT SBP DBP \\\n",
"0 1 99.1 90.0 26.0 NaN 86.0 61.0 \n",
"1 1 97.5 118.0 18.0 96.0 100.0 56.0 \n",
"2 1 98.8 72.0 18.0 90.0 98.0 48.0 \n",
"3 0 NaN NaN NaN NaN NaN NaN \n",
"4 0 98.1 89.0 18.0 96.0 131.0 90.0 \n",
".. ... ... ... ... ... ... ... \n",
"198 1 NaN NaN NaN NaN NaN NaN \n",
"199 1 97.6 116.0 14.0 99.0 140.0 78.0 \n",
"200 1 NaN NaN NaN NaN NaN NaN \n",
"201 1 99.0 87.0 18.0 96.0 126.0 68.0 \n",
"202 1 97.6 103.0 16.0 98.0 138.0 72.0 \n",
"\n",
" N_DIAGNOSIS SPLIT \n",
"0 4 train \n",
"1 1 train \n",
"2 1 train \n",
"3 1 train \n",
"4 1 train \n",
".. ... ... \n",
"198 2 train \n",
"199 2 train \n",
"200 1 train \n",
"201 1 train \n",
"202 4 train \n",
"\n",
"[203 rows x 18 columns]\n"
]
}
],
"source": [
"## Working with Autonomous Database\n",
"\n",
"# If you are using Wallet file, provide the zip file path for `wallet_location`\n",
"connection_parameters = {\n",
" \"user_name\": \"admin\",\n",
" \"password\": \"********\",\n",
" \"service_name\": \"oradb23ai_high\",\n",
" \"wallet_location\": \"Wallet.zip\",\n",
"}\n",
"import pandas as pd\n",
"import ads\n",
"\n",
"# read of a SQL query into a dataframe with a bind variable. Use bind variables\n",
"# rather than string substitution to avoid the SQL injection attack vector.\n",
"df = pd.DataFrame.ads.read_sql(\n",
" \"\"\"\n",
" select * from ADMIN.DATASET_ED_ADMISSION\n",
" WHERE\n",
" SPLIT <= :split\n",
" \"\"\",\n",
" bind_variables={\n",
" \"split\" : \"train\"\n",
" }\n",
" ,\n",
" connection_parameters=connection_parameters,\n",
")\n",
"\n",
"print(df)\n",
"\n",
"train = df"
]
},
{
"cell_type": "code",
"execution_count": 16,
"id": "0883b6c8-dc59-4b71-9668-1df4e2a1defc",
"metadata": {
"tags": []
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"oracle-ads version: 2.13.5\n"
]
},
{
"data": {
"application/vnd.jupyter.widget-view+json": {
"model_id": "3be2b1c9ca444a82b8608b32ece1322a",
"version_major": 2,
"version_minor": 0
},
"text/plain": [
"loop1: 0%| | 0/4 [00:00, ?it/s]"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"✖ Não consegui construir o objeto Dataset do ADS.\n",
"Último erro capturado: No module named 'ads.dataset.dataframe_dataset'\n"
]
},
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" SUBJECT_ID | \n",
" HADM_ID | \n",
" STAY_ID | \n",
" INTIME | \n",
" OUTTIME | \n",
" GENDER | \n",
" RACE | \n",
" ARRIVAL_TRANSPORT | \n",
" DISPOSITION | \n",
" ADMITTED_FROM_ED | \n",
" TEMPERATURE | \n",
" HEARTRATE | \n",
" RESPRATE | \n",
" O2SAT | \n",
" SBP | \n",
" DBP | \n",
" N_DIAGNOSIS | \n",
" SPLIT | \n",
"
\n",
" \n",
" \n",
" \n",
" | 0 | \n",
" 10014729 | \n",
" 23300884.0 | \n",
" 37887480 | \n",
" 2125-03-19 12:36:00 | \n",
" 2125-03-19 16:59:47 | \n",
" F | \n",
" WHITE - OTHER EUROPEAN | \n",
" WALK IN | \n",
" ADMITTED | \n",
" 1 | \n",
" 99.1 | \n",
" 90.0 | \n",
" 26.0 | \n",
" NaN | \n",
" 86.0 | \n",
" 61.0 | \n",
" 4 | \n",
" train | \n",
"
\n",
" \n",
" | 1 | \n",
" 10015272 | \n",
" 27993466.0 | \n",
" 33473053 | \n",
" 2137-06-12 16:54:00 | \n",
" 2137-06-12 18:37:22 | \n",
" F | \n",
" WHITE | \n",
" AMBULANCE | \n",
" ADMITTED | \n",
" 1 | \n",
" 97.5 | \n",
" 118.0 | \n",
" 18.0 | \n",
" 96.0 | \n",
" 100.0 | \n",
" 56.0 | \n",
" 1 | \n",
" train | \n",
"
\n",
" \n",
" | 2 | \n",
" 10016810 | \n",
" 20973395.0 | \n",
" 35758326 | \n",
" 2185-06-15 23:08:00 | \n",
" 2185-06-16 02:16:00 | \n",
" F | \n",
" UNKNOWN | \n",
" UNKNOWN | \n",
" ADMITTED | \n",
" 1 | \n",
" 98.8 | \n",
" 72.0 | \n",
" 18.0 | \n",
" 90.0 | \n",
" 98.0 | \n",
" 48.0 | \n",
" 1 | \n",
" train | \n",
"
\n",
" \n",
" | 3 | \n",
" 10016810 | \n",
" NaN | \n",
" 31824062 | \n",
" 2185-07-08 11:55:00 | \n",
" 2185-07-08 11:59:00 | \n",
" F | \n",
" UNKNOWN | \n",
" UNKNOWN | \n",
" OTHER | \n",
" 0 | \n",
" NaN | \n",
" NaN | \n",
" NaN | \n",
" NaN | \n",
" NaN | \n",
" NaN | \n",
" 1 | \n",
" train | \n",
"
\n",
" \n",
" | 4 | \n",
" 10006580 | \n",
" NaN | \n",
" 32259573 | \n",
" 2137-09-29 21:06:00 | \n",
" 2137-09-29 22:54:00 | \n",
" F | \n",
" HISPANIC/LATINO - SALVADORAN | \n",
" WALK IN | \n",
" HOME | \n",
" 0 | \n",
" 98.1 | \n",
" 89.0 | \n",
" 18.0 | \n",
" 96.0 | \n",
" 131.0 | \n",
" 90.0 | \n",
" 1 | \n",
" train | \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" SUBJECT_ID HADM_ID STAY_ID INTIME OUTTIME \\\n",
"0 10014729 23300884.0 37887480 2125-03-19 12:36:00 2125-03-19 16:59:47 \n",
"1 10015272 27993466.0 33473053 2137-06-12 16:54:00 2137-06-12 18:37:22 \n",
"2 10016810 20973395.0 35758326 2185-06-15 23:08:00 2185-06-16 02:16:00 \n",
"3 10016810 NaN 31824062 2185-07-08 11:55:00 2185-07-08 11:59:00 \n",
"4 10006580 NaN 32259573 2137-09-29 21:06:00 2137-09-29 22:54:00 \n",
"\n",
" GENDER RACE ARRIVAL_TRANSPORT DISPOSITION \\\n",
"0 F WHITE - OTHER EUROPEAN WALK IN ADMITTED \n",
"1 F WHITE AMBULANCE ADMITTED \n",
"2 F UNKNOWN UNKNOWN ADMITTED \n",
"3 F UNKNOWN UNKNOWN OTHER \n",
"4 F HISPANIC/LATINO - SALVADORAN WALK IN HOME \n",
"\n",
" ADMITTED_FROM_ED TEMPERATURE HEARTRATE RESPRATE O2SAT SBP DBP \\\n",
"0 1 99.1 90.0 26.0 NaN 86.0 61.0 \n",
"1 1 97.5 118.0 18.0 96.0 100.0 56.0 \n",
"2 1 98.8 72.0 18.0 90.0 98.0 48.0 \n",
"3 0 NaN NaN NaN NaN NaN NaN \n",
"4 0 98.1 89.0 18.0 96.0 131.0 90.0 \n",
"\n",
" N_DIAGNOSIS SPLIT \n",
"0 4 train \n",
"1 1 train \n",
"2 1 train \n",
"3 1 train \n",
"4 1 train "
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"\n",
"RangeIndex: 203 entries, 0 to 202\n",
"Data columns (total 18 columns):\n",
" # Column Non-Null Count Dtype \n",
"--- ------ -------------- ----- \n",
" 0 SUBJECT_ID 203 non-null int64 \n",
" 1 HADM_ID 158 non-null float64 \n",
" 2 STAY_ID 203 non-null int64 \n",
" 3 INTIME 203 non-null datetime64[ns]\n",
" 4 OUTTIME 203 non-null datetime64[ns]\n",
" 5 GENDER 203 non-null category \n",
" 6 RACE 203 non-null category \n",
" 7 ARRIVAL_TRANSPORT 203 non-null category \n",
" 8 DISPOSITION 203 non-null category \n",
" 9 ADMITTED_FROM_ED 203 non-null int64 \n",
" 10 TEMPERATURE 179 non-null float64 \n",
" 11 HEARTRATE 181 non-null float64 \n",
" 12 RESPRATE 182 non-null float64 \n",
" 13 O2SAT 181 non-null float64 \n",
" 14 SBP 182 non-null float64 \n",
" 15 DBP 182 non-null float64 \n",
" 16 N_DIAGNOSIS 203 non-null int64 \n",
" 17 SPLIT 203 non-null category \n",
"dtypes: category(5), datetime64[ns](2), float64(7), int64(4)\n",
"memory usage: 22.9 KB\n",
"None\n"
]
}
],
"source": [
"## Visualize Data\n",
"\n",
"TARGET_COL = \"admitted_from_ed\" # ajuste se houver alvo; se não houver, pode deixar None\n",
"\n",
"import pandas as pd, numpy as np, ads, sys\n",
"\n",
"print(\"oracle-ads version:\", getattr(ads, \"__version__\", \"unknown\"))\n",
"\n",
"# --- 0) Higieniza tipos para evitar falhas no type_discovery ---\n",
"df_clean = df.copy()\n",
"# datas (heurística por nome de coluna)\n",
"for c in df_clean.columns:\n",
" cl = c.lower()\n",
" if any(k in cl for k in [\"time\", \"date\", \"_at\", \"dt\"]):\n",
" try:\n",
" df_clean[c] = pd.to_datetime(df_clean[c], errors=\"coerce\")\n",
" except Exception:\n",
" pass\n",
"# categorias leves\n",
"for c in df_clean.select_dtypes(include=[\"object\"]).columns:\n",
" if 1 < df_clean[c].nunique(dropna=True) <= 1000:\n",
" df_clean[c] = df_clean[c].astype(\"category\")\n",
"\n",
"DATASET_NAME = \"ED Admission\"\n",
"DATASET_DESC = \"Dataset PS para modelagem\"\n",
"\n",
"ds = None\n",
"last_err = None\n",
"\n",
"# --- 1) Tentativa principal: DatasetFactory ---\n",
"try:\n",
" from ads.dataset.factory import DatasetFactory\n",
" try:\n",
" ds = DatasetFactory.from_dataframe(\n",
" df_clean,\n",
" target=TARGET_COL,\n",
" dataset_name=DATASET_NAME,\n",
" dataset_description=DATASET_DESC,\n",
" type_discovery=False # evita o erro de typed discovery\n",
" )\n",
" print(\"✔ Usando DatasetFactory (type_discovery=False)\")\n",
" except TypeError:\n",
" ds = DatasetFactory.from_dataframe(\n",
" df_clean,\n",
" target=TARGET_COL,\n",
" dataset_name=DATASET_NAME,\n",
" dataset_description=DATASET_DESC\n",
" )\n",
" print(\"✔ Usando DatasetFactory (sem type_discovery)\")\n",
"except Exception as e:\n",
" last_err = e\n",
"\n",
"# --- 2) Fallback: construtor direto ADSDataset ---\n",
"if ds is None:\n",
" try:\n",
" from ads.dataset.dataset import ADSDataset\n",
" try:\n",
" ds = ADSDataset(\n",
" df_clean,\n",
" target=TARGET_COL,\n",
" name=DATASET_NAME,\n",
" description=DATASET_DESC,\n",
" type_discovery=False\n",
" )\n",
" print(\"✔ Usando ADSDataset(...) (type_discovery=False)\")\n",
" except TypeError:\n",
" ds = ADSDataset(\n",
" df_clean,\n",
" target=TARGET_COL,\n",
" name=DATASET_NAME,\n",
" description=DATASET_DESC\n",
" )\n",
" print(\"✔ Usando ADSDataset(...) (sem type_discovery)\")\n",
" except Exception as e2:\n",
" last_err = e2\n",
"\n",
"# --- 3) Fallback: construtor direto Dataset (nome antigo) ---\n",
"if ds is None:\n",
" try:\n",
" from ads.dataset.dataset import Dataset\n",
" try:\n",
" ds = Dataset(\n",
" df_clean,\n",
" target=TARGET_COL,\n",
" name=DATASET_NAME,\n",
" description=DATASET_DESC,\n",
" type_discovery=False\n",
" )\n",
" print(\"✔ Usando Dataset(...) (type_discovery=False)\")\n",
" except TypeError:\n",
" ds = Dataset(\n",
" df_clean,\n",
" target=TARGET_COL,\n",
" name=DATASET_NAME,\n",
" description=DATASET_DESC\n",
" )\n",
" print(\"✔ Usando Dataset(...) (sem type_discovery)\")\n",
" except Exception as e3:\n",
" last_err = e3\n",
"\n",
"# --- 4) Fallback (mais raro): DataFrameDataset ---\n",
"if ds is None:\n",
" try:\n",
" from ads.dataset.dataframe_dataset import DataFrameDataset\n",
" ds = DataFrameDataset(\n",
" df_clean,\n",
" target=TARGET_COL,\n",
" name=DATASET_NAME,\n",
" description=DATASET_DESC\n",
" )\n",
" print(\"✔ Usando DataFrameDataset(...)\")\n",
" except Exception as e4:\n",
" last_err = e4\n",
"\n",
"# --- Finalização: roles + visualização ---\n",
"if ds is not None:\n",
" # if \"stay_id\" in df_clean.columns:\n",
" # ds.set_role(\"stay_id\", \"id\")\n",
" # for col in [\"intime\",\"outtime\",\"first_vitals_time\",\"first_pyxis_time\"]:\n",
" # if col in df_clean.columns:\n",
" # ds.set_role(col, \"timestamp\")\n",
" \n",
" from bokeh.io import reset_output, output_notebook\n",
" reset_output()\n",
" ds.show_in_notebook()\n",
"else:\n",
" # Último recurso: visão rápida do DF caso nenhuma classe esteja disponível\n",
" print(\"✖ Não consegui construir o objeto Dataset do ADS.\")\n",
" print(\"Último erro capturado:\", last_err)\n",
" from IPython.display import display\n",
" display(df_clean.head())\n",
" print(df_clean.info())"
]
},
{
"cell_type": "code",
"execution_count": 25,
"id": "e22281c3-cecb-42ed-b13d-31800fee5c19",
"metadata": {
"tags": []
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"treino sklearn: 1.3.2\n",
"3.11.11 | packaged by conda-forge | (main, Mar 3 2025, 20:43:55) [GCC 13.3.0]\n",
"treino ads: 2.13.5\n"
]
}
],
"source": [
"## Verifica a versão do sklearn e se está executando via o package correto\n",
"\n",
"import sklearn, sys\n",
"print(\"treino sklearn:\", sklearn.__version__)\n",
"print(sys.version)\n",
"\n",
"import ads\n",
"print(\"treino ads:\", ads.__version__)"
]
},
{
"cell_type": "code",
"execution_count": 18,
"id": "f4bbab17-211b-455c-8056-42fc705a2bc8",
"metadata": {
"tags": []
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
" precision recall f1-score support\n",
"\n",
" 0 0.333 0.143 0.200 7\n",
" 1 0.867 0.951 0.907 41\n",
"\n",
" accuracy 0.833 48\n",
" macro avg 0.600 0.547 0.553 48\n",
"weighted avg 0.789 0.833 0.804 48\n",
"\n",
"Kappa: 0.12328767123287676\n",
"Matriz de confusão:\n",
" [[ 1 6]\n",
" [ 2 39]]\n"
]
}
],
"source": [
"## Train with scikit-learning (Produção)\n",
"\n",
"import pandas as pd\n",
"from sklearn.model_selection import train_test_split\n",
"from sklearn.compose import ColumnTransformer\n",
"from sklearn.preprocessing import OneHotEncoder, StandardScaler\n",
"from sklearn.impute import SimpleImputer\n",
"from sklearn.pipeline import Pipeline\n",
"from sklearn.ensemble import RandomForestClassifier\n",
"from sklearn.metrics import classification_report, confusion_matrix, cohen_kappa_score\n",
"\n",
"# ----------------------------------\n",
"# 1) Normaliza nomes de colunas\n",
"# ----------------------------------\n",
"def normalize_cols(df: pd.DataFrame) -> pd.DataFrame:\n",
" cols = (\n",
" df.columns.astype(str)\n",
" .str.strip()\n",
" .str.replace(r\"\\s+\", \"_\", regex=True)\n",
" .str.replace(r\"[^\\w]+\", \"_\", regex=True)\n",
" .str.replace(r\"_+\", \"_\", regex=True)\n",
" .str.strip(\"_\")\n",
" .str.lower()\n",
" )\n",
" df2 = df.copy()\n",
" df2.columns = cols\n",
" return df2\n",
"\n",
"dfn = normalize_cols(df)\n",
"\n",
"# ----------------------------------\n",
"# 2) Define target (já 0/1)\n",
"# ----------------------------------\n",
"TARGET_COL = \"admitted_from_ed\"\n",
"if TARGET_COL not in dfn.columns:\n",
" raise KeyError(f\"Coluna {TARGET_COL} não encontrada no DataFrame!\")\n",
"\n",
"dfn[TARGET_COL] = dfn[TARGET_COL].astype(int)\n",
"\n",
"# ----------------------------------\n",
"# 3) Features\n",
"# ----------------------------------\n",
"# gera features extras a partir das datas\n",
"for c in [\"intime\", \"outtime\"]:\n",
" if c in dfn.columns:\n",
" dfn[c] = pd.to_datetime(dfn[c], errors=\"coerce\")\n",
"\n",
"if {\"intime\",\"outtime\"} <= set(dfn.columns):\n",
" dfn[\"los_minutes\"] = (dfn[\"outtime\"] - dfn[\"intime\"]).dt.total_seconds()/60\n",
" dfn[\"arrival_hour\"] = dfn[\"intime\"].dt.hour\n",
" dfn[\"arrival_weekday\"] = dfn[\"intime\"].dt.day_name()\n",
"\n",
"candidate_features = [\n",
" \"gender\",\"race\",\"arrival_transport\",\n",
" \"temperature\",\"heartrate\",\"resprate\",\"o2sat\",\"sbp\",\"dbp\",\n",
" \"n_diagnosis\",\"los_minutes\",\"arrival_hour\",\"arrival_weekday\"\n",
"]\n",
"features = [c for c in candidate_features if c in dfn.columns]\n",
"\n",
"X = dfn[features].copy()\n",
"y = dfn[TARGET_COL]\n",
"\n",
"# ----------------------------------\n",
"# 4) Split train/test\n",
"# ----------------------------------\n",
"if \"split\" in dfn.columns:\n",
" train_mask = dfn[\"split\"].astype(str).str.lower().eq(\"train\")\n",
" val_mask = dfn[\"split\"].astype(str).str.lower().isin([\"val\",\"test\"])\n",
" X_train, y_train = X[train_mask], y[train_mask]\n",
" X_test, y_test = X[val_mask], y[val_mask]\n",
"else:\n",
" X_train, X_test, y_train, y_test = train_test_split(\n",
" X, y, test_size=0.2, random_state=42, stratify=y\n",
" )\n",
"\n",
"# ----------------------------------\n",
"# 5) Pipeline com RandomForest\n",
"# ----------------------------------\n",
"cat_cols = X_train.select_dtypes(include=[\"object\",\"category\"]).columns.tolist()\n",
"num_cols = [c for c in features if c not in cat_cols]\n",
"\n",
"pre = ColumnTransformer(\n",
" transformers=[\n",
" (\"cat\", Pipeline(steps=[\n",
" (\"imputer\", SimpleImputer(strategy=\"most_frequent\")),\n",
" (\"onehot\", OneHotEncoder(handle_unknown=\"ignore\"))\n",
" ]), cat_cols),\n",
" (\"num\", Pipeline(steps=[\n",
" (\"imputer\", SimpleImputer(strategy=\"median\")),\n",
" (\"scaler\", StandardScaler())\n",
" ]), num_cols),\n",
" ]\n",
")\n",
"\n",
"clf = Pipeline(steps=[\n",
" (\"preprocess\", pre),\n",
" (\"model\", RandomForestClassifier(\n",
" class_weight=\"balanced\",\n",
" n_estimators=300,\n",
" random_state=42\n",
" ))\n",
"])\n",
"\n",
"# ----------------------------------\n",
"# 6) Treino e avaliação\n",
"# ----------------------------------\n",
"clf.fit(X_train, y_train)\n",
"y_pred = clf.predict(X_test)\n",
"\n",
"print(classification_report(y_test, y_pred, digits=3))\n",
"print(\"Kappa:\", cohen_kappa_score(y_test, y_pred))\n",
"print(\"Matriz de confusão:\\n\", confusion_matrix(y_test, y_pred))"
]
},
{
"cell_type": "code",
"execution_count": 19,
"id": "431bc153-e815-48e4-ba86-b0cadd1d9340",
"metadata": {
"tags": []
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"backup local OK\n"
]
}
],
"source": [
"## Salvar o modelo scikit-learning\n",
"\n",
"import joblib, os\n",
"os.makedirs(\"artifacts\", exist_ok=True)\n",
"joblib.dump(clf, \"artifacts/model.pkl\") # seu Pipeline scikit-learn\n",
"joblib.dump(list(X_train.columns), \"artifacts/feature_order.pkl\") # ordem das colunas\n",
"print(\"backup local OK\")"
]
},
{
"cell_type": "code",
"execution_count": 20,
"id": "9bb5133c-4ba5-41f5-b829-e7ca61c0f4a5",
"metadata": {
"tags": []
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"WARNING:ads.common:In the future model input will be serialized by `cloudpickle` by default. Currently, model input are serialized into a dictionary containing serialized input data and original data type information.Set `model_input_serializer=\"cloudpickle\"` to use cloudpickle model input serializer.\n",
"WARNING:py.warnings:/home/datascience/conda/automlx251_p311_cpu_x86_64_v2/lib/python3.11/site-packages/ads/model/runtime/env_info.py:92: UserWarning: slug will be deprecated. Provide conda pack path instead. ?, ?it/s]\n",
" warnings.warn(\"slug will be deprecated. Provide conda pack path instead.\")\n",
"\n",
"Start loading model.joblib from model directory /home/datascience/oci_model_artifact ...\n",
"Model is successfully loaded.\n",
"['input_schema.json', 'score.py', '.model-ignore', 'runtime.yaml', 'test_json_output.json', 'model.joblib']\n"
]
},
{
"data": {
"application/vnd.jupyter.widget-view+json": {
"model_id": "",
"version_major": 2,
"version_minor": 0
},
"text/plain": [
"loop1: 0%| | 0/4 [00:00, ?it/s]"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"WARNING:ads.model.datascience_model:the JSON object must be str, bytes or bytearray, not Schema\n",
"Model ID: ocid1.datasciencemodel.oc1.sa-saopaulo-1.amaaaaaafioir7iaq5rnhagfiztsbom7bzqvyenwrcsta3g67qvfllf5erna\n",
"Model Deployment OCID: ocid1.datasciencemodeldeployment.oc1.sa-saopaulo-1.amaaaaaafioir7iafffqtvgm2mj24zw7vnnyamcxzhwqelkdpg5n5qw4jgkq\n"
]
},
{
"data": {
"application/vnd.jupyter.widget-view+json": {
"model_id": "",
"version_major": 2,
"version_minor": 0
},
"text/plain": [
"Creating model deployment: 0%| | [00:00, ?it/s]"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"Deployment OCID: ocid1.datasciencemodeldeployment.oc1.sa-saopaulo-1.amaaaaaafioir7iafffqtvgm2mj24zw7vnnyamcxzhwqelkdpg5n5qw4jgkq\n",
"Deployment endpoint: https://modeldeployment.sa-saopaulo-1.oci.customer-oci.com/ocid1.datasciencemodeldeployment.oc1.sa-saopaulo-1.amaaaaaafioir7iafffqtvgm2mj24zw7vnnyamcxzhwqelkdpg5n5qw4jgkq\n",
"Local predict: {'code': 'NotAuthorizedOrNotFound', 'message': 'Authorization failed or requested resource not found.'}\n"
]
}
],
"source": [
"## Registrar no Model Catalog\n",
"\n",
"import ads\n",
"ads.set_auth(\n",
" auth=\"api_key\",\n",
" oci_config_location=\"/home/datascience/.oci/config\",\n",
" profile=\"DEFAULT\"\n",
")\n",
"\n",
"import os, joblib\n",
"from ads.model.framework.sklearn_model import SklearnModel\n",
"\n",
"compartment_id = \"ocid1.compartment.oc1..aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\"\n",
"#conda_slug = \"oci://service-conda-packs@id19sfcrra6z/service_pack/cpu/Oracle_AutoMLx_v25.1_for_CPU_on_Python_3.11/2.0/automlx251_p311_cpu_x86_64_v2\" # igual ao exemplo oficial\n",
"conda_slug = \"automlx251_p311_cpu_x86_64_v2\"\n",
"project_id = \"ocid1.datascienceproject.oc1.sa-saopaulo-1.aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\"\n",
"\n",
"# (opcional) salvar artefatos locais\n",
"# os.makedirs(\"artifacts\", exist_ok=True)\n",
"# joblib.dump(clf, \"artifacts/model.pkl\")\n",
"\n",
"artifact_dir = \"oci_model_artifact\" # diretório de trabalho local do pacote\n",
"sk = SklearnModel(estimator=clf, artifact_dir=artifact_dir, X_sample=X_train.head(5))\n",
"\n",
"sk.prepare(\n",
" training_conda_env=conda_slug,\n",
" inference_conda_env=conda_slug, # OU: inference_conda_env_path=\"oci:///.../conda_pack.tar.gz\"\n",
" X_sample=X_train.head(5), # …mas **garanta aqui** no prepare também\n",
" force_overwrite=True,\n",
" model_input_serializer=\"cloudpickle\" # remove o warning futuro\n",
")\n",
"\n",
"# **REGISTRA** no Model Catalog\n",
"sk.save(\n",
" display_name=\"ED-Admission RF\",\n",
" description=\"RandomForest admitted_from_ed (0/1)\",\n",
" compartment_id=compartment_id,\n",
")\n",
"\n",
"model_id = getattr(sk, \"model_id\", None) or getattr(getattr(sk, \"dsc_model\", None), \"id\", None)\n",
"print(\"Model ID:\", model_id)\n",
"\n",
"# 🔹 DEPLOY do modelo (cria endpoint REST ativo)\n",
"deployment = sk.deploy(\n",
" display_name=\"ED-Admission Deployment\",\n",
" compartment_id=compartment_id,\n",
" project_id=project_id,\n",
" deployment_instance_shape=\"VM.Standard.E3.Flex\",\n",
" instance_count=1\n",
")\n",
"\n",
"print(\"Deployment OCID:\", deployment.id)\n",
"print(\"Deployment endpoint:\", deployment.url)\n",
"\n",
"# 🔹 Teste de predição local\n",
"print(\"Local predict:\", sk.predict(X_train.head(3)))"
]
},
{
"cell_type": "code",
"execution_count": 21,
"id": "a48e5d32-95b3-4eb1-9d16-c4da5de0c0ca",
"metadata": {
"tags": []
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"[{\"gender\":\"F\",\"race\":\"WHITE - OTHER EUROPEAN\",\"arrival_transport\":\"WALK IN\",\"temperature\":99.1,\"heartrate\":90.0,\"resprate\":26.0,\"o2sat\":null,\"sbp\":86.0,\"dbp\":61.0,\"n_diagnosis\":4,\"los_minutes\":263.7833333333,\"arrival_hour\":12,\"arrival_weekday\":\"Monday\"},{\"gender\":\"F\",\"race\":\"WHITE\",\"arrival_transport\":\"AMBULANCE\",\"temperature\":97.5,\"heartrate\":118.0,\"resprate\":18.0,\"o2sat\":96.0,\"sbp\":100.0,\"dbp\":56.0,\"n_diagnosis\":1,\"los_minutes\":103.3666666667,\"arrival_hour\":16,\"arrival_weekday\":\"Wednesday\"},{\"gender\":\"F\",\"race\":\"UNKNOWN\",\"arrival_transport\":\"UNKNOWN\",\"temperature\":98.8,\"heartrate\":72.0,\"resprate\":18.0,\"o2sat\":90.0,\"sbp\":98.0,\"dbp\":48.0,\"n_diagnosis\":1,\"los_minutes\":188.0,\"arrival_hour\":23,\"arrival_weekday\":\"Wednesday\"},{\"gender\":\"F\",\"race\":\"UNKNOWN\",\"arrival_transport\":\"UNKNOWN\",\"temperature\":null,\"heartrate\":null,\"resprate\":null,\"o2sat\":null,\"sbp\":null,\"dbp\":null,\"n_diagnosis\":1,\"los_minutes\":4.0,\"arrival_hour\":11,\"arrival_weekday\":\"Friday\"},{\"gender\":\"F\",\"race\":\"HISPANIC\\/LATINO - SALVADORAN\",\"arrival_transport\":\"WALK IN\",\"temperature\":98.1,\"heartrate\":89.0,\"resprate\":18.0,\"o2sat\":96.0,\"sbp\":131.0,\"dbp\":90.0,\"n_diagnosis\":1,\"los_minutes\":108.0,\"arrival_hour\":21,\"arrival_weekday\":\"Sunday\"}]\n",
"Start loading model.joblib from model directory /home/datascience/oci_model_artifact ...\n",
"Model is successfully loaded.\n",
"WARNING:py.warnings:/home/datascience/oci_model_artifact/score.py:100: FutureWarning: Passing literal json to 'read_json' is deprecated and will be removed in a future version. To read from a literal string, wrap it in a 'StringIO' object.\n",
" return pd.read_json(json_data, dtype=fetch_data_type_from_schema(input_schema_path))\n",
"\n",
"{'prediction': [1, 1, 1, 0, 0]}\n"
]
}
],
"source": [
"## Validate\n",
"\n",
"MODEL_FILE = os.path.join(artifact_dir, \"model.joblib\")\n",
"\n",
"def load_model(model_path=MODEL_FILE):\n",
" if not os.path.exists(model_path):\n",
" raise FileNotFoundError(f\"Modelo não encontrado em: {model_path}\")\n",
" return joblib.load(model_path)\n",
"\n",
"def predict(data, model=None) -> dict:\n",
" # carrega sob demanda (não avalia nada no momento do import)\n",
" if model is None:\n",
" model = load_model()\n",
"\n",
" if isinstance(data, str):\n",
" X = pd.read_json(io.StringIO(data))\n",
" elif isinstance(data, dict):\n",
" X = pd.DataFrame.from_dict(data)\n",
" else:\n",
" # já é DataFrame/array?\n",
" X = pd.DataFrame(data)\n",
"\n",
" preds = model.predict(X).tolist()\n",
" return {\"prediction\": preds}\n",
"\n",
"payload = X_train.iloc[:5].to_json(orient=\"records\")\n",
"\n",
"print(payload)\n",
"\n",
"import sys\n",
"sys.path.insert(0, artifact_dir)\n",
"\n",
"from score import load_model, predict # do pacote gerado\n",
"\n",
"_ = load_model() # carrega o model.joblib\n",
"preds = predict(payload, _) # chama a função predict do score.py\n",
"print(preds)\n"
]
},
{
"cell_type": "code",
"execution_count": 26,
"id": "bd8752e5-fb11-4660-a5af-bae676b4ecb1",
"metadata": {
"tags": []
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Deployment OCID: ocid1.datasciencemodeldeployment.oc1.sa-saopaulo-1.amaaaaaafioir7iafffqtvgm2mj24zw7vnnyamcxzhwqelkdpg5n5qw4jgkq\n",
"Deployment endpoint: https://modeldeployment.sa-saopaulo-1.oci.customer-oci.com/ocid1.datasciencemodeldeployment.oc1.sa-saopaulo-1.amaaaaaafioir7iafffqtvgm2mj24zw7vnnyamcxzhwqelkdpg5n5qw4jgkq\n",
" SUBJECT_ID HADM_ID STAY_ID INTIME OUTTIME \\\n",
"0 10014729 23300884.0 37887480 2125-03-19 12:36:00 2125-03-19 16:59:47 \n",
"1 10015272 27993466.0 33473053 2137-06-12 16:54:00 2137-06-12 18:37:22 \n",
"2 10016810 20973395.0 35758326 2185-06-15 23:08:00 2185-06-16 02:16:00 \n",
"3 10016810 NaN 31824062 2185-07-08 11:55:00 2185-07-08 11:59:00 \n",
"4 10006580 NaN 32259573 2137-09-29 21:06:00 2137-09-29 22:54:00 \n",
".. ... ... ... ... ... \n",
"198 10017492 27417763.0 38213541 2116-06-26 14:29:00 2116-06-26 18:26:30 \n",
"199 10038999 29026789.0 34205403 2132-05-17 19:56:00 2132-05-18 01:36:00 \n",
"200 10038999 27189241.0 30272878 2131-05-22 20:33:00 2131-05-22 21:50:33 \n",
"201 10009049 22995465.0 31628990 2174-05-26 04:20:00 2174-05-26 09:18:00 \n",
"202 10004457 28723315.0 32405286 2141-08-12 12:08:00 2141-08-12 17:20:00 \n",
"\n",
" GENDER RACE ARRIVAL_TRANSPORT DISPOSITION \\\n",
"0 F WHITE - OTHER EUROPEAN WALK IN ADMITTED \n",
"1 F WHITE AMBULANCE ADMITTED \n",
"2 F UNKNOWN UNKNOWN ADMITTED \n",
"3 F UNKNOWN UNKNOWN OTHER \n",
"4 F HISPANIC/LATINO - SALVADORAN WALK IN HOME \n",
".. ... ... ... ... \n",
"198 M PATIENT DECLINED TO ANSWER AMBULANCE ADMITTED \n",
"199 M WHITE AMBULANCE ADMITTED \n",
"200 M WHITE UNKNOWN ADMITTED \n",
"201 M WHITE AMBULANCE ADMITTED \n",
"202 M WHITE WALK IN ADMITTED \n",
"\n",
" ADMITTED_FROM_ED TEMPERATURE HEARTRATE RESPRATE O2SAT SBP DBP \\\n",
"0 1 99.1 90.0 26.0 NaN 86.0 61.0 \n",
"1 1 97.5 118.0 18.0 96.0 100.0 56.0 \n",
"2 1 98.8 72.0 18.0 90.0 98.0 48.0 \n",
"3 0 NaN NaN NaN NaN NaN NaN \n",
"4 0 98.1 89.0 18.0 96.0 131.0 90.0 \n",
".. ... ... ... ... ... ... ... \n",
"198 1 NaN NaN NaN NaN NaN NaN \n",
"199 1 97.6 116.0 14.0 99.0 140.0 78.0 \n",
"200 1 NaN NaN NaN NaN NaN NaN \n",
"201 1 99.0 87.0 18.0 96.0 126.0 68.0 \n",
"202 1 97.6 103.0 16.0 98.0 138.0 72.0 \n",
"\n",
" N_DIAGNOSIS SPLIT \n",
"0 4 train \n",
"1 1 train \n",
"2 1 train \n",
"3 1 train \n",
"4 1 train \n",
".. ... ... \n",
"198 2 train \n",
"199 2 train \n",
"200 1 train \n",
"201 1 train \n",
"202 4 train \n",
"\n",
"[203 rows x 18 columns]\n",
"WARNING:py.warnings:/home/datascience/conda/automlx251_p311_cpu_x86_64_v2/lib/python3.11/site-packages/ads/model/deployment/model_deployment.py:302: UserWarning: Parameter `properties` was deprecated in 2.8.2 from ModelDeployment constructor and will be removed in 3.0.0. Please use `spec` or the builder pattern to initialize model deployment instance. Check: https://accelerated-data-science.readthedocs.io/en/latest/user_guide/model_registration/quick_start.html\n",
" warnings.warn(\n",
"\n",
"Status: State.ACTIVE\n",
"Endpoint: https://modeldeployment.sa-saopaulo-1.oci.customer-oci.com/ocid1.datasciencemodeldeployment.oc1.sa-saopaulo-1.amaaaaaafioir7iafffqtvgm2mj24zw7vnnyamcxzhwqelkdpg5n5qw4jgkq\n",
"https://modeldeployment.sa-saopaulo-1.oci.customer-oci.com/ocid1.datasciencemodeldeployment.oc1.sa-saopaulo-1.amaaaaaafioir7iafffqtvgm2mj24zw7vnnyamcxzhwqelkdpg5n5qw4jgkq/predict\n",
"200 {\"prediction\":[1,1]}\n"
]
}
],
"source": [
"## Consumindo o Endpoint - Código Simples\n",
"\n",
"import requests\n",
"import oci\n",
"import pandas as pd\n",
"from ads.model.deployment import ModelDeployment\n",
"import os\n",
"from oci.signer import Signer\n",
"import ads\n",
"\n",
"# Profile do OCI-CLI\n",
"PROFILE = \"DEFAULT\"\n",
"\n",
"# Em caso de estar no notebook integrado ao processo de deployment do modelo - habilitar\n",
"print(\"Deployment OCID:\", deployment.id)\n",
"print(\"Deployment endpoint:\", deployment.url)\n",
"DEPLOYMENT_ID = deployment.id\n",
"\n",
"# Caso contrário, se estiver em código avulso - habilitar\n",
"#DEPLOYMENT_ID = \"ocid1.datasciencemodeldeployment.oc1.sa-saopaulo.aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\"\n",
"\n",
"ads.set_auth(\n",
" auth=\"api_key\",\n",
" oci_config_location=\"/home/datascience/.oci/config\",\n",
" profile=PROFILE\n",
")\n",
"\n",
"# Recupera metadados do deployment\n",
"md = ModelDeployment.from_id(DEPLOYMENT_ID)\n",
"print(\"Status:\", md.status)\n",
"print(\"Endpoint:\", md.url)\n",
"\n",
"# Endpoint correto (não adicionar /predict manualmente se já vier com ele)\n",
"#endpoint = \"https://modeldeployment.sa-saopaulo-1.oci.customer-oci.com/ocid1.datasciencemodeldeployment.oc1.sa-saopaulo-1.aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/predict\"\n",
"endpoint = md.url + \"/predict\"\n",
"\n",
"print(endpoint)\n",
"\n",
"# -----------------------------\n",
"# 1) Autenticação\n",
"# -----------------------------\n",
"config = oci.config.from_file(\"~/.oci/config\", PROFILE)\n",
"auth = Signer(\n",
" tenancy=config[\"tenancy\"],\n",
" user=config[\"user\"],\n",
" fingerprint=config[\"fingerprint\"],\n",
" private_key_file_location=config[\"key_file\"],\n",
" pass_phrase=None, # deixe None se a chave não tem senha\n",
")\n",
"\n",
"# -----------------------------\n",
"# 2) Payload\n",
"# -----------------------------\n",
"# 1) Colunas na ORDEM do schema\n",
"columns = [\n",
" \"gender\",\"race\",\"arrival_transport\",\n",
" \"temperature\",\"heartrate\",\"resprate\",\"o2sat\",\"sbp\",\"dbp\",\n",
" \"n_diagnosis\",\"los_minutes\",\"arrival_hour\",\"arrival_weekday\"\n",
"]\n",
"\n",
"# 2) Monte as linhas como dict e force a ordem virando DataFrame -> JSON records\n",
"rows_df = pd.DataFrame([\n",
" {\n",
" \"gender\":\"F\",\"race\":\"Caucasian\",\"arrival_transport\":\"Ambulance\",\n",
" \"temperature\":98.6,\"heartrate\":88,\"resprate\":20,\"o2sat\":95,\n",
" \"sbp\":110,\"dbp\":70,\"n_diagnosis\":2,\"los_minutes\":120.0,\n",
" \"arrival_hour\":14,\"arrival_weekday\":\"Monday\"\n",
" },\n",
" {\n",
" \"gender\":\"M\",\"race\":\"WHITE\",\"arrival_transport\":\"WALK IN\",\n",
" \"temperature\":99.1,\"heartrate\":72,\"resprate\":18,\"o2sat\":96,\n",
" \"sbp\":131,\"dbp\":90,\"n_diagnosis\":1,\"los_minutes\":60.0,\n",
" \"arrival_hour\":23,\"arrival_weekday\":\"Friday\"\n",
" }\n",
"])[columns] # garante ordem\n",
"\n",
"# 3) PAYLOAD: string JSON em orient=\"records\"\n",
"payload = {\"data\": rows_df.to_json(orient=\"records\")}\n",
"\n",
"# -----------------------------\n",
"# 3) Chamada REST\n",
"# -----------------------------\n",
"resp = requests.post(md.url + \"/predict\", json=payload, auth=auth)\n",
"print(resp.status_code, resp.text)"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "0e6cf40e-14cc-4256-a550-402887a60543",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"---- DataFrame carregado do banco ----\n",
"WARNING:py.warnings:/home/datascience/conda/automlx251_p311_cpu_x86_64_v2/lib/python3.11/site-packages/ads/model/deployment/model_deployment.py:302: UserWarning: Parameter `properties` was deprecated in 2.8.2 from ModelDeployment constructor and will be removed in 3.0.0. Please use `spec` or the builder pattern to initialize model deployment instance. Check: https://accelerated-data-science.readthedocs.io/en/latest/user_guide/model_registration/quick_start.html\n",
" warnings.warn(\n",
"\n",
"Status: State.ACTIVE\n",
"Endpoint: https://modeldeployment.sa-saopaulo-1.oci.customer-oci.com/ocid1.datasciencemodeldeployment.oc1.sa-saopaulo-1.amaaaaaafioir7iafffqtvgm2mj24zw7vnnyamcxzhwqelkdpg5n5qw4jgkq/predict\n",
"---- Resultado (todas as colunas + prediction) ----\n"
]
},
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" subject_id | \n",
" hadm_id | \n",
" stay_id | \n",
" intime | \n",
" outtime | \n",
" gender | \n",
" race | \n",
" arrival_transport | \n",
" disposition | \n",
" admitted_from_ed | \n",
" temperature | \n",
" heartrate | \n",
" resprate | \n",
" o2sat | \n",
" sbp | \n",
" dbp | \n",
" n_diagnosis | \n",
" split | \n",
" los_minutes | \n",
" arrival_hour | \n",
" arrival_weekday | \n",
" prediction | \n",
" prediction_class | \n",
" match | \n",
"
\n",
" \n",
" \n",
" \n",
" | 0 | \n",
" 10001217 | \n",
" 24597018.0 | \n",
" 39866888 | \n",
" 2157-11-18 17:38:00 | \n",
" 2157-11-19 01:24:00 | \n",
" F | \n",
" WHITE | \n",
" WALK IN | \n",
" ADMITTED | \n",
" 1 | \n",
" 99.0 | \n",
" 81.0 | \n",
" 16.0 | \n",
" 97.0 | \n",
" 160.0 | \n",
" 102.0 | \n",
" 2 | \n",
" test | \n",
" 466.000000 | \n",
" 17 | \n",
" Friday | \n",
" 1 | \n",
" 1 | \n",
" True | \n",
"
\n",
" \n",
" | 1 | \n",
" 10001217 | \n",
" NaN | \n",
" 39300221 | \n",
" 2157-11-29 19:28:00 | \n",
" 2157-11-29 21:22:00 | \n",
" F | \n",
" WHITE | \n",
" WALK IN | \n",
" HOME | \n",
" 0 | \n",
" 98.0 | \n",
" 75.0 | \n",
" 20.0 | \n",
" 98.0 | \n",
" 132.0 | \n",
" 95.0 | \n",
" 1 | \n",
" test | \n",
" 114.000000 | \n",
" 19 | \n",
" Tuesday | \n",
" 1 | \n",
" 1 | \n",
" False | \n",
"
\n",
" \n",
" | 2 | \n",
" 10014078 | \n",
" 25809882.0 | \n",
" 38676365 | \n",
" 2166-08-21 21:39:00 | \n",
" 2166-08-22 00:36:00 | \n",
" F | \n",
" UNABLE TO OBTAIN | \n",
" AMBULANCE | \n",
" ADMITTED | \n",
" 1 | \n",
" NaN | \n",
" NaN | \n",
" NaN | \n",
" NaN | \n",
" NaN | \n",
" NaN | \n",
" 1 | \n",
" test | \n",
" 177.000000 | \n",
" 21 | \n",
" Thursday | \n",
" 1 | \n",
" 1 | \n",
" True | \n",
"
\n",
" \n",
" | 3 | \n",
" 10037928 | \n",
" 23721604.0 | \n",
" 32259566 | \n",
" 2179-03-27 14:15:00 | \n",
" 2179-03-27 19:48:00 | \n",
" F | \n",
" HISPANIC/LATINO - CUBAN | \n",
" AMBULANCE | \n",
" ADMITTED | \n",
" 1 | \n",
" 99.8 | \n",
" 97.0 | \n",
" 32.0 | \n",
" 88.0 | \n",
" 176.0 | \n",
" 86.0 | \n",
" 1 | \n",
" test | \n",
" 333.000000 | \n",
" 14 | \n",
" Saturday | \n",
" 1 | \n",
" 1 | \n",
" True | \n",
"
\n",
" \n",
" | 4 | \n",
" 10037928 | \n",
" NaN | \n",
" 32891808 | \n",
" 2178-01-24 21:23:00 | \n",
" 2178-01-24 23:59:00 | \n",
" F | \n",
" HISPANIC/LATINO - CUBAN | \n",
" WALK IN | \n",
" HOME | \n",
" 0 | \n",
" 97.0 | \n",
" 81.0 | \n",
" 18.0 | \n",
" 99.0 | \n",
" 161.0 | \n",
" 55.0 | \n",
" 4 | \n",
" test | \n",
" 156.000000 | \n",
" 21 | \n",
" Saturday | \n",
" 1 | \n",
" 1 | \n",
" False | \n",
"
\n",
" \n",
" | 5 | \n",
" 10037928 | \n",
" NaN | \n",
" 34992024 | \n",
" 2183-11-28 17:19:00 | \n",
" 2183-11-28 23:57:00 | \n",
" F | \n",
" HISPANIC/LATINO - CUBAN | \n",
" AMBULANCE | \n",
" HOME | \n",
" 0 | \n",
" 36.5 | \n",
" 95.0 | \n",
" 18.0 | \n",
" 98.0 | \n",
" 150.0 | \n",
" 56.0 | \n",
" 6 | \n",
" test | \n",
" 398.000000 | \n",
" 17 | \n",
" Friday | \n",
" 0 | \n",
" 0 | \n",
" True | \n",
"
\n",
" \n",
" | 6 | \n",
" 10037928 | \n",
" 29802992.0 | \n",
" 37953392 | \n",
" 2179-07-24 18:21:00 | \n",
" 2179-07-25 01:17:00 | \n",
" F | \n",
" HISPANIC/LATINO - CUBAN | \n",
" AMBULANCE | \n",
" ADMITTED | \n",
" 1 | \n",
" 98.3 | \n",
" 76.0 | \n",
" 16.0 | \n",
" 98.0 | \n",
" 144.0 | \n",
" 56.0 | \n",
" 6 | \n",
" test | \n",
" 416.000000 | \n",
" 18 | \n",
" Saturday | \n",
" 1 | \n",
" 1 | \n",
" True | \n",
"
\n",
" \n",
" | 7 | \n",
" 10037928 | \n",
" 22228639.0 | \n",
" 35156583 | \n",
" 2183-08-03 19:27:00 | \n",
" 2183-08-04 16:07:00 | \n",
" F | \n",
" HISPANIC/LATINO - CUBAN | \n",
" AMBULANCE | \n",
" HOME | \n",
" 1 | \n",
" 97.8 | \n",
" 75.0 | \n",
" 16.0 | \n",
" 95.0 | \n",
" 159.0 | \n",
" 60.0 | \n",
" 3 | \n",
" test | \n",
" 1240.000000 | \n",
" 19 | \n",
" Sunday | \n",
" 1 | \n",
" 1 | \n",
" True | \n",
"
\n",
" \n",
" | 8 | \n",
" 10037928 | \n",
" 22490490.0 | \n",
" 38207210 | \n",
" 2177-07-14 14:52:00 | \n",
" 2177-07-14 20:38:00 | \n",
" F | \n",
" HISPANIC/LATINO - CUBAN | \n",
" AMBULANCE | \n",
" ADMITTED | \n",
" 1 | \n",
" 98.2 | \n",
" 72.0 | \n",
" 16.0 | \n",
" 96.0 | \n",
" 126.0 | \n",
" 43.0 | \n",
" 2 | \n",
" test | \n",
" 346.000000 | \n",
" 14 | \n",
" Monday | \n",
" 1 | \n",
" 1 | \n",
" True | \n",
"
\n",
" \n",
" | 9 | \n",
" 10037928 | \n",
" 24885579.0 | \n",
" 37483564 | \n",
" 2182-04-28 17:25:00 | \n",
" 2182-04-29 07:49:00 | \n",
" F | \n",
" HISPANIC/LATINO - CUBAN | \n",
" WALK IN | \n",
" ADMITTED | \n",
" 1 | \n",
" 98.2 | \n",
" 105.0 | \n",
" 24.0 | \n",
" 96.0 | \n",
" 177.0 | \n",
" 69.0 | \n",
" 1 | \n",
" test | \n",
" 864.000000 | \n",
" 17 | \n",
" Sunday | \n",
" 1 | \n",
" 1 | \n",
" True | \n",
"
\n",
" \n",
" | 10 | \n",
" 10037928 | \n",
" 24656677.0 | \n",
" 32443787 | \n",
" 2178-12-21 03:17:00 | \n",
" 2178-12-21 05:30:41 | \n",
" F | \n",
" HISPANIC/LATINO - CUBAN | \n",
" AMBULANCE | \n",
" ADMITTED | \n",
" 1 | \n",
" 98.1 | \n",
" 130.0 | \n",
" 15.0 | \n",
" 95.0 | \n",
" 179.0 | \n",
" 69.0 | \n",
" 1 | \n",
" test | \n",
" 133.683333 | \n",
" 3 | \n",
" Monday | \n",
" 1 | \n",
" 1 | \n",
" True | \n",
"
\n",
" \n",
" | 11 | \n",
" 10037928 | \n",
" 22326517.0 | \n",
" 39740242 | \n",
" 2177-12-21 16:49:00 | \n",
" 2177-12-21 22:26:00 | \n",
" F | \n",
" HISPANIC/LATINO - CUBAN | \n",
" WALK IN | \n",
" ADMITTED | \n",
" 1 | \n",
" 98.7 | \n",
" 108.0 | \n",
" 22.0 | \n",
" 98.0 | \n",
" 151.0 | \n",
" 55.0 | \n",
" 3 | \n",
" test | \n",
" 337.000000 | \n",
" 16 | \n",
" Sunday | \n",
" 1 | \n",
" 1 | \n",
" True | \n",
"
\n",
" \n",
" | 12 | \n",
" 10037928 | \n",
" 24225421.0 | \n",
" 34478228 | \n",
" 2178-09-28 20:29:00 | \n",
" 2178-09-29 00:43:00 | \n",
" F | \n",
" HISPANIC/LATINO - CUBAN | \n",
" WALK IN | \n",
" ADMITTED | \n",
" 1 | \n",
" 97.6 | \n",
" 96.0 | \n",
" 16.0 | \n",
" 94.0 | \n",
" 121.0 | \n",
" 65.0 | \n",
" 3 | \n",
" test | \n",
" 254.000000 | \n",
" 20 | \n",
" Monday | \n",
" 1 | \n",
" 1 | \n",
" True | \n",
"
\n",
" \n",
" | 13 | \n",
" 10037928 | \n",
" 20192635.0 | \n",
" 37036523 | \n",
" 2177-09-04 06:29:00 | \n",
" 2177-09-04 12:06:40 | \n",
" F | \n",
" HISPANIC/LATINO - CUBAN | \n",
" AMBULANCE | \n",
" ADMITTED | \n",
" 1 | \n",
" NaN | \n",
" NaN | \n",
" NaN | \n",
" NaN | \n",
" NaN | \n",
" NaN | \n",
" 3 | \n",
" test | \n",
" 337.666667 | \n",
" 6 | \n",
" Thursday | \n",
" 1 | \n",
" 1 | \n",
" True | \n",
"
\n",
" \n",
" | 14 | \n",
" 10019003 | \n",
" 27525946.0 | \n",
" 38260469 | \n",
" 2153-04-12 13:03:00 | \n",
" 2153-04-12 21:40:00 | \n",
" F | \n",
" WHITE | \n",
" WALK IN | \n",
" ADMITTED | \n",
" 1 | \n",
" 99.1 | \n",
" 96.0 | \n",
" 17.0 | \n",
" 96.0 | \n",
" 114.0 | \n",
" 66.0 | \n",
" 1 | \n",
" test | \n",
" 517.000000 | \n",
" 13 | \n",
" Thursday | \n",
" 1 | \n",
" 1 | \n",
" True | \n",
"
\n",
" \n",
" | 15 | \n",
" 10019003 | \n",
" 29279905.0 | \n",
" 31254712 | \n",
" 2153-03-27 21:28:00 | \n",
" 2153-03-28 02:21:00 | \n",
" F | \n",
" WHITE | \n",
" AMBULANCE | \n",
" ADMITTED | \n",
" 1 | \n",
" 98.4 | \n",
" 96.0 | \n",
" 15.0 | \n",
" 97.0 | \n",
" 98.0 | \n",
" 56.0 | \n",
" 4 | \n",
" test | \n",
" 293.000000 | \n",
" 21 | \n",
" Tuesday | \n",
" 1 | \n",
" 1 | \n",
" True | \n",
"
\n",
" \n",
" | 16 | \n",
" 10019003 | \n",
" 26529390.0 | \n",
" 38020791 | \n",
" 2155-05-17 21:03:00 | \n",
" 2155-05-18 00:03:15 | \n",
" F | \n",
" WHITE | \n",
" WALK IN | \n",
" ADMITTED | \n",
" 1 | \n",
" 98.1 | \n",
" 97.0 | \n",
" 16.0 | \n",
" 93.0 | \n",
" 117.0 | \n",
" 60.0 | \n",
" 1 | \n",
" test | \n",
" 180.250000 | \n",
" 21 | \n",
" Saturday | \n",
" 1 | \n",
" 1 | \n",
" True | \n",
"
\n",
" \n",
" | 17 | \n",
" 10019003 | \n",
" 26703331.0 | \n",
" 35568186 | \n",
" 2155-06-10 20:37:00 | \n",
" 2155-06-10 23:10:36 | \n",
" F | \n",
" WHITE | \n",
" AMBULANCE | \n",
" ADMITTED | \n",
" 1 | \n",
" 97.8 | \n",
" 92.0 | \n",
" 26.0 | \n",
" 95.0 | \n",
" 116.0 | \n",
" 57.0 | \n",
" 3 | \n",
" test | \n",
" 153.600000 | \n",
" 20 | \n",
" Tuesday | \n",
" 1 | \n",
" 1 | \n",
" True | \n",
"
\n",
" \n",
" | 18 | \n",
" 10019003 | \n",
" 21457723.0 | \n",
" 36686656 | \n",
" 2155-07-10 12:46:00 | \n",
" 2155-07-10 17:48:57 | \n",
" F | \n",
" WHITE | \n",
" AMBULANCE | \n",
" ADMITTED | \n",
" 1 | \n",
" 98.6 | \n",
" 98.0 | \n",
" 16.0 | \n",
" 97.0 | \n",
" 105.0 | \n",
" 43.0 | \n",
" 2 | \n",
" test | \n",
" 302.950000 | \n",
" 12 | \n",
" Thursday | \n",
" 1 | \n",
" 1 | \n",
" True | \n",
"
\n",
" \n",
" | 19 | \n",
" 10003400 | \n",
" 22390287.0 | \n",
" 34922474 | \n",
" 2137-02-07 13:06:00 | \n",
" 2137-02-07 21:44:00 | \n",
" F | \n",
" BLACK/AFRICAN AMERICAN | \n",
" AMBULANCE | \n",
" ADMITTED | \n",
" 1 | \n",
" 98.8 | \n",
" 124.0 | \n",
" 16.0 | \n",
" 98.0 | \n",
" 136.0 | \n",
" 82.0 | \n",
" 3 | \n",
" test | \n",
" 518.000000 | \n",
" 13 | \n",
" Thursday | \n",
" 1 | \n",
" 1 | \n",
" True | \n",
"
\n",
" \n",
" | 20 | \n",
" 10003400 | \n",
" 26467376.0 | \n",
" 33678912 | \n",
" 2136-12-09 13:16:00 | \n",
" 2136-12-09 14:45:10 | \n",
" F | \n",
" BLACK/AFRICAN AMERICAN | \n",
" AMBULANCE | \n",
" ADMITTED | \n",
" 1 | \n",
" 98.3 | \n",
" 157.0 | \n",
" 18.0 | \n",
" 100.0 | \n",
" 115.0 | \n",
" 81.0 | \n",
" 2 | \n",
" test | \n",
" 89.166667 | \n",
" 13 | \n",
" Sunday | \n",
" 1 | \n",
" 1 | \n",
" True | \n",
"
\n",
" \n",
" | 21 | \n",
" 10003400 | \n",
" 27296885.0 | \n",
" 36976997 | \n",
" 2136-12-31 13:41:00 | \n",
" 2137-01-01 00:35:00 | \n",
" F | \n",
" BLACK/AFRICAN AMERICAN | \n",
" AMBULANCE | \n",
" ADMITTED | \n",
" 1 | \n",
" 97.7 | \n",
" 91.0 | \n",
" 16.0 | \n",
" 100.0 | \n",
" 111.0 | \n",
" 68.0 | \n",
" 2 | \n",
" test | \n",
" 654.000000 | \n",
" 13 | \n",
" Monday | \n",
" 1 | \n",
" 1 | \n",
" True | \n",
"
\n",
" \n",
" | 22 | \n",
" 10003400 | \n",
" 26090619.0 | \n",
" 33347721 | \n",
" 2134-06-05 21:42:00 | \n",
" 2134-06-06 03:44:00 | \n",
" F | \n",
" BLACK/AFRICAN AMERICAN | \n",
" OTHER | \n",
" ADMITTED | \n",
" 1 | \n",
" 97.3 | \n",
" 43.0 | \n",
" 16.0 | \n",
" 99.0 | \n",
" 140.0 | \n",
" 100.0 | \n",
" 4 | \n",
" test | \n",
" 362.000000 | \n",
" 21 | \n",
" Saturday | \n",
" 1 | \n",
" 1 | \n",
" True | \n",
"
\n",
" \n",
" | 23 | \n",
" 10003400 | \n",
" 29483621.0 | \n",
" 34948767 | \n",
" 2136-11-04 16:08:00 | \n",
" 2136-11-04 22:12:00 | \n",
" F | \n",
" BLACK/AFRICAN AMERICAN | \n",
" WALK IN | \n",
" ADMITTED | \n",
" 1 | \n",
" 99.9 | \n",
" 86.0 | \n",
" 18.0 | \n",
" 100.0 | \n",
" 142.0 | \n",
" 92.0 | \n",
" 2 | \n",
" test | \n",
" 364.000000 | \n",
" 16 | \n",
" Sunday | \n",
" 0 | \n",
" 0 | \n",
" False | \n",
"
\n",
" \n",
" | 24 | \n",
" 10002930 | \n",
" 28697806.0 | \n",
" 32272346 | \n",
" 2200-06-04 16:38:00 | \n",
" 2200-06-05 10:26:00 | \n",
" F | \n",
" BLACK/AFRICAN AMERICAN | \n",
" AMBULANCE | \n",
" HOME | \n",
" 1 | \n",
" 97.3 | \n",
" 89.0 | \n",
" 16.0 | \n",
" 100.0 | \n",
" 106.0 | \n",
" 61.0 | \n",
" 3 | \n",
" test | \n",
" 1068.000000 | \n",
" 16 | \n",
" Wednesday | \n",
" 1 | \n",
" 1 | \n",
" True | \n",
"
\n",
" \n",
" | 25 | \n",
" 10002930 | \n",
" 25696644.0 | \n",
" 31579293 | \n",
" 2196-04-14 05:55:00 | \n",
" 2196-04-14 13:40:00 | \n",
" F | \n",
" BLACK/AFRICAN AMERICAN | \n",
" UNKNOWN | \n",
" ADMITTED | \n",
" 1 | \n",
" 95.6 | \n",
" 89.0 | \n",
" 16.0 | \n",
" 100.0 | \n",
" 106.0 | \n",
" 65.0 | \n",
" 3 | \n",
" test | \n",
" 465.000000 | \n",
" 5 | \n",
" Thursday | \n",
" 1 | \n",
" 1 | \n",
" True | \n",
"
\n",
" \n",
" | 26 | \n",
" 10002930 | \n",
" 20282368.0 | \n",
" 39266792 | \n",
" 2201-03-23 12:04:00 | \n",
" 2201-03-26 14:24:00 | \n",
" F | \n",
" BLACK/AFRICAN AMERICAN | \n",
" AMBULANCE | \n",
" TRANSFER | \n",
" 1 | \n",
" 98.1 | \n",
" 76.0 | \n",
" 18.0 | \n",
" 100.0 | \n",
" 181.0 | \n",
" 94.0 | \n",
" 3 | \n",
" test | \n",
" 4460.000000 | \n",
" 12 | \n",
" Monday | \n",
" 1 | \n",
" 1 | \n",
" True | \n",
"
\n",
" \n",
" | 27 | \n",
" 10002930 | \n",
" 25922998.0 | \n",
" 30193781 | \n",
" 2198-04-17 11:42:00 | \n",
" 2198-04-17 21:24:00 | \n",
" F | \n",
" BLACK/AFRICAN AMERICAN | \n",
" WALK IN | \n",
" ADMITTED | \n",
" 1 | \n",
" 98.2 | \n",
" 88.0 | \n",
" 16.0 | \n",
" 100.0 | \n",
" 150.0 | \n",
" 98.0 | \n",
" 3 | \n",
" test | \n",
" 582.000000 | \n",
" 11 | \n",
" Tuesday | \n",
" 0 | \n",
" 0 | \n",
" False | \n",
"
\n",
" \n",
" | 28 | \n",
" 10002930 | \n",
" 28477649.0 | \n",
" 38615683 | \n",
" 2197-04-07 03:20:00 | \n",
" 2197-04-07 06:56:40 | \n",
" F | \n",
" BLACK/AFRICAN AMERICAN | \n",
" AMBULANCE | \n",
" ADMITTED | \n",
" 1 | \n",
" 97.5 | \n",
" 108.0 | \n",
" 16.0 | \n",
" 100.0 | \n",
" 154.0 | \n",
" 92.0 | \n",
" 1 | \n",
" test | \n",
" 216.666667 | \n",
" 3 | \n",
" Friday | \n",
" 1 | \n",
" 1 | \n",
" True | \n",
"
\n",
" \n",
" | 29 | \n",
" 10002930 | \n",
" 25282382.0 | \n",
" 35540249 | \n",
" 2197-04-16 22:57:00 | \n",
" 2197-04-17 09:48:00 | \n",
" F | \n",
" BLACK/AFRICAN AMERICAN | \n",
" WALK IN | \n",
" HOME | \n",
" 1 | \n",
" 98.5 | \n",
" 110.0 | \n",
" 18.0 | \n",
" 100.0 | \n",
" 123.0 | \n",
" 67.0 | \n",
" 3 | \n",
" test | \n",
" 651.000000 | \n",
" 22 | \n",
" Sunday | \n",
" 1 | \n",
" 1 | \n",
" True | \n",
"
\n",
" \n",
" | 30 | \n",
" 10002930 | \n",
" 23720373.0 | \n",
" 35114287 | \n",
" 2199-02-17 14:32:00 | \n",
" 2199-02-19 13:38:00 | \n",
" F | \n",
" BLACK/AFRICAN AMERICAN | \n",
" AMBULANCE | \n",
" TRANSFER | \n",
" 1 | \n",
" 98.9 | \n",
" 102.0 | \n",
" 20.0 | \n",
" 100.0 | \n",
" 180.0 | \n",
" 85.0 | \n",
" 4 | \n",
" test | \n",
" 2826.000000 | \n",
" 14 | \n",
" Sunday | \n",
" 1 | \n",
" 1 | \n",
" True | \n",
"
\n",
" \n",
" | 31 | \n",
" 10002930 | \n",
" 20846853.0 | \n",
" 39910144 | \n",
" 2201-02-12 15:11:00 | \n",
" 2201-02-13 11:11:00 | \n",
" F | \n",
" BLACK/AFRICAN AMERICAN | \n",
" AMBULANCE | \n",
" HOME | \n",
" 1 | \n",
" 97.7 | \n",
" 103.0 | \n",
" 18.0 | \n",
" 97.0 | \n",
" 137.0 | \n",
" 87.0 | \n",
" 3 | \n",
" test | \n",
" 1200.000000 | \n",
" 15 | \n",
" Thursday | \n",
" 1 | \n",
" 1 | \n",
" True | \n",
"
\n",
" \n",
" | 32 | \n",
" 10021938 | \n",
" NaN | \n",
" 38449411 | \n",
" 2181-09-02 19:21:00 | \n",
" 2181-09-03 01:49:00 | \n",
" M | \n",
" WHITE | \n",
" AMBULANCE | \n",
" HOME | \n",
" 0 | \n",
" NaN | \n",
" NaN | \n",
" NaN | \n",
" NaN | \n",
" NaN | \n",
" NaN | \n",
" 1 | \n",
" test | \n",
" 388.000000 | \n",
" 19 | \n",
" Sunday | \n",
" 1 | \n",
" 1 | \n",
" False | \n",
"
\n",
" \n",
" | 33 | \n",
" 10021938 | \n",
" 23112364.0 | \n",
" 38890884 | \n",
" 2181-10-12 20:17:00 | \n",
" 2181-10-13 02:52:00 | \n",
" M | \n",
" WHITE | \n",
" AMBULANCE | \n",
" ADMITTED | \n",
" 1 | \n",
" 99.8 | \n",
" 110.0 | \n",
" 18.0 | \n",
" 93.0 | \n",
" 178.0 | \n",
" 85.0 | \n",
" 1 | \n",
" test | \n",
" 395.000000 | \n",
" 20 | \n",
" Friday | \n",
" 1 | \n",
" 1 | \n",
" True | \n",
"
\n",
" \n",
" | 34 | \n",
" 10021938 | \n",
" 27154822.0 | \n",
" 32204198 | \n",
" 2181-10-25 09:23:00 | \n",
" 2181-10-25 11:35:00 | \n",
" M | \n",
" WHITE | \n",
" AMBULANCE | \n",
" ADMITTED | \n",
" 1 | \n",
" 98.4 | \n",
" 89.0 | \n",
" 18.0 | \n",
" 97.0 | \n",
" 217.0 | \n",
" 116.0 | \n",
" 1 | \n",
" test | \n",
" 132.000000 | \n",
" 9 | \n",
" Thursday | \n",
" 1 | \n",
" 1 | \n",
" True | \n",
"
\n",
" \n",
" | 35 | \n",
" 10005866 | \n",
" 27167814.0 | \n",
" 30804580 | \n",
" 2148-03-10 04:46:00 | \n",
" 2148-03-10 16:18:48 | \n",
" M | \n",
" PORTUGUESE | \n",
" AMBULANCE | \n",
" ADMITTED | \n",
" 1 | \n",
" 97.4 | \n",
" 66.0 | \n",
" 18.0 | \n",
" 99.0 | \n",
" 111.0 | \n",
" 68.0 | \n",
" 1 | \n",
" test | \n",
" 692.800000 | \n",
" 4 | \n",
" Sunday | \n",
" 1 | \n",
" 1 | \n",
" True | \n",
"
\n",
" \n",
" | 36 | \n",
" 10005866 | \n",
" 26134779.0 | \n",
" 31806264 | \n",
" 2149-09-12 15:31:00 | \n",
" 2149-09-13 09:02:00 | \n",
" M | \n",
" PORTUGUESE | \n",
" WALK IN | \n",
" ADMITTED | \n",
" 1 | \n",
" 98.2 | \n",
" 84.0 | \n",
" 18.0 | \n",
" 100.0 | \n",
" 175.0 | \n",
" 80.0 | \n",
" 1 | \n",
" test | \n",
" 1051.000000 | \n",
" 15 | \n",
" Friday | \n",
" 1 | \n",
" 1 | \n",
" True | \n",
"
\n",
" \n",
" | 37 | \n",
" 10005866 | \n",
" 22589518.0 | \n",
" 32537287 | \n",
" 2149-02-11 08:52:00 | \n",
" 2149-02-11 23:09:00 | \n",
" M | \n",
" PORTUGUESE | \n",
" WALK IN | \n",
" ADMITTED | \n",
" 1 | \n",
" 98.0 | \n",
" 82.0 | \n",
" 22.0 | \n",
" 100.0 | \n",
" 157.0 | \n",
" 82.0 | \n",
" 1 | \n",
" test | \n",
" 857.000000 | \n",
" 8 | \n",
" Tuesday | \n",
" 1 | \n",
" 1 | \n",
" True | \n",
"
\n",
" \n",
" | 38 | \n",
" 10005866 | \n",
" NaN | \n",
" 31023359 | \n",
" 2149-09-28 01:53:00 | \n",
" 2149-09-28 16:26:00 | \n",
" M | \n",
" PORTUGUESE | \n",
" WALK IN | \n",
" HOME | \n",
" 0 | \n",
" 97.2 | \n",
" 88.0 | \n",
" 18.0 | \n",
" 100.0 | \n",
" 163.0 | \n",
" 89.0 | \n",
" 4 | \n",
" test | \n",
" 873.000000 | \n",
" 1 | \n",
" Sunday | \n",
" 1 | \n",
" 1 | \n",
" False | \n",
"
\n",
" \n",
" | 39 | \n",
" 10005866 | \n",
" 21636229.0 | \n",
" 30225689 | \n",
" 2149-09-20 05:50:00 | \n",
" 2149-09-20 15:53:00 | \n",
" M | \n",
" PORTUGUESE | \n",
" WALK IN | \n",
" ADMITTED | \n",
" 1 | \n",
" 97.6 | \n",
" 72.0 | \n",
" 16.0 | \n",
" 100.0 | \n",
" 163.0 | \n",
" 81.0 | \n",
" 1 | \n",
" test | \n",
" 603.000000 | \n",
" 5 | \n",
" Saturday | \n",
" 1 | \n",
" 1 | \n",
" True | \n",
"
\n",
" \n",
" | 40 | \n",
" 10005866 | \n",
" NaN | \n",
" 32281632 | \n",
" 2148-06-13 08:36:00 | \n",
" 2148-06-13 17:30:00 | \n",
" M | \n",
" PORTUGUESE | \n",
" AMBULANCE | \n",
" TRANSFER | \n",
" 0 | \n",
" 97.9 | \n",
" 63.0 | \n",
" 18.0 | \n",
" 99.0 | \n",
" 149.0 | \n",
" 72.0 | \n",
" 1 | \n",
" test | \n",
" 534.000000 | \n",
" 8 | \n",
" Thursday | \n",
" 1 | \n",
" 1 | \n",
" False | \n",
"
\n",
" \n",
" | 41 | \n",
" 10005866 | \n",
" 23514107.0 | \n",
" 35681380 | \n",
" 2149-06-20 10:20:00 | \n",
" 2149-06-20 20:59:00 | \n",
" M | \n",
" PORTUGUESE | \n",
" WALK IN | \n",
" ADMITTED | \n",
" 1 | \n",
" 98.0 | \n",
" 76.0 | \n",
" 18.0 | \n",
" 99.0 | \n",
" 147.0 | \n",
" 92.0 | \n",
" 1 | \n",
" test | \n",
" 639.000000 | \n",
" 10 | \n",
" Friday | \n",
" 1 | \n",
" 1 | \n",
" True | \n",
"
\n",
" \n",
" | 42 | \n",
" 10005866 | \n",
" 26158160.0 | \n",
" 34558830 | \n",
" 2146-06-05 22:26:00 | \n",
" 2146-06-06 01:45:00 | \n",
" M | \n",
" PORTUGUESE | \n",
" AMBULANCE | \n",
" ADMITTED | \n",
" 1 | \n",
" NaN | \n",
" NaN | \n",
" NaN | \n",
" NaN | \n",
" NaN | \n",
" NaN | \n",
" 1 | \n",
" test | \n",
" 199.000000 | \n",
" 22 | \n",
" Sunday | \n",
" 1 | \n",
" 1 | \n",
" True | \n",
"
\n",
" \n",
" | 43 | \n",
" 10005866 | \n",
" 20364112.0 | \n",
" 31121963 | \n",
" 2149-10-01 02:07:00 | \n",
" 2149-10-01 18:56:59 | \n",
" M | \n",
" PORTUGUESE | \n",
" AMBULANCE | \n",
" ADMITTED | \n",
" 1 | \n",
" 98.8 | \n",
" 106.0 | \n",
" 20.0 | \n",
" 100.0 | \n",
" 163.0 | \n",
" 103.0 | \n",
" 2 | \n",
" test | \n",
" 1009.983333 | \n",
" 2 | \n",
" Wednesday | \n",
" 1 | \n",
" 1 | \n",
" True | \n",
"
\n",
" \n",
" | 44 | \n",
" 10026406 | \n",
" NaN | \n",
" 39571461 | \n",
" 2129-11-25 19:02:00 | \n",
" 2129-11-26 00:46:00 | \n",
" M | \n",
" WHITE | \n",
" WALK IN | \n",
" HOME | \n",
" 0 | \n",
" 98.7 | \n",
" 118.0 | \n",
" 22.0 | \n",
" 99.0 | \n",
" 131.0 | \n",
" 89.0 | \n",
" 1 | \n",
" test | \n",
" 344.000000 | \n",
" 19 | \n",
" Friday | \n",
" 1 | \n",
" 1 | \n",
" False | \n",
"
\n",
" \n",
" | 45 | \n",
" 10026406 | \n",
" 25260176.0 | \n",
" 37202404 | \n",
" 2129-01-02 23:41:00 | \n",
" 2129-01-03 18:33:00 | \n",
" M | \n",
" WHITE | \n",
" AMBULANCE | \n",
" ADMITTED | \n",
" 1 | \n",
" 98.0 | \n",
" 105.0 | \n",
" 20.0 | \n",
" 98.0 | \n",
" 153.0 | \n",
" 77.0 | \n",
" 4 | \n",
" test | \n",
" 1132.000000 | \n",
" 23 | \n",
" Sunday | \n",
" 1 | \n",
" 1 | \n",
" True | \n",
"
\n",
" \n",
" | 46 | \n",
" 10026406 | \n",
" 25166559.0 | \n",
" 38237602 | \n",
" 2133-03-01 16:42:00 | \n",
" 2133-03-04 17:05:00 | \n",
" M | \n",
" WHITE | \n",
" WALK IN | \n",
" HOME | \n",
" 1 | \n",
" 97.0 | \n",
" 98.0 | \n",
" 20.0 | \n",
" 99.0 | \n",
" 133.0 | \n",
" 110.0 | \n",
" 4 | \n",
" test | \n",
" 4343.000000 | \n",
" 16 | \n",
" Sunday | \n",
" 1 | \n",
" 1 | \n",
" True | \n",
"
\n",
" \n",
" | 47 | \n",
" 10025463 | \n",
" 24470193.0 | \n",
" 35470228 | \n",
" 2137-10-08 18:16:00 | \n",
" 2137-10-08 21:20:50 | \n",
" M | \n",
" WHITE | \n",
" AMBULANCE | \n",
" OTHER | \n",
" 1 | \n",
" NaN | \n",
" NaN | \n",
" NaN | \n",
" NaN | \n",
" NaN | \n",
" NaN | \n",
" 1 | \n",
" test | \n",
" 184.833333 | \n",
" 18 | \n",
" Tuesday | \n",
" 1 | \n",
" 1 | \n",
" True | \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" subject_id hadm_id stay_id intime outtime \\\n",
"0 10001217 24597018.0 39866888 2157-11-18 17:38:00 2157-11-19 01:24:00 \n",
"1 10001217 NaN 39300221 2157-11-29 19:28:00 2157-11-29 21:22:00 \n",
"2 10014078 25809882.0 38676365 2166-08-21 21:39:00 2166-08-22 00:36:00 \n",
"3 10037928 23721604.0 32259566 2179-03-27 14:15:00 2179-03-27 19:48:00 \n",
"4 10037928 NaN 32891808 2178-01-24 21:23:00 2178-01-24 23:59:00 \n",
"5 10037928 NaN 34992024 2183-11-28 17:19:00 2183-11-28 23:57:00 \n",
"6 10037928 29802992.0 37953392 2179-07-24 18:21:00 2179-07-25 01:17:00 \n",
"7 10037928 22228639.0 35156583 2183-08-03 19:27:00 2183-08-04 16:07:00 \n",
"8 10037928 22490490.0 38207210 2177-07-14 14:52:00 2177-07-14 20:38:00 \n",
"9 10037928 24885579.0 37483564 2182-04-28 17:25:00 2182-04-29 07:49:00 \n",
"10 10037928 24656677.0 32443787 2178-12-21 03:17:00 2178-12-21 05:30:41 \n",
"11 10037928 22326517.0 39740242 2177-12-21 16:49:00 2177-12-21 22:26:00 \n",
"12 10037928 24225421.0 34478228 2178-09-28 20:29:00 2178-09-29 00:43:00 \n",
"13 10037928 20192635.0 37036523 2177-09-04 06:29:00 2177-09-04 12:06:40 \n",
"14 10019003 27525946.0 38260469 2153-04-12 13:03:00 2153-04-12 21:40:00 \n",
"15 10019003 29279905.0 31254712 2153-03-27 21:28:00 2153-03-28 02:21:00 \n",
"16 10019003 26529390.0 38020791 2155-05-17 21:03:00 2155-05-18 00:03:15 \n",
"17 10019003 26703331.0 35568186 2155-06-10 20:37:00 2155-06-10 23:10:36 \n",
"18 10019003 21457723.0 36686656 2155-07-10 12:46:00 2155-07-10 17:48:57 \n",
"19 10003400 22390287.0 34922474 2137-02-07 13:06:00 2137-02-07 21:44:00 \n",
"20 10003400 26467376.0 33678912 2136-12-09 13:16:00 2136-12-09 14:45:10 \n",
"21 10003400 27296885.0 36976997 2136-12-31 13:41:00 2137-01-01 00:35:00 \n",
"22 10003400 26090619.0 33347721 2134-06-05 21:42:00 2134-06-06 03:44:00 \n",
"23 10003400 29483621.0 34948767 2136-11-04 16:08:00 2136-11-04 22:12:00 \n",
"24 10002930 28697806.0 32272346 2200-06-04 16:38:00 2200-06-05 10:26:00 \n",
"25 10002930 25696644.0 31579293 2196-04-14 05:55:00 2196-04-14 13:40:00 \n",
"26 10002930 20282368.0 39266792 2201-03-23 12:04:00 2201-03-26 14:24:00 \n",
"27 10002930 25922998.0 30193781 2198-04-17 11:42:00 2198-04-17 21:24:00 \n",
"28 10002930 28477649.0 38615683 2197-04-07 03:20:00 2197-04-07 06:56:40 \n",
"29 10002930 25282382.0 35540249 2197-04-16 22:57:00 2197-04-17 09:48:00 \n",
"30 10002930 23720373.0 35114287 2199-02-17 14:32:00 2199-02-19 13:38:00 \n",
"31 10002930 20846853.0 39910144 2201-02-12 15:11:00 2201-02-13 11:11:00 \n",
"32 10021938 NaN 38449411 2181-09-02 19:21:00 2181-09-03 01:49:00 \n",
"33 10021938 23112364.0 38890884 2181-10-12 20:17:00 2181-10-13 02:52:00 \n",
"34 10021938 27154822.0 32204198 2181-10-25 09:23:00 2181-10-25 11:35:00 \n",
"35 10005866 27167814.0 30804580 2148-03-10 04:46:00 2148-03-10 16:18:48 \n",
"36 10005866 26134779.0 31806264 2149-09-12 15:31:00 2149-09-13 09:02:00 \n",
"37 10005866 22589518.0 32537287 2149-02-11 08:52:00 2149-02-11 23:09:00 \n",
"38 10005866 NaN 31023359 2149-09-28 01:53:00 2149-09-28 16:26:00 \n",
"39 10005866 21636229.0 30225689 2149-09-20 05:50:00 2149-09-20 15:53:00 \n",
"40 10005866 NaN 32281632 2148-06-13 08:36:00 2148-06-13 17:30:00 \n",
"41 10005866 23514107.0 35681380 2149-06-20 10:20:00 2149-06-20 20:59:00 \n",
"42 10005866 26158160.0 34558830 2146-06-05 22:26:00 2146-06-06 01:45:00 \n",
"43 10005866 20364112.0 31121963 2149-10-01 02:07:00 2149-10-01 18:56:59 \n",
"44 10026406 NaN 39571461 2129-11-25 19:02:00 2129-11-26 00:46:00 \n",
"45 10026406 25260176.0 37202404 2129-01-02 23:41:00 2129-01-03 18:33:00 \n",
"46 10026406 25166559.0 38237602 2133-03-01 16:42:00 2133-03-04 17:05:00 \n",
"47 10025463 24470193.0 35470228 2137-10-08 18:16:00 2137-10-08 21:20:50 \n",
"\n",
" gender race arrival_transport disposition \\\n",
"0 F WHITE WALK IN ADMITTED \n",
"1 F WHITE WALK IN HOME \n",
"2 F UNABLE TO OBTAIN AMBULANCE ADMITTED \n",
"3 F HISPANIC/LATINO - CUBAN AMBULANCE ADMITTED \n",
"4 F HISPANIC/LATINO - CUBAN WALK IN HOME \n",
"5 F HISPANIC/LATINO - CUBAN AMBULANCE HOME \n",
"6 F HISPANIC/LATINO - CUBAN AMBULANCE ADMITTED \n",
"7 F HISPANIC/LATINO - CUBAN AMBULANCE HOME \n",
"8 F HISPANIC/LATINO - CUBAN AMBULANCE ADMITTED \n",
"9 F HISPANIC/LATINO - CUBAN WALK IN ADMITTED \n",
"10 F HISPANIC/LATINO - CUBAN AMBULANCE ADMITTED \n",
"11 F HISPANIC/LATINO - CUBAN WALK IN ADMITTED \n",
"12 F HISPANIC/LATINO - CUBAN WALK IN ADMITTED \n",
"13 F HISPANIC/LATINO - CUBAN AMBULANCE ADMITTED \n",
"14 F WHITE WALK IN ADMITTED \n",
"15 F WHITE AMBULANCE ADMITTED \n",
"16 F WHITE WALK IN ADMITTED \n",
"17 F WHITE AMBULANCE ADMITTED \n",
"18 F WHITE AMBULANCE ADMITTED \n",
"19 F BLACK/AFRICAN AMERICAN AMBULANCE ADMITTED \n",
"20 F BLACK/AFRICAN AMERICAN AMBULANCE ADMITTED \n",
"21 F BLACK/AFRICAN AMERICAN AMBULANCE ADMITTED \n",
"22 F BLACK/AFRICAN AMERICAN OTHER ADMITTED \n",
"23 F BLACK/AFRICAN AMERICAN WALK IN ADMITTED \n",
"24 F BLACK/AFRICAN AMERICAN AMBULANCE HOME \n",
"25 F BLACK/AFRICAN AMERICAN UNKNOWN ADMITTED \n",
"26 F BLACK/AFRICAN AMERICAN AMBULANCE TRANSFER \n",
"27 F BLACK/AFRICAN AMERICAN WALK IN ADMITTED \n",
"28 F BLACK/AFRICAN AMERICAN AMBULANCE ADMITTED \n",
"29 F BLACK/AFRICAN AMERICAN WALK IN HOME \n",
"30 F BLACK/AFRICAN AMERICAN AMBULANCE TRANSFER \n",
"31 F BLACK/AFRICAN AMERICAN AMBULANCE HOME \n",
"32 M WHITE AMBULANCE HOME \n",
"33 M WHITE AMBULANCE ADMITTED \n",
"34 M WHITE AMBULANCE ADMITTED \n",
"35 M PORTUGUESE AMBULANCE ADMITTED \n",
"36 M PORTUGUESE WALK IN ADMITTED \n",
"37 M PORTUGUESE WALK IN ADMITTED \n",
"38 M PORTUGUESE WALK IN HOME \n",
"39 M PORTUGUESE WALK IN ADMITTED \n",
"40 M PORTUGUESE AMBULANCE TRANSFER \n",
"41 M PORTUGUESE WALK IN ADMITTED \n",
"42 M PORTUGUESE AMBULANCE ADMITTED \n",
"43 M PORTUGUESE AMBULANCE ADMITTED \n",
"44 M WHITE WALK IN HOME \n",
"45 M WHITE AMBULANCE ADMITTED \n",
"46 M WHITE WALK IN HOME \n",
"47 M WHITE AMBULANCE OTHER \n",
"\n",
" admitted_from_ed temperature heartrate resprate o2sat sbp dbp \\\n",
"0 1 99.0 81.0 16.0 97.0 160.0 102.0 \n",
"1 0 98.0 75.0 20.0 98.0 132.0 95.0 \n",
"2 1 NaN NaN NaN NaN NaN NaN \n",
"3 1 99.8 97.0 32.0 88.0 176.0 86.0 \n",
"4 0 97.0 81.0 18.0 99.0 161.0 55.0 \n",
"5 0 36.5 95.0 18.0 98.0 150.0 56.0 \n",
"6 1 98.3 76.0 16.0 98.0 144.0 56.0 \n",
"7 1 97.8 75.0 16.0 95.0 159.0 60.0 \n",
"8 1 98.2 72.0 16.0 96.0 126.0 43.0 \n",
"9 1 98.2 105.0 24.0 96.0 177.0 69.0 \n",
"10 1 98.1 130.0 15.0 95.0 179.0 69.0 \n",
"11 1 98.7 108.0 22.0 98.0 151.0 55.0 \n",
"12 1 97.6 96.0 16.0 94.0 121.0 65.0 \n",
"13 1 NaN NaN NaN NaN NaN NaN \n",
"14 1 99.1 96.0 17.0 96.0 114.0 66.0 \n",
"15 1 98.4 96.0 15.0 97.0 98.0 56.0 \n",
"16 1 98.1 97.0 16.0 93.0 117.0 60.0 \n",
"17 1 97.8 92.0 26.0 95.0 116.0 57.0 \n",
"18 1 98.6 98.0 16.0 97.0 105.0 43.0 \n",
"19 1 98.8 124.0 16.0 98.0 136.0 82.0 \n",
"20 1 98.3 157.0 18.0 100.0 115.0 81.0 \n",
"21 1 97.7 91.0 16.0 100.0 111.0 68.0 \n",
"22 1 97.3 43.0 16.0 99.0 140.0 100.0 \n",
"23 1 99.9 86.0 18.0 100.0 142.0 92.0 \n",
"24 1 97.3 89.0 16.0 100.0 106.0 61.0 \n",
"25 1 95.6 89.0 16.0 100.0 106.0 65.0 \n",
"26 1 98.1 76.0 18.0 100.0 181.0 94.0 \n",
"27 1 98.2 88.0 16.0 100.0 150.0 98.0 \n",
"28 1 97.5 108.0 16.0 100.0 154.0 92.0 \n",
"29 1 98.5 110.0 18.0 100.0 123.0 67.0 \n",
"30 1 98.9 102.0 20.0 100.0 180.0 85.0 \n",
"31 1 97.7 103.0 18.0 97.0 137.0 87.0 \n",
"32 0 NaN NaN NaN NaN NaN NaN \n",
"33 1 99.8 110.0 18.0 93.0 178.0 85.0 \n",
"34 1 98.4 89.0 18.0 97.0 217.0 116.0 \n",
"35 1 97.4 66.0 18.0 99.0 111.0 68.0 \n",
"36 1 98.2 84.0 18.0 100.0 175.0 80.0 \n",
"37 1 98.0 82.0 22.0 100.0 157.0 82.0 \n",
"38 0 97.2 88.0 18.0 100.0 163.0 89.0 \n",
"39 1 97.6 72.0 16.0 100.0 163.0 81.0 \n",
"40 0 97.9 63.0 18.0 99.0 149.0 72.0 \n",
"41 1 98.0 76.0 18.0 99.0 147.0 92.0 \n",
"42 1 NaN NaN NaN NaN NaN NaN \n",
"43 1 98.8 106.0 20.0 100.0 163.0 103.0 \n",
"44 0 98.7 118.0 22.0 99.0 131.0 89.0 \n",
"45 1 98.0 105.0 20.0 98.0 153.0 77.0 \n",
"46 1 97.0 98.0 20.0 99.0 133.0 110.0 \n",
"47 1 NaN NaN NaN NaN NaN NaN \n",
"\n",
" n_diagnosis split los_minutes arrival_hour arrival_weekday prediction \\\n",
"0 2 test 466.000000 17 Friday 1 \n",
"1 1 test 114.000000 19 Tuesday 1 \n",
"2 1 test 177.000000 21 Thursday 1 \n",
"3 1 test 333.000000 14 Saturday 1 \n",
"4 4 test 156.000000 21 Saturday 1 \n",
"5 6 test 398.000000 17 Friday 0 \n",
"6 6 test 416.000000 18 Saturday 1 \n",
"7 3 test 1240.000000 19 Sunday 1 \n",
"8 2 test 346.000000 14 Monday 1 \n",
"9 1 test 864.000000 17 Sunday 1 \n",
"10 1 test 133.683333 3 Monday 1 \n",
"11 3 test 337.000000 16 Sunday 1 \n",
"12 3 test 254.000000 20 Monday 1 \n",
"13 3 test 337.666667 6 Thursday 1 \n",
"14 1 test 517.000000 13 Thursday 1 \n",
"15 4 test 293.000000 21 Tuesday 1 \n",
"16 1 test 180.250000 21 Saturday 1 \n",
"17 3 test 153.600000 20 Tuesday 1 \n",
"18 2 test 302.950000 12 Thursday 1 \n",
"19 3 test 518.000000 13 Thursday 1 \n",
"20 2 test 89.166667 13 Sunday 1 \n",
"21 2 test 654.000000 13 Monday 1 \n",
"22 4 test 362.000000 21 Saturday 1 \n",
"23 2 test 364.000000 16 Sunday 0 \n",
"24 3 test 1068.000000 16 Wednesday 1 \n",
"25 3 test 465.000000 5 Thursday 1 \n",
"26 3 test 4460.000000 12 Monday 1 \n",
"27 3 test 582.000000 11 Tuesday 0 \n",
"28 1 test 216.666667 3 Friday 1 \n",
"29 3 test 651.000000 22 Sunday 1 \n",
"30 4 test 2826.000000 14 Sunday 1 \n",
"31 3 test 1200.000000 15 Thursday 1 \n",
"32 1 test 388.000000 19 Sunday 1 \n",
"33 1 test 395.000000 20 Friday 1 \n",
"34 1 test 132.000000 9 Thursday 1 \n",
"35 1 test 692.800000 4 Sunday 1 \n",
"36 1 test 1051.000000 15 Friday 1 \n",
"37 1 test 857.000000 8 Tuesday 1 \n",
"38 4 test 873.000000 1 Sunday 1 \n",
"39 1 test 603.000000 5 Saturday 1 \n",
"40 1 test 534.000000 8 Thursday 1 \n",
"41 1 test 639.000000 10 Friday 1 \n",
"42 1 test 199.000000 22 Sunday 1 \n",
"43 2 test 1009.983333 2 Wednesday 1 \n",
"44 1 test 344.000000 19 Friday 1 \n",
"45 4 test 1132.000000 23 Sunday 1 \n",
"46 4 test 4343.000000 16 Sunday 1 \n",
"47 1 test 184.833333 18 Tuesday 1 \n",
"\n",
" prediction_class match \n",
"0 1 True \n",
"1 1 False \n",
"2 1 True \n",
"3 1 True \n",
"4 1 False \n",
"5 0 True \n",
"6 1 True \n",
"7 1 True \n",
"8 1 True \n",
"9 1 True \n",
"10 1 True \n",
"11 1 True \n",
"12 1 True \n",
"13 1 True \n",
"14 1 True \n",
"15 1 True \n",
"16 1 True \n",
"17 1 True \n",
"18 1 True \n",
"19 1 True \n",
"20 1 True \n",
"21 1 True \n",
"22 1 True \n",
"23 0 False \n",
"24 1 True \n",
"25 1 True \n",
"26 1 True \n",
"27 0 False \n",
"28 1 True \n",
"29 1 True \n",
"30 1 True \n",
"31 1 True \n",
"32 1 False \n",
"33 1 True \n",
"34 1 True \n",
"35 1 True \n",
"36 1 True \n",
"37 1 True \n",
"38 1 False \n",
"39 1 True \n",
"40 1 False \n",
"41 1 True \n",
"42 1 True \n",
"43 1 True \n",
"44 1 False \n",
"45 1 True \n",
"46 1 True \n",
"47 1 True "
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/html": [
"\n",
"\n",
" \n",
" \n",
" | | \n",
" subject_id | \n",
" hadm_id | \n",
" stay_id | \n",
" intime | \n",
" outtime | \n",
" gender | \n",
" race | \n",
" arrival_transport | \n",
" disposition | \n",
" admitted_from_ed | \n",
" temperature | \n",
" heartrate | \n",
" resprate | \n",
" o2sat | \n",
" sbp | \n",
" dbp | \n",
" n_diagnosis | \n",
" split | \n",
" los_minutes | \n",
" arrival_hour | \n",
" arrival_weekday | \n",
" prediction | \n",
" prediction_class | \n",
" match | \n",
"
\n",
" \n",
" \n",
" \n",
" | 0 | \n",
" 10001217 | \n",
" 24597018.000000 | \n",
" 39866888 | \n",
" 2157-11-18 17:38:00 | \n",
" 2157-11-19 01:24:00 | \n",
" F | \n",
" WHITE | \n",
" WALK IN | \n",
" ADMITTED | \n",
" 1 | \n",
" 99.000000 | \n",
" 81.000000 | \n",
" 16.000000 | \n",
" 97.000000 | \n",
" 160.000000 | \n",
" 102.000000 | \n",
" 2 | \n",
" test | \n",
" 466.000000 | \n",
" 17 | \n",
" Friday | \n",
" 1 | \n",
" 1 | \n",
" True | \n",
"
\n",
" \n",
" | 1 | \n",
" 10001217 | \n",
" nan | \n",
" 39300221 | \n",
" 2157-11-29 19:28:00 | \n",
" 2157-11-29 21:22:00 | \n",
" F | \n",
" WHITE | \n",
" WALK IN | \n",
" HOME | \n",
" 0 | \n",
" 98.000000 | \n",
" 75.000000 | \n",
" 20.000000 | \n",
" 98.000000 | \n",
" 132.000000 | \n",
" 95.000000 | \n",
" 1 | \n",
" test | \n",
" 114.000000 | \n",
" 19 | \n",
" Tuesday | \n",
" 1 | \n",
" 1 | \n",
" False | \n",
"
\n",
" \n",
" | 2 | \n",
" 10014078 | \n",
" 25809882.000000 | \n",
" 38676365 | \n",
" 2166-08-21 21:39:00 | \n",
" 2166-08-22 00:36:00 | \n",
" F | \n",
" UNABLE TO OBTAIN | \n",
" AMBULANCE | \n",
" ADMITTED | \n",
" 1 | \n",
" nan | \n",
" nan | \n",
" nan | \n",
" nan | \n",
" nan | \n",
" nan | \n",
" 1 | \n",
" test | \n",
" 177.000000 | \n",
" 21 | \n",
" Thursday | \n",
" 1 | \n",
" 1 | \n",
" True | \n",
"
\n",
" \n",
" | 3 | \n",
" 10037928 | \n",
" 23721604.000000 | \n",
" 32259566 | \n",
" 2179-03-27 14:15:00 | \n",
" 2179-03-27 19:48:00 | \n",
" F | \n",
" HISPANIC/LATINO - CUBAN | \n",
" AMBULANCE | \n",
" ADMITTED | \n",
" 1 | \n",
" 99.800000 | \n",
" 97.000000 | \n",
" 32.000000 | \n",
" 88.000000 | \n",
" 176.000000 | \n",
" 86.000000 | \n",
" 1 | \n",
" test | \n",
" 333.000000 | \n",
" 14 | \n",
" Saturday | \n",
" 1 | \n",
" 1 | \n",
" True | \n",
"
\n",
" \n",
" | 4 | \n",
" 10037928 | \n",
" nan | \n",
" 32891808 | \n",
" 2178-01-24 21:23:00 | \n",
" 2178-01-24 23:59:00 | \n",
" F | \n",
" HISPANIC/LATINO - CUBAN | \n",
" WALK IN | \n",
" HOME | \n",
" 0 | \n",
" 97.000000 | \n",
" 81.000000 | \n",
" 18.000000 | \n",
" 99.000000 | \n",
" 161.000000 | \n",
" 55.000000 | \n",
" 4 | \n",
" test | \n",
" 156.000000 | \n",
" 21 | \n",
" Saturday | \n",
" 1 | \n",
" 1 | \n",
" False | \n",
"
\n",
" \n",
" | 5 | \n",
" 10037928 | \n",
" nan | \n",
" 34992024 | \n",
" 2183-11-28 17:19:00 | \n",
" 2183-11-28 23:57:00 | \n",
" F | \n",
" HISPANIC/LATINO - CUBAN | \n",
" AMBULANCE | \n",
" HOME | \n",
" 0 | \n",
" 36.500000 | \n",
" 95.000000 | \n",
" 18.000000 | \n",
" 98.000000 | \n",
" 150.000000 | \n",
" 56.000000 | \n",
" 6 | \n",
" test | \n",
" 398.000000 | \n",
" 17 | \n",
" Friday | \n",
" 0 | \n",
" 0 | \n",
" True | \n",
"
\n",
" \n",
" | 6 | \n",
" 10037928 | \n",
" 29802992.000000 | \n",
" 37953392 | \n",
" 2179-07-24 18:21:00 | \n",
" 2179-07-25 01:17:00 | \n",
" F | \n",
" HISPANIC/LATINO - CUBAN | \n",
" AMBULANCE | \n",
" ADMITTED | \n",
" 1 | \n",
" 98.300000 | \n",
" 76.000000 | \n",
" 16.000000 | \n",
" 98.000000 | \n",
" 144.000000 | \n",
" 56.000000 | \n",
" 6 | \n",
" test | \n",
" 416.000000 | \n",
" 18 | \n",
" Saturday | \n",
" 1 | \n",
" 1 | \n",
" True | \n",
"
\n",
" \n",
" | 7 | \n",
" 10037928 | \n",
" 22228639.000000 | \n",
" 35156583 | \n",
" 2183-08-03 19:27:00 | \n",
" 2183-08-04 16:07:00 | \n",
" F | \n",
" HISPANIC/LATINO - CUBAN | \n",
" AMBULANCE | \n",
" HOME | \n",
" 1 | \n",
" 97.800000 | \n",
" 75.000000 | \n",
" 16.000000 | \n",
" 95.000000 | \n",
" 159.000000 | \n",
" 60.000000 | \n",
" 3 | \n",
" test | \n",
" 1240.000000 | \n",
" 19 | \n",
" Sunday | \n",
" 1 | \n",
" 1 | \n",
" True | \n",
"
\n",
" \n",
" | 8 | \n",
" 10037928 | \n",
" 22490490.000000 | \n",
" 38207210 | \n",
" 2177-07-14 14:52:00 | \n",
" 2177-07-14 20:38:00 | \n",
" F | \n",
" HISPANIC/LATINO - CUBAN | \n",
" AMBULANCE | \n",
" ADMITTED | \n",
" 1 | \n",
" 98.200000 | \n",
" 72.000000 | \n",
" 16.000000 | \n",
" 96.000000 | \n",
" 126.000000 | \n",
" 43.000000 | \n",
" 2 | \n",
" test | \n",
" 346.000000 | \n",
" 14 | \n",
" Monday | \n",
" 1 | \n",
" 1 | \n",
" True | \n",
"
\n",
" \n",
" | 9 | \n",
" 10037928 | \n",
" 24885579.000000 | \n",
" 37483564 | \n",
" 2182-04-28 17:25:00 | \n",
" 2182-04-29 07:49:00 | \n",
" F | \n",
" HISPANIC/LATINO - CUBAN | \n",
" WALK IN | \n",
" ADMITTED | \n",
" 1 | \n",
" 98.200000 | \n",
" 105.000000 | \n",
" 24.000000 | \n",
" 96.000000 | \n",
" 177.000000 | \n",
" 69.000000 | \n",
" 1 | \n",
" test | \n",
" 864.000000 | \n",
" 17 | \n",
" Sunday | \n",
" 1 | \n",
" 1 | \n",
" True | \n",
"
\n",
" \n",
" | 10 | \n",
" 10037928 | \n",
" 24656677.000000 | \n",
" 32443787 | \n",
" 2178-12-21 03:17:00 | \n",
" 2178-12-21 05:30:41 | \n",
" F | \n",
" HISPANIC/LATINO - CUBAN | \n",
" AMBULANCE | \n",
" ADMITTED | \n",
" 1 | \n",
" 98.100000 | \n",
" 130.000000 | \n",
" 15.000000 | \n",
" 95.000000 | \n",
" 179.000000 | \n",
" 69.000000 | \n",
" 1 | \n",
" test | \n",
" 133.683333 | \n",
" 3 | \n",
" Monday | \n",
" 1 | \n",
" 1 | \n",
" True | \n",
"
\n",
" \n",
" | 11 | \n",
" 10037928 | \n",
" 22326517.000000 | \n",
" 39740242 | \n",
" 2177-12-21 16:49:00 | \n",
" 2177-12-21 22:26:00 | \n",
" F | \n",
" HISPANIC/LATINO - CUBAN | \n",
" WALK IN | \n",
" ADMITTED | \n",
" 1 | \n",
" 98.700000 | \n",
" 108.000000 | \n",
" 22.000000 | \n",
" 98.000000 | \n",
" 151.000000 | \n",
" 55.000000 | \n",
" 3 | \n",
" test | \n",
" 337.000000 | \n",
" 16 | \n",
" Sunday | \n",
" 1 | \n",
" 1 | \n",
" True | \n",
"
\n",
" \n",
" | 12 | \n",
" 10037928 | \n",
" 24225421.000000 | \n",
" 34478228 | \n",
" 2178-09-28 20:29:00 | \n",
" 2178-09-29 00:43:00 | \n",
" F | \n",
" HISPANIC/LATINO - CUBAN | \n",
" WALK IN | \n",
" ADMITTED | \n",
" 1 | \n",
" 97.600000 | \n",
" 96.000000 | \n",
" 16.000000 | \n",
" 94.000000 | \n",
" 121.000000 | \n",
" 65.000000 | \n",
" 3 | \n",
" test | \n",
" 254.000000 | \n",
" 20 | \n",
" Monday | \n",
" 1 | \n",
" 1 | \n",
" True | \n",
"
\n",
" \n",
" | 13 | \n",
" 10037928 | \n",
" 20192635.000000 | \n",
" 37036523 | \n",
" 2177-09-04 06:29:00 | \n",
" 2177-09-04 12:06:40 | \n",
" F | \n",
" HISPANIC/LATINO - CUBAN | \n",
" AMBULANCE | \n",
" ADMITTED | \n",
" 1 | \n",
" nan | \n",
" nan | \n",
" nan | \n",
" nan | \n",
" nan | \n",
" nan | \n",
" 3 | \n",
" test | \n",
" 337.666667 | \n",
" 6 | \n",
" Thursday | \n",
" 1 | \n",
" 1 | \n",
" True | \n",
"
\n",
" \n",
" | 14 | \n",
" 10019003 | \n",
" 27525946.000000 | \n",
" 38260469 | \n",
" 2153-04-12 13:03:00 | \n",
" 2153-04-12 21:40:00 | \n",
" F | \n",
" WHITE | \n",
" WALK IN | \n",
" ADMITTED | \n",
" 1 | \n",
" 99.100000 | \n",
" 96.000000 | \n",
" 17.000000 | \n",
" 96.000000 | \n",
" 114.000000 | \n",
" 66.000000 | \n",
" 1 | \n",
" test | \n",
" 517.000000 | \n",
" 13 | \n",
" Thursday | \n",
" 1 | \n",
" 1 | \n",
" True | \n",
"
\n",
" \n",
" | 15 | \n",
" 10019003 | \n",
" 29279905.000000 | \n",
" 31254712 | \n",
" 2153-03-27 21:28:00 | \n",
" 2153-03-28 02:21:00 | \n",
" F | \n",
" WHITE | \n",
" AMBULANCE | \n",
" ADMITTED | \n",
" 1 | \n",
" 98.400000 | \n",
" 96.000000 | \n",
" 15.000000 | \n",
" 97.000000 | \n",
" 98.000000 | \n",
" 56.000000 | \n",
" 4 | \n",
" test | \n",
" 293.000000 | \n",
" 21 | \n",
" Tuesday | \n",
" 1 | \n",
" 1 | \n",
" True | \n",
"
\n",
" \n",
" | 16 | \n",
" 10019003 | \n",
" 26529390.000000 | \n",
" 38020791 | \n",
" 2155-05-17 21:03:00 | \n",
" 2155-05-18 00:03:15 | \n",
" F | \n",
" WHITE | \n",
" WALK IN | \n",
" ADMITTED | \n",
" 1 | \n",
" 98.100000 | \n",
" 97.000000 | \n",
" 16.000000 | \n",
" 93.000000 | \n",
" 117.000000 | \n",
" 60.000000 | \n",
" 1 | \n",
" test | \n",
" 180.250000 | \n",
" 21 | \n",
" Saturday | \n",
" 1 | \n",
" 1 | \n",
" True | \n",
"
\n",
" \n",
" | 17 | \n",
" 10019003 | \n",
" 26703331.000000 | \n",
" 35568186 | \n",
" 2155-06-10 20:37:00 | \n",
" 2155-06-10 23:10:36 | \n",
" F | \n",
" WHITE | \n",
" AMBULANCE | \n",
" ADMITTED | \n",
" 1 | \n",
" 97.800000 | \n",
" 92.000000 | \n",
" 26.000000 | \n",
" 95.000000 | \n",
" 116.000000 | \n",
" 57.000000 | \n",
" 3 | \n",
" test | \n",
" 153.600000 | \n",
" 20 | \n",
" Tuesday | \n",
" 1 | \n",
" 1 | \n",
" True | \n",
"
\n",
" \n",
" | 18 | \n",
" 10019003 | \n",
" 21457723.000000 | \n",
" 36686656 | \n",
" 2155-07-10 12:46:00 | \n",
" 2155-07-10 17:48:57 | \n",
" F | \n",
" WHITE | \n",
" AMBULANCE | \n",
" ADMITTED | \n",
" 1 | \n",
" 98.600000 | \n",
" 98.000000 | \n",
" 16.000000 | \n",
" 97.000000 | \n",
" 105.000000 | \n",
" 43.000000 | \n",
" 2 | \n",
" test | \n",
" 302.950000 | \n",
" 12 | \n",
" Thursday | \n",
" 1 | \n",
" 1 | \n",
" True | \n",
"
\n",
" \n",
" | 19 | \n",
" 10003400 | \n",
" 22390287.000000 | \n",
" 34922474 | \n",
" 2137-02-07 13:06:00 | \n",
" 2137-02-07 21:44:00 | \n",
" F | \n",
" BLACK/AFRICAN AMERICAN | \n",
" AMBULANCE | \n",
" ADMITTED | \n",
" 1 | \n",
" 98.800000 | \n",
" 124.000000 | \n",
" 16.000000 | \n",
" 98.000000 | \n",
" 136.000000 | \n",
" 82.000000 | \n",
" 3 | \n",
" test | \n",
" 518.000000 | \n",
" 13 | \n",
" Thursday | \n",
" 1 | \n",
" 1 | \n",
" True | \n",
"
\n",
" \n",
" | 20 | \n",
" 10003400 | \n",
" 26467376.000000 | \n",
" 33678912 | \n",
" 2136-12-09 13:16:00 | \n",
" 2136-12-09 14:45:10 | \n",
" F | \n",
" BLACK/AFRICAN AMERICAN | \n",
" AMBULANCE | \n",
" ADMITTED | \n",
" 1 | \n",
" 98.300000 | \n",
" 157.000000 | \n",
" 18.000000 | \n",
" 100.000000 | \n",
" 115.000000 | \n",
" 81.000000 | \n",
" 2 | \n",
" test | \n",
" 89.166667 | \n",
" 13 | \n",
" Sunday | \n",
" 1 | \n",
" 1 | \n",
" True | \n",
"
\n",
" \n",
" | 21 | \n",
" 10003400 | \n",
" 27296885.000000 | \n",
" 36976997 | \n",
" 2136-12-31 13:41:00 | \n",
" 2137-01-01 00:35:00 | \n",
" F | \n",
" BLACK/AFRICAN AMERICAN | \n",
" AMBULANCE | \n",
" ADMITTED | \n",
" 1 | \n",
" 97.700000 | \n",
" 91.000000 | \n",
" 16.000000 | \n",
" 100.000000 | \n",
" 111.000000 | \n",
" 68.000000 | \n",
" 2 | \n",
" test | \n",
" 654.000000 | \n",
" 13 | \n",
" Monday | \n",
" 1 | \n",
" 1 | \n",
" True | \n",
"
\n",
" \n",
" | 22 | \n",
" 10003400 | \n",
" 26090619.000000 | \n",
" 33347721 | \n",
" 2134-06-05 21:42:00 | \n",
" 2134-06-06 03:44:00 | \n",
" F | \n",
" BLACK/AFRICAN AMERICAN | \n",
" OTHER | \n",
" ADMITTED | \n",
" 1 | \n",
" 97.300000 | \n",
" 43.000000 | \n",
" 16.000000 | \n",
" 99.000000 | \n",
" 140.000000 | \n",
" 100.000000 | \n",
" 4 | \n",
" test | \n",
" 362.000000 | \n",
" 21 | \n",
" Saturday | \n",
" 1 | \n",
" 1 | \n",
" True | \n",
"
\n",
" \n",
" | 23 | \n",
" 10003400 | \n",
" 29483621.000000 | \n",
" 34948767 | \n",
" 2136-11-04 16:08:00 | \n",
" 2136-11-04 22:12:00 | \n",
" F | \n",
" BLACK/AFRICAN AMERICAN | \n",
" WALK IN | \n",
" ADMITTED | \n",
" 1 | \n",
" 99.900000 | \n",
" 86.000000 | \n",
" 18.000000 | \n",
" 100.000000 | \n",
" 142.000000 | \n",
" 92.000000 | \n",
" 2 | \n",
" test | \n",
" 364.000000 | \n",
" 16 | \n",
" Sunday | \n",
" 0 | \n",
" 0 | \n",
" False | \n",
"
\n",
" \n",
" | 24 | \n",
" 10002930 | \n",
" 28697806.000000 | \n",
" 32272346 | \n",
" 2200-06-04 16:38:00 | \n",
" 2200-06-05 10:26:00 | \n",
" F | \n",
" BLACK/AFRICAN AMERICAN | \n",
" AMBULANCE | \n",
" HOME | \n",
" 1 | \n",
" 97.300000 | \n",
" 89.000000 | \n",
" 16.000000 | \n",
" 100.000000 | \n",
" 106.000000 | \n",
" 61.000000 | \n",
" 3 | \n",
" test | \n",
" 1068.000000 | \n",
" 16 | \n",
" Wednesday | \n",
" 1 | \n",
" 1 | \n",
" True | \n",
"
\n",
" \n",
" | 25 | \n",
" 10002930 | \n",
" 25696644.000000 | \n",
" 31579293 | \n",
" 2196-04-14 05:55:00 | \n",
" 2196-04-14 13:40:00 | \n",
" F | \n",
" BLACK/AFRICAN AMERICAN | \n",
" UNKNOWN | \n",
" ADMITTED | \n",
" 1 | \n",
" 95.600000 | \n",
" 89.000000 | \n",
" 16.000000 | \n",
" 100.000000 | \n",
" 106.000000 | \n",
" 65.000000 | \n",
" 3 | \n",
" test | \n",
" 465.000000 | \n",
" 5 | \n",
" Thursday | \n",
" 1 | \n",
" 1 | \n",
" True | \n",
"
\n",
" \n",
" | 26 | \n",
" 10002930 | \n",
" 20282368.000000 | \n",
" 39266792 | \n",
" 2201-03-23 12:04:00 | \n",
" 2201-03-26 14:24:00 | \n",
" F | \n",
" BLACK/AFRICAN AMERICAN | \n",
" AMBULANCE | \n",
" TRANSFER | \n",
" 1 | \n",
" 98.100000 | \n",
" 76.000000 | \n",
" 18.000000 | \n",
" 100.000000 | \n",
" 181.000000 | \n",
" 94.000000 | \n",
" 3 | \n",
" test | \n",
" 4460.000000 | \n",
" 12 | \n",
" Monday | \n",
" 1 | \n",
" 1 | \n",
" True | \n",
"
\n",
" \n",
" | 27 | \n",
" 10002930 | \n",
" 25922998.000000 | \n",
" 30193781 | \n",
" 2198-04-17 11:42:00 | \n",
" 2198-04-17 21:24:00 | \n",
" F | \n",
" BLACK/AFRICAN AMERICAN | \n",
" WALK IN | \n",
" ADMITTED | \n",
" 1 | \n",
" 98.200000 | \n",
" 88.000000 | \n",
" 16.000000 | \n",
" 100.000000 | \n",
" 150.000000 | \n",
" 98.000000 | \n",
" 3 | \n",
" test | \n",
" 582.000000 | \n",
" 11 | \n",
" Tuesday | \n",
" 0 | \n",
" 0 | \n",
" False | \n",
"
\n",
" \n",
" | 28 | \n",
" 10002930 | \n",
" 28477649.000000 | \n",
" 38615683 | \n",
" 2197-04-07 03:20:00 | \n",
" 2197-04-07 06:56:40 | \n",
" F | \n",
" BLACK/AFRICAN AMERICAN | \n",
" AMBULANCE | \n",
" ADMITTED | \n",
" 1 | \n",
" 97.500000 | \n",
" 108.000000 | \n",
" 16.000000 | \n",
" 100.000000 | \n",
" 154.000000 | \n",
" 92.000000 | \n",
" 1 | \n",
" test | \n",
" 216.666667 | \n",
" 3 | \n",
" Friday | \n",
" 1 | \n",
" 1 | \n",
" True | \n",
"
\n",
" \n",
" | 29 | \n",
" 10002930 | \n",
" 25282382.000000 | \n",
" 35540249 | \n",
" 2197-04-16 22:57:00 | \n",
" 2197-04-17 09:48:00 | \n",
" F | \n",
" BLACK/AFRICAN AMERICAN | \n",
" WALK IN | \n",
" HOME | \n",
" 1 | \n",
" 98.500000 | \n",
" 110.000000 | \n",
" 18.000000 | \n",
" 100.000000 | \n",
" 123.000000 | \n",
" 67.000000 | \n",
" 3 | \n",
" test | \n",
" 651.000000 | \n",
" 22 | \n",
" Sunday | \n",
" 1 | \n",
" 1 | \n",
" True | \n",
"
\n",
" \n",
" | 30 | \n",
" 10002930 | \n",
" 23720373.000000 | \n",
" 35114287 | \n",
" 2199-02-17 14:32:00 | \n",
" 2199-02-19 13:38:00 | \n",
" F | \n",
" BLACK/AFRICAN AMERICAN | \n",
" AMBULANCE | \n",
" TRANSFER | \n",
" 1 | \n",
" 98.900000 | \n",
" 102.000000 | \n",
" 20.000000 | \n",
" 100.000000 | \n",
" 180.000000 | \n",
" 85.000000 | \n",
" 4 | \n",
" test | \n",
" 2826.000000 | \n",
" 14 | \n",
" Sunday | \n",
" 1 | \n",
" 1 | \n",
" True | \n",
"
\n",
" \n",
" | 31 | \n",
" 10002930 | \n",
" 20846853.000000 | \n",
" 39910144 | \n",
" 2201-02-12 15:11:00 | \n",
" 2201-02-13 11:11:00 | \n",
" F | \n",
" BLACK/AFRICAN AMERICAN | \n",
" AMBULANCE | \n",
" HOME | \n",
" 1 | \n",
" 97.700000 | \n",
" 103.000000 | \n",
" 18.000000 | \n",
" 97.000000 | \n",
" 137.000000 | \n",
" 87.000000 | \n",
" 3 | \n",
" test | \n",
" 1200.000000 | \n",
" 15 | \n",
" Thursday | \n",
" 1 | \n",
" 1 | \n",
" True | \n",
"
\n",
" \n",
" | 32 | \n",
" 10021938 | \n",
" nan | \n",
" 38449411 | \n",
" 2181-09-02 19:21:00 | \n",
" 2181-09-03 01:49:00 | \n",
" M | \n",
" WHITE | \n",
" AMBULANCE | \n",
" HOME | \n",
" 0 | \n",
" nan | \n",
" nan | \n",
" nan | \n",
" nan | \n",
" nan | \n",
" nan | \n",
" 1 | \n",
" test | \n",
" 388.000000 | \n",
" 19 | \n",
" Sunday | \n",
" 1 | \n",
" 1 | \n",
" False | \n",
"
\n",
" \n",
" | 33 | \n",
" 10021938 | \n",
" 23112364.000000 | \n",
" 38890884 | \n",
" 2181-10-12 20:17:00 | \n",
" 2181-10-13 02:52:00 | \n",
" M | \n",
" WHITE | \n",
" AMBULANCE | \n",
" ADMITTED | \n",
" 1 | \n",
" 99.800000 | \n",
" 110.000000 | \n",
" 18.000000 | \n",
" 93.000000 | \n",
" 178.000000 | \n",
" 85.000000 | \n",
" 1 | \n",
" test | \n",
" 395.000000 | \n",
" 20 | \n",
" Friday | \n",
" 1 | \n",
" 1 | \n",
" True | \n",
"
\n",
" \n",
" | 34 | \n",
" 10021938 | \n",
" 27154822.000000 | \n",
" 32204198 | \n",
" 2181-10-25 09:23:00 | \n",
" 2181-10-25 11:35:00 | \n",
" M | \n",
" WHITE | \n",
" AMBULANCE | \n",
" ADMITTED | \n",
" 1 | \n",
" 98.400000 | \n",
" 89.000000 | \n",
" 18.000000 | \n",
" 97.000000 | \n",
" 217.000000 | \n",
" 116.000000 | \n",
" 1 | \n",
" test | \n",
" 132.000000 | \n",
" 9 | \n",
" Thursday | \n",
" 1 | \n",
" 1 | \n",
" True | \n",
"
\n",
" \n",
" | 35 | \n",
" 10005866 | \n",
" 27167814.000000 | \n",
" 30804580 | \n",
" 2148-03-10 04:46:00 | \n",
" 2148-03-10 16:18:48 | \n",
" M | \n",
" PORTUGUESE | \n",
" AMBULANCE | \n",
" ADMITTED | \n",
" 1 | \n",
" 97.400000 | \n",
" 66.000000 | \n",
" 18.000000 | \n",
" 99.000000 | \n",
" 111.000000 | \n",
" 68.000000 | \n",
" 1 | \n",
" test | \n",
" 692.800000 | \n",
" 4 | \n",
" Sunday | \n",
" 1 | \n",
" 1 | \n",
" True | \n",
"
\n",
" \n",
" | 36 | \n",
" 10005866 | \n",
" 26134779.000000 | \n",
" 31806264 | \n",
" 2149-09-12 15:31:00 | \n",
" 2149-09-13 09:02:00 | \n",
" M | \n",
" PORTUGUESE | \n",
" WALK IN | \n",
" ADMITTED | \n",
" 1 | \n",
" 98.200000 | \n",
" 84.000000 | \n",
" 18.000000 | \n",
" 100.000000 | \n",
" 175.000000 | \n",
" 80.000000 | \n",
" 1 | \n",
" test | \n",
" 1051.000000 | \n",
" 15 | \n",
" Friday | \n",
" 1 | \n",
" 1 | \n",
" True | \n",
"
\n",
" \n",
" | 37 | \n",
" 10005866 | \n",
" 22589518.000000 | \n",
" 32537287 | \n",
" 2149-02-11 08:52:00 | \n",
" 2149-02-11 23:09:00 | \n",
" M | \n",
" PORTUGUESE | \n",
" WALK IN | \n",
" ADMITTED | \n",
" 1 | \n",
" 98.000000 | \n",
" 82.000000 | \n",
" 22.000000 | \n",
" 100.000000 | \n",
" 157.000000 | \n",
" 82.000000 | \n",
" 1 | \n",
" test | \n",
" 857.000000 | \n",
" 8 | \n",
" Tuesday | \n",
" 1 | \n",
" 1 | \n",
" True | \n",
"
\n",
" \n",
" | 38 | \n",
" 10005866 | \n",
" nan | \n",
" 31023359 | \n",
" 2149-09-28 01:53:00 | \n",
" 2149-09-28 16:26:00 | \n",
" M | \n",
" PORTUGUESE | \n",
" WALK IN | \n",
" HOME | \n",
" 0 | \n",
" 97.200000 | \n",
" 88.000000 | \n",
" 18.000000 | \n",
" 100.000000 | \n",
" 163.000000 | \n",
" 89.000000 | \n",
" 4 | \n",
" test | \n",
" 873.000000 | \n",
" 1 | \n",
" Sunday | \n",
" 1 | \n",
" 1 | \n",
" False | \n",
"
\n",
" \n",
" | 39 | \n",
" 10005866 | \n",
" 21636229.000000 | \n",
" 30225689 | \n",
" 2149-09-20 05:50:00 | \n",
" 2149-09-20 15:53:00 | \n",
" M | \n",
" PORTUGUESE | \n",
" WALK IN | \n",
" ADMITTED | \n",
" 1 | \n",
" 97.600000 | \n",
" 72.000000 | \n",
" 16.000000 | \n",
" 100.000000 | \n",
" 163.000000 | \n",
" 81.000000 | \n",
" 1 | \n",
" test | \n",
" 603.000000 | \n",
" 5 | \n",
" Saturday | \n",
" 1 | \n",
" 1 | \n",
" True | \n",
"
\n",
" \n",
" | 40 | \n",
" 10005866 | \n",
" nan | \n",
" 32281632 | \n",
" 2148-06-13 08:36:00 | \n",
" 2148-06-13 17:30:00 | \n",
" M | \n",
" PORTUGUESE | \n",
" AMBULANCE | \n",
" TRANSFER | \n",
" 0 | \n",
" 97.900000 | \n",
" 63.000000 | \n",
" 18.000000 | \n",
" 99.000000 | \n",
" 149.000000 | \n",
" 72.000000 | \n",
" 1 | \n",
" test | \n",
" 534.000000 | \n",
" 8 | \n",
" Thursday | \n",
" 1 | \n",
" 1 | \n",
" False | \n",
"
\n",
" \n",
" | 41 | \n",
" 10005866 | \n",
" 23514107.000000 | \n",
" 35681380 | \n",
" 2149-06-20 10:20:00 | \n",
" 2149-06-20 20:59:00 | \n",
" M | \n",
" PORTUGUESE | \n",
" WALK IN | \n",
" ADMITTED | \n",
" 1 | \n",
" 98.000000 | \n",
" 76.000000 | \n",
" 18.000000 | \n",
" 99.000000 | \n",
" 147.000000 | \n",
" 92.000000 | \n",
" 1 | \n",
" test | \n",
" 639.000000 | \n",
" 10 | \n",
" Friday | \n",
" 1 | \n",
" 1 | \n",
" True | \n",
"
\n",
" \n",
" | 42 | \n",
" 10005866 | \n",
" 26158160.000000 | \n",
" 34558830 | \n",
" 2146-06-05 22:26:00 | \n",
" 2146-06-06 01:45:00 | \n",
" M | \n",
" PORTUGUESE | \n",
" AMBULANCE | \n",
" ADMITTED | \n",
" 1 | \n",
" nan | \n",
" nan | \n",
" nan | \n",
" nan | \n",
" nan | \n",
" nan | \n",
" 1 | \n",
" test | \n",
" 199.000000 | \n",
" 22 | \n",
" Sunday | \n",
" 1 | \n",
" 1 | \n",
" True | \n",
"
\n",
" \n",
" | 43 | \n",
" 10005866 | \n",
" 20364112.000000 | \n",
" 31121963 | \n",
" 2149-10-01 02:07:00 | \n",
" 2149-10-01 18:56:59 | \n",
" M | \n",
" PORTUGUESE | \n",
" AMBULANCE | \n",
" ADMITTED | \n",
" 1 | \n",
" 98.800000 | \n",
" 106.000000 | \n",
" 20.000000 | \n",
" 100.000000 | \n",
" 163.000000 | \n",
" 103.000000 | \n",
" 2 | \n",
" test | \n",
" 1009.983333 | \n",
" 2 | \n",
" Wednesday | \n",
" 1 | \n",
" 1 | \n",
" True | \n",
"
\n",
" \n",
" | 44 | \n",
" 10026406 | \n",
" nan | \n",
" 39571461 | \n",
" 2129-11-25 19:02:00 | \n",
" 2129-11-26 00:46:00 | \n",
" M | \n",
" WHITE | \n",
" WALK IN | \n",
" HOME | \n",
" 0 | \n",
" 98.700000 | \n",
" 118.000000 | \n",
" 22.000000 | \n",
" 99.000000 | \n",
" 131.000000 | \n",
" 89.000000 | \n",
" 1 | \n",
" test | \n",
" 344.000000 | \n",
" 19 | \n",
" Friday | \n",
" 1 | \n",
" 1 | \n",
" False | \n",
"
\n",
" \n",
" | 45 | \n",
" 10026406 | \n",
" 25260176.000000 | \n",
" 37202404 | \n",
" 2129-01-02 23:41:00 | \n",
" 2129-01-03 18:33:00 | \n",
" M | \n",
" WHITE | \n",
" AMBULANCE | \n",
" ADMITTED | \n",
" 1 | \n",
" 98.000000 | \n",
" 105.000000 | \n",
" 20.000000 | \n",
" 98.000000 | \n",
" 153.000000 | \n",
" 77.000000 | \n",
" 4 | \n",
" test | \n",
" 1132.000000 | \n",
" 23 | \n",
" Sunday | \n",
" 1 | \n",
" 1 | \n",
" True | \n",
"
\n",
" \n",
" | 46 | \n",
" 10026406 | \n",
" 25166559.000000 | \n",
" 38237602 | \n",
" 2133-03-01 16:42:00 | \n",
" 2133-03-04 17:05:00 | \n",
" M | \n",
" WHITE | \n",
" WALK IN | \n",
" HOME | \n",
" 1 | \n",
" 97.000000 | \n",
" 98.000000 | \n",
" 20.000000 | \n",
" 99.000000 | \n",
" 133.000000 | \n",
" 110.000000 | \n",
" 4 | \n",
" test | \n",
" 4343.000000 | \n",
" 16 | \n",
" Sunday | \n",
" 1 | \n",
" 1 | \n",
" True | \n",
"
\n",
" \n",
" | 47 | \n",
" 10025463 | \n",
" 24470193.000000 | \n",
" 35470228 | \n",
" 2137-10-08 18:16:00 | \n",
" 2137-10-08 21:20:50 | \n",
" M | \n",
" WHITE | \n",
" AMBULANCE | \n",
" OTHER | \n",
" 1 | \n",
" nan | \n",
" nan | \n",
" nan | \n",
" nan | \n",
" nan | \n",
" nan | \n",
" 1 | \n",
" test | \n",
" 184.833333 | \n",
" 18 | \n",
" Tuesday | \n",
" 1 | \n",
" 1 | \n",
" True | \n",
"
\n",
" \n",
"
\n"
],
"text/plain": [
""
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"## Consumindo o Endpoint - Código mais sofisticado para visualização\n",
"\n",
"# === Consumo do endpoint com comparação TARGET vs PRED ===\n",
"import os\n",
"import io\n",
"import json\n",
"import requests\n",
"import oci\n",
"from oci.signer import Signer\n",
"import pandas as pd\n",
"import numpy as np\n",
"\n",
"# -----------------------------\n",
"# Parâmetros\n",
"# -----------------------------\n",
"PROFILE = \"DEFAULT\" # ou \"LATINOAMERICA-SaoPaulo\", etc\n",
"TARGET_COL = \"admitted_from_ed\" # seu alvo 0/1\n",
"#DEPLOYMENT_ID = deployment.id # se você já tem o objeto deployment no notebook\n",
"# Caso esteja fora do notebook de deploy, comente a linha acima e defina manualmente:\n",
"DEPLOYMENT_ID = \"ocid1.datasciencemodeldeployment.oc1.sa-saopaulo-1.aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\"\n",
"\n",
"# Colunas de entrada exigidas pelo modelo (na ORDEM do schema)\n",
"FEATURE_COLS = [\n",
" \"gender\",\"race\",\"arrival_transport\",\n",
" \"temperature\",\"heartrate\",\"resprate\",\"o2sat\",\"sbp\",\"dbp\",\n",
" \"n_diagnosis\",\"los_minutes\",\"arrival_hour\",\"arrival_weekday\"\n",
"]\n",
"\n",
"# Conexão ao ADB (wallet zip local ao notebook)\n",
"connection_parameters = {\n",
" \"user_name\": \"admin\",\n",
" \"password\": \"********\",\n",
" \"service_name\": \"oradb23ai_high\",\n",
" \"wallet_location\": \"Wallet.zip\",\n",
"}\n",
"\n",
"# -----------------------------\n",
"# 0) Lê TODAS as linhas da tabela (com todas as colunas)\n",
"# -----------------------------\n",
"import ads, ads.dbmixin.db_pandas_accessor # habilita pd.DataFrame.ads\n",
"\n",
"df = pd.DataFrame.ads.read_sql(\n",
" \"\"\"\n",
" SELECT *\n",
" FROM ADMIN.DATASET_ED_ADMISSION\n",
" WHERE SPLIT <= :split\n",
" \"\"\",\n",
" bind_variables={\"split\": \"test\"},\n",
" connection_parameters=connection_parameters,\n",
")\n",
"\n",
"# Mostrar todas as colunas/linhas (cuidado: pode ser grande!)\n",
"pd.set_option(\"display.max_columns\", None)\n",
"pd.set_option(\"display.max_rows\", None)\n",
"print(\"---- DataFrame carregado do banco ----\")\n",
"\n",
"# -----------------------------\n",
"# 1) Normaliza nomes e cria features derivadas se faltarem\n",
"# -----------------------------\n",
"def normalize_cols(_df: pd.DataFrame) -> pd.DataFrame:\n",
" cols = (\n",
" _df.columns.astype(str)\n",
" .str.strip()\n",
" .str.replace(r\"\\s+\", \"_\", regex=True)\n",
" .str.replace(r\"[^\\w]+\", \"_\", regex=True)\n",
" .str.replace(r\"_+\", \"_\", regex=True)\n",
" .str.strip(\"_\")\n",
" .str.lower()\n",
" )\n",
" out = _df.copy()\n",
" out.columns = cols\n",
" return out\n",
"\n",
"dfn = normalize_cols(df)\n",
"\n",
"# converte possiveis datas\n",
"for c in [\"intime\",\"outtime\"]:\n",
" if c in dfn.columns:\n",
" dfn[c] = pd.to_datetime(dfn[c], errors=\"coerce\")\n",
"\n",
"# cria as 3 features se possível\n",
"if {\"intime\",\"outtime\"} <= set(dfn.columns):\n",
" dfn[\"los_minutes\"] = (dfn[\"outtime\"] - dfn[\"intime\"]).dt.total_seconds()/60\n",
"if \"intime\" in dfn.columns:\n",
" dfn[\"arrival_hour\"] = dfn[\"intime\"].dt.hour\n",
" dfn[\"arrival_weekday\"] = dfn[\"intime\"].dt.day_name()\n",
"\n",
"# garante tipos básicos coerentes (numerics onde faz sentido)\n",
"for num_col in [\"temperature\",\"heartrate\",\"resprate\",\"o2sat\",\"sbp\",\"dbp\",\"n_diagnosis\",\"los_minutes\",\"arrival_hour\"]:\n",
" if num_col in dfn.columns:\n",
" dfn[num_col] = pd.to_numeric(dfn[num_col], errors=\"coerce\")\n",
"\n",
"# -----------------------------\n",
"# 2) Autenticação OCI e URL do deployment\n",
"# -----------------------------\n",
"from ads.model.deployment import ModelDeployment\n",
"ads.set_auth(auth=\"api_key\", oci_config_location=\"~/.oci/config\", profile=PROFILE)\n",
"md = ModelDeployment.from_id(DEPLOYMENT_ID)\n",
"endpoint = md.url.rstrip(\"/\") + \"/predict\"\n",
"print(\"Status:\", md.status)\n",
"print(\"Endpoint:\", endpoint)\n",
"\n",
"config = oci.config.from_file(\"~/.oci/config\", PROFILE)\n",
"signer = Signer(\n",
" tenancy=config[\"tenancy\"],\n",
" user=config[\"user\"],\n",
" fingerprint=config[\"fingerprint\"],\n",
" private_key_file_location=config[\"key_file\"],\n",
" pass_phrase=config.get(\"pass_phrase\"),\n",
")\n",
"\n",
"# -----------------------------\n",
"# 3) Monta payloads em lotes e chama a API\n",
"# -----------------------------\n",
"# Verifica se todas as features existem\n",
"missing = [c for c in FEATURE_COLS if c not in dfn.columns]\n",
"if missing:\n",
" raise ValueError(f\"As seguintes colunas exigidas pelo modelo estão ausentes em dfn: {missing}\")\n",
"\n",
"# DataFrame apenas de features, preservando índice para recombinar depois\n",
"X_all = dfn[FEATURE_COLS].copy()\n",
"\n",
"# Função que prepara payload no formato esperado: {\"data\": \"\"}\n",
"def make_payload(df_part: pd.DataFrame) -> dict:\n",
" # Atenção: o seu deploy espera string JSON em orient=\"records\" dentro de \"data\"\n",
" return {\"data\": df_part.to_json(orient=\"records\")}\n",
"\n",
"# bateladas para não enviar tudo de uma vez\n",
"BATCH = 500\n",
"preds = []\n",
"\n",
"for start in range(0, len(X_all), BATCH):\n",
" part = X_all.iloc[start:start+BATCH]\n",
" payload = make_payload(part)\n",
" resp = requests.post(endpoint, json=payload, auth=signer, timeout=120)\n",
" if resp.status_code != 200:\n",
" raise RuntimeError(f\"Falha no /predict (status {resp.status_code}): {resp.text}\")\n",
" out = resp.json()\n",
" # Aceita { \"prediction\": [...] } ou { \"data\": [...] }\n",
" if isinstance(out, dict) and \"prediction\" in out:\n",
" preds.extend(out[\"prediction\"])\n",
" elif isinstance(out, dict) and \"data\" in out:\n",
" preds.extend(out[\"data\"])\n",
" else:\n",
" raise RuntimeError(f\"Resposta de formato inesperado: {out}\")\n",
"\n",
"# -----------------------------\n",
"# 4) Junta com o DataFrame original e destaca o TARGET vs pred\n",
"# -----------------------------\n",
"result = dfn.copy()\n",
"result[\"prediction\"] = preds[:len(result)] # segurança caso algo retorne a mais\n",
"\n",
"if TARGET_COL in result.columns:\n",
" # normaliza tipo do alvo\n",
" result[TARGET_COL] = pd.to_numeric(result[TARGET_COL], errors=\"coerce\").astype(\"Int64\")\n",
" # pred em inteiro se veio prob/classe float\n",
" try:\n",
" result[\"prediction\"] = pd.to_numeric(result[\"prediction\"], errors=\"coerce\")\n",
" # se vier probabilidade, binariza em 0/1 só para comparação visual:\n",
" if result[\"prediction\"].between(0,1).all():\n",
" result[\"prediction_class\"] = (result[\"prediction\"] >= 0.5).astype(\"Int64\")\n",
" result[\"match\"] = (result[\"prediction_class\"] == result[TARGET_COL])\n",
" else:\n",
" result[\"prediction_class\"] = result[\"prediction\"].astype(\"Int64\")\n",
" result[\"match\"] = (result[\"prediction_class\"] == result[TARGET_COL])\n",
" except Exception:\n",
" # se for string/categoria\n",
" result[\"prediction_class\"] = result[\"prediction\"]\n",
" result[\"match\"] = (result[\"prediction_class\"].astype(str) == result[TARGET_COL].astype(str))\n",
"else:\n",
" result[\"match\"] = pd.NA # sem target para comparar\n",
"\n",
"print(\"---- Resultado (todas as colunas + prediction) ----\")\n",
"display(result)\n",
"\n",
"# Estilo: destaca acertos/erros\n",
"def highlight_match(row):\n",
" if pd.isna(row.get(\"match\", pd.NA)):\n",
" return [\"\"] * len(row)\n",
" return [\n",
" \"background-color: #d1fae5\" if row[\"match\"] is True and col in (TARGET_COL, \"prediction\", \"prediction_class\")\n",
" else \"background-color: #fee2e2\" if row[\"match\"] is False and col in (TARGET_COL, \"prediction\", \"prediction_class\")\n",
" else \"\"\n",
" for col in row.index\n",
" ]\n",
"\n",
"try:\n",
" styled = result.style.apply(highlight_match, axis=1)\n",
" display(styled)\n",
"except Exception:\n",
" # fallback: sem estilo\n",
" display(result)"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "e03fe85a-e6b1-4419-9a92-d89cfc9de2da",
"metadata": {},
"outputs": [],
"source": []
}
],
"metadata": {
"kernelspec": {
"display_name": "Python [conda env:automlx251_p311_cpu_x86_64_v2]",
"language": "python",
"name": "conda-env-automlx251_p311_cpu_x86_64_v2-py"
},
"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.11"
}
},
"nbformat": 4,
"nbformat_minor": 5
}