Skip to content

Instantly share code, notes, and snippets.

@alonsosilvaallende
Last active September 27, 2019 15:31
Show Gist options
  • Save alonsosilvaallende/d27745503e015ee3290ee114457af728 to your computer and use it in GitHub Desktop.
Save alonsosilvaallende/d27745503e015ee3290ee114457af728 to your computer and use it in GitHub Desktop.
Performance_Random_Survival_Forests.ipynb
Display the source blob
Display the rendered blob
Raw
{
"nbformat": 4,
"nbformat_minor": 0,
"metadata": {
"colab": {
"name": "Performance_Random_Forests.ipynb",
"provenance": [],
"include_colab_link": true
},
"kernelspec": {
"name": "python3",
"display_name": "Python 3"
}
},
"cells": [
{
"cell_type": "markdown",
"metadata": {
"id": "view-in-github",
"colab_type": "text"
},
"source": [
"<a href=\"https://colab.research.google.com/gist/alonsosilvaallende/d27745503e015ee3290ee114457af728/performance_random_forests.ipynb\" target=\"_parent\"><img src=\"https://colab.research.google.com/assets/colab-badge.svg\" alt=\"Open In Colab\"/></a>"
]
},
{
"cell_type": "code",
"metadata": {
"id": "ThcVeo2n7u2x",
"colab_type": "code",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 50
},
"outputId": "b97b8991-6217-4599-e367-c965fdf669b9"
},
"source": [
"pip install -q scikit-survival random-survival-forest pysurvival"
],
"execution_count": 4,
"outputs": [
{
"output_type": "stream",
"text": [
"\u001b[?25l\r\u001b[K |▏ | 10kB 17.7MB/s eta 0:00:01\r\u001b[K |▎ | 20kB 1.8MB/s eta 0:00:02\r\u001b[K |▍ | 30kB 2.6MB/s eta 0:00:01\r\u001b[K |▋ | 40kB 1.7MB/s eta 0:00:02\r\u001b[K |▊ | 51kB 2.1MB/s eta 0:00:02\r\u001b[K |▉ | 61kB 2.5MB/s eta 0:00:01\r\u001b[K |█ | 71kB 2.9MB/s eta 0:00:01\r\u001b[K |█▏ | 81kB 3.3MB/s eta 0:00:01\r\u001b[K |█▎ | 92kB 3.7MB/s eta 0:00:01\r\u001b[K |█▍ | 102kB 2.8MB/s eta 0:00:01\r\u001b[K |█▋ | 112kB 2.8MB/s eta 0:00:01\r\u001b[K |█▊ | 122kB 2.8MB/s eta 0:00:01\r\u001b[K |█▉ | 133kB 2.8MB/s eta 0:00:01\r\u001b[K |██ | 143kB 2.8MB/s eta 0:00:01\r\u001b[K |██▏ | 153kB 2.8MB/s eta 0:00:01\r\u001b[K |██▎ | 163kB 2.8MB/s eta 0:00:01\r\u001b[K |██▍ | 174kB 2.8MB/s eta 0:00:01\r\u001b[K |██▋ | 184kB 2.8MB/s eta 0:00:01\r\u001b[K |██▊ | 194kB 2.8MB/s eta 0:00:01\r\u001b[K |██▉ | 204kB 2.8MB/s eta 0:00:01\r\u001b[K |███ | 215kB 2.8MB/s eta 0:00:01\r\u001b[K |███▏ | 225kB 2.8MB/s eta 0:00:01\r\u001b[K |███▎ | 235kB 2.8MB/s eta 0:00:01\r\u001b[K |███▍ | 245kB 2.8MB/s eta 0:00:01\r\u001b[K |███▋ | 256kB 2.8MB/s eta 0:00:01\r\u001b[K |███▊ | 266kB 2.8MB/s eta 0:00:01\r\u001b[K |███▉ | 276kB 2.8MB/s eta 0:00:01\r\u001b[K |████ | 286kB 2.8MB/s eta 0:00:01\r\u001b[K |████▏ | 296kB 2.8MB/s eta 0:00:01\r\u001b[K |████▎ | 307kB 2.8MB/s eta 0:00:01\r\u001b[K |████▌ | 317kB 2.8MB/s eta 0:00:01\r\u001b[K |████▋ | 327kB 2.8MB/s eta 0:00:01\r\u001b[K |████▊ | 337kB 2.8MB/s eta 0:00:01\r\u001b[K |████▉ | 348kB 2.8MB/s eta 0:00:01\r\u001b[K |█████ | 358kB 2.8MB/s eta 0:00:01\r\u001b[K |█████▏ | 368kB 2.8MB/s eta 0:00:01\r\u001b[K |█████▎ | 378kB 2.8MB/s eta 0:00:01\r\u001b[K |█████▌ | 389kB 2.8MB/s eta 0:00:01\r\u001b[K |█████▋ | 399kB 2.8MB/s eta 0:00:01\r\u001b[K |█████▊ | 409kB 2.8MB/s eta 0:00:01\r\u001b[K |█████▉ | 419kB 2.8MB/s eta 0:00:01\r\u001b[K |██████ | 430kB 2.8MB/s eta 0:00:01\r\u001b[K |██████▏ | 440kB 2.8MB/s eta 0:00:01\r\u001b[K |██████▎ | 450kB 2.8MB/s eta 0:00:01\r\u001b[K |██████▌ | 460kB 2.8MB/s eta 0:00:01\r\u001b[K |██████▋ | 471kB 2.8MB/s eta 0:00:01\r\u001b[K |██████▊ | 481kB 2.8MB/s eta 0:00:01\r\u001b[K |██████▉ | 491kB 2.8MB/s eta 0:00:01\r\u001b[K |███████ | 501kB 2.8MB/s eta 0:00:01\r\u001b[K |███████▏ | 512kB 2.8MB/s eta 0:00:01\r\u001b[K |███████▎ | 522kB 2.8MB/s eta 0:00:01\r\u001b[K |███████▌ | 532kB 2.8MB/s eta 0:00:01\r\u001b[K |███████▋ | 542kB 2.8MB/s eta 0:00:01\r\u001b[K |███████▊ | 552kB 2.8MB/s eta 0:00:01\r\u001b[K |███████▉ | 563kB 2.8MB/s eta 0:00:01\r\u001b[K |████████ | 573kB 2.8MB/s eta 0:00:01\r\u001b[K |████████▏ | 583kB 2.8MB/s eta 0:00:01\r\u001b[K |████████▎ | 593kB 2.8MB/s eta 0:00:01\r\u001b[K |████████▌ | 604kB 2.8MB/s eta 0:00:01\r\u001b[K |████████▋ | 614kB 2.8MB/s eta 0:00:01\r\u001b[K |████████▊ | 624kB 2.8MB/s eta 0:00:01\r\u001b[K |█████████ | 634kB 2.8MB/s eta 0:00:01\r\u001b[K |█████████ | 645kB 2.8MB/s eta 0:00:01\r\u001b[K |█████████▏ | 655kB 2.8MB/s eta 0:00:01\r\u001b[K |█████████▎ | 665kB 2.8MB/s eta 0:00:01\r\u001b[K |█████████▌ | 675kB 2.8MB/s eta 0:00:01\r\u001b[K |█████████▋ | 686kB 2.8MB/s eta 0:00:01\r\u001b[K |█████████▊ | 696kB 2.8MB/s eta 0:00:01\r\u001b[K |██████████ | 706kB 2.8MB/s eta 0:00:01\r\u001b[K |██████████ | 716kB 2.8MB/s eta 0:00:01\r\u001b[K |██████████▏ | 727kB 2.8MB/s eta 0:00:01\r\u001b[K |██████████▎ | 737kB 2.8MB/s eta 0:00:01\r\u001b[K |██████████▌ | 747kB 2.8MB/s eta 0:00:01\r\u001b[K |██████████▋ | 757kB 2.8MB/s eta 0:00:01\r\u001b[K |██████████▊ | 768kB 2.8MB/s eta 0:00:01\r\u001b[K |███████████ | 778kB 2.8MB/s eta 0:00:01\r\u001b[K |███████████ | 788kB 2.8MB/s eta 0:00:01\r\u001b[K |███████████▏ | 798kB 2.8MB/s eta 0:00:01\r\u001b[K |███████████▎ | 808kB 2.8MB/s eta 0:00:01\r\u001b[K |███████████▌ | 819kB 2.8MB/s eta 0:00:01\r\u001b[K |███████████▋ | 829kB 2.8MB/s eta 0:00:01\r\u001b[K |███████████▊ | 839kB 2.8MB/s eta 0:00:01\r\u001b[K |████████████ | 849kB 2.8MB/s eta 0:00:01\r\u001b[K |████████████ | 860kB 2.8MB/s eta 0:00:01\r\u001b[K |████████████▏ | 870kB 2.8MB/s eta 0:00:01\r\u001b[K |████████████▎ | 880kB 2.8MB/s eta 0:00:01\r\u001b[K |████████████▌ | 890kB 2.8MB/s eta 0:00:01\r\u001b[K |████████████▋ | 901kB 2.8MB/s eta 0:00:01\r\u001b[K |████████████▊ | 911kB 2.8MB/s eta 0:00:01\r\u001b[K |█████████████ | 921kB 2.8MB/s eta 0:00:01\r\u001b[K |█████████████ | 931kB 2.8MB/s eta 0:00:01\r\u001b[K |█████████████▏ | 942kB 2.8MB/s eta 0:00:01\r\u001b[K |█████████████▍ | 952kB 2.8MB/s eta 0:00:01\r\u001b[K |█████████████▌ | 962kB 2.8MB/s eta 0:00:01\r\u001b[K |█████████████▋ | 972kB 2.8MB/s eta 0:00:01\r\u001b[K |█████████████▊ | 983kB 2.8MB/s eta 0:00:01\r\u001b[K |██████████████ | 993kB 2.8MB/s eta 0:00:01\r\u001b[K |██████████████ | 1.0MB 2.8MB/s eta 0:00:01\r\u001b[K |██████████████▏ | 1.0MB 2.8MB/s eta 0:00:01\r\u001b[K |██████████████▍ | 1.0MB 2.8MB/s eta 0:00:01\r\u001b[K |██████████████▌ | 1.0MB 2.8MB/s eta 0:00:01\r\u001b[K |██████████████▋ | 1.0MB 2.8MB/s eta 0:00:01\r\u001b[K |██████████████▊ | 1.1MB 2.8MB/s eta 0:00:01\r\u001b[K |███████████████ | 1.1MB 2.8MB/s eta 0:00:01\r\u001b[K |███████████████ | 1.1MB 2.8MB/s eta 0:00:01\r\u001b[K |███████████████▏ | 1.1MB 2.8MB/s eta 0:00:01\r\u001b[K |███████████████▍ | 1.1MB 2.8MB/s eta 0:00:01\r\u001b[K |███████████████▌ | 1.1MB 2.8MB/s eta 0:00:01\r\u001b[K |███████████████▋ | 1.1MB 2.8MB/s eta 0:00:01\r\u001b[K |███████████████▊ | 1.1MB 2.8MB/s eta 0:00:01\r\u001b[K |████████████████ | 1.1MB 2.8MB/s eta 0:00:01\r\u001b[K |████████████████ | 1.1MB 2.8MB/s eta 0:00:01\r\u001b[K |████████████████▏ | 1.2MB 2.8MB/s eta 0:00:01\r\u001b[K |████████████████▍ | 1.2MB 2.8MB/s eta 0:00:01\r\u001b[K |████████████████▌ | 1.2MB 2.8MB/s eta 0:00:01\r\u001b[K |████████████████▋ | 1.2MB 2.8MB/s eta 0:00:01\r\u001b[K |████████████████▊ | 1.2MB 2.8MB/s eta 0:00:01\r\u001b[K |█████████████████ | 1.2MB 2.8MB/s eta 0:00:01\r\u001b[K |█████████████████ | 1.2MB 2.8MB/s eta 0:00:01\r\u001b[K |█████████████████▏ | 1.2MB 2.8MB/s eta 0:00:01\r\u001b[K |█████████████████▍ | 1.2MB 2.8MB/s eta 0:00:01\r\u001b[K |█████████████████▌ | 1.2MB 2.8MB/s eta 0:00:01\r\u001b[K |█████████████████▋ | 1.3MB 2.8MB/s eta 0:00:01\r\u001b[K |█████████████████▉ | 1.3MB 2.8MB/s eta 0:00:01\r\u001b[K |██████████████████ | 1.3MB 2.8MB/s eta 0:00:01\r\u001b[K |██████████████████ | 1.3MB 2.8MB/s eta 0:00:01\r\u001b[K |██████████████████▏ | 1.3MB 2.8MB/s eta 0:00:01\r\u001b[K |██████████████████▍ | 1.3MB 2.8MB/s eta 0:00:01\r\u001b[K |██████████████████▌ | 1.3MB 2.8MB/s eta 0:00:01\r\u001b[K |██████████████████▋ | 1.3MB 2.8MB/s eta 0:00:01\r\u001b[K |██████████████████▉ | 1.3MB 2.8MB/s eta 0:00:01\r\u001b[K |███████████████████ | 1.4MB 2.8MB/s eta 0:00:01\r\u001b[K |███████████████████ | 1.4MB 2.8MB/s eta 0:00:01\r\u001b[K |███████████████████▏ | 1.4MB 2.8MB/s eta 0:00:01\r\u001b[K |███████████████████▍ | 1.4MB 2.8MB/s eta 0:00:01\r\u001b[K |███████████████████▌ | 1.4MB 2.8MB/s eta 0:00:01\r\u001b[K |███████████████████▋ | 1.4MB 2.8MB/s eta 0:00:01\r\u001b[K |███████████████████▉ | 1.4MB 2.8MB/s eta 0:00:01\r\u001b[K |████████████████████ | 1.4MB 2.8MB/s eta 0:00:01\r\u001b[K |████████████████████ | 1.4MB 2.8MB/s eta 0:00:01\r\u001b[K |████████████████████▏ | 1.4MB 2.8MB/s eta 0:00:01\r\u001b[K |████████████████████▍ | 1.5MB 2.8MB/s eta 0:00:01\r\u001b[K |████████████████████▌ | 1.5MB 2.8MB/s eta 0:00:01\r\u001b[K |████████████████████▋ | 1.5MB 2.8MB/s eta 0:00:01\r\u001b[K |████████████████████▉ | 1.5MB 2.8MB/s eta 0:00:01\r\u001b[K |█████████████████████ | 1.5MB 2.8MB/s eta 0:00:01\r\u001b[K |█████████████████████ | 1.5MB 2.8MB/s eta 0:00:01\r\u001b[K |█████████████████████▏ | 1.5MB 2.8MB/s eta 0:00:01\r\u001b[K |█████████████████████▍ | 1.5MB 2.8MB/s eta 0:00:01\r\u001b[K |█████████████████████▌ | 1.5MB 2.8MB/s eta 0:00:01\r\u001b[K |█████████████████████▋ | 1.5MB 2.8MB/s eta 0:00:01\r\u001b[K |█████████████████████▉ | 1.6MB 2.8MB/s eta 0:00:01\r\u001b[K |██████████████████████ | 1.6MB 2.8MB/s eta 0:00:01\r\u001b[K |██████████████████████ | 1.6MB 2.8MB/s eta 0:00:01\r\u001b[K |██████████████████████▎ | 1.6MB 2.8MB/s eta 0:00:01\r\u001b[K |██████████████████████▍ | 1.6MB 2.8MB/s eta 0:00:01\r\u001b[K |██████████████████████▌ | 1.6MB 2.8MB/s eta 0:00:01\r\u001b[K |██████████████████████▋ | 1.6MB 2.8MB/s eta 0:00:01\r\u001b[K |██████████████████████▉ | 1.6MB 2.8MB/s eta 0:00:01\r\u001b[K |███████████████████████ | 1.6MB 2.8MB/s eta 0:00:01\r\u001b[K |███████████████████████ | 1.6MB 2.8MB/s eta 0:00:01\r\u001b[K |███████████████████████▎ | 1.7MB 2.8MB/s eta 0:00:01\r\u001b[K |███████████████████████▍ | 1.7MB 2.8MB/s eta 0:00:01\r\u001b[K |███████████████████████▌ | 1.7MB 2.8MB/s eta 0:00:01\r\u001b[K |███████████████████████▋ | 1.7MB 2.8MB/s eta 0:00:01\r\u001b[K |███████████████████████▉ | 1.7MB 2.8MB/s eta 0:00:01\r\u001b[K |████████████████████████ | 1.7MB 2.8MB/s eta 0:00:01\r\u001b[K |████████████████████████ | 1.7MB 2.8MB/s eta 0:00:01\r\u001b[K |████████████████████████▎ | 1.7MB 2.8MB/s eta 0:00:01\r\u001b[K |████████████████████████▍ | 1.7MB 2.8MB/s eta 0:00:01\r\u001b[K |████████████████████████▌ | 1.8MB 2.8MB/s eta 0:00:01\r\u001b[K |████████████████████████▋ | 1.8MB 2.8MB/s eta 0:00:01\r\u001b[K |████████████████████████▉ | 1.8MB 2.8MB/s eta 0:00:01\r\u001b[K |█████████████████████████ | 1.8MB 2.8MB/s eta 0:00:01\r\u001b[K |█████████████████████████ | 1.8MB 2.8MB/s eta 0:00:01\r\u001b[K |█████████████████████████▎ | 1.8MB 2.8MB/s eta 0:00:01\r\u001b[K |█████████████████████████▍ | 1.8MB 2.8MB/s eta 0:00:01\r\u001b[K |█████████████████████████▌ | 1.8MB 2.8MB/s eta 0:00:01\r\u001b[K |█████████████████████████▋ | 1.8MB 2.8MB/s eta 0:00:01\r\u001b[K |█████████████████████████▉ | 1.8MB 2.8MB/s eta 0:00:01\r\u001b[K |██████████████████████████ | 1.9MB 2.8MB/s eta 0:00:01\r\u001b[K |██████████████████████████ | 1.9MB 2.8MB/s eta 0:00:01\r\u001b[K |██████████████████████████▎ | 1.9MB 2.8MB/s eta 0:00:01\r\u001b[K |██████████████████████████▍ | 1.9MB 2.8MB/s eta 0:00:01\r\u001b[K |██████████████████████████▌ | 1.9MB 2.8MB/s eta 0:00:01\r\u001b[K |██████████████████████████▊ | 1.9MB 2.8MB/s eta 0:00:01\r\u001b[K |██████████████████████████▉ | 1.9MB 2.8MB/s eta 0:00:01\r\u001b[K |███████████████████████████ | 1.9MB 2.8MB/s eta 0:00:01\r\u001b[K |███████████████████████████ | 1.9MB 2.8MB/s eta 0:00:01\r\u001b[K |███████████████████████████▎ | 1.9MB 2.8MB/s eta 0:00:01\r\u001b[K |███████████████████████████▍ | 2.0MB 2.8MB/s eta 0:00:01\r\u001b[K |███████████████████████████▌ | 2.0MB 2.8MB/s eta 0:00:01\r\u001b[K |███████████████████████████▊ | 2.0MB 2.8MB/s eta 0:00:01\r\u001b[K |███████████████████████████▉ | 2.0MB 2.8MB/s eta 0:00:01\r\u001b[K |████████████████████████████ | 2.0MB 2.8MB/s eta 0:00:01\r\u001b[K |████████████████████████████ | 2.0MB 2.8MB/s eta 0:00:01\r\u001b[K |████████████████████████████▎ | 2.0MB 2.8MB/s eta 0:00:01\r\u001b[K |████████████████████████████▍ | 2.0MB 2.8MB/s eta 0:00:01\r\u001b[K |████████████████████████████▌ | 2.0MB 2.8MB/s eta 0:00:01\r\u001b[K |████████████████████████████▊ | 2.0MB 2.8MB/s eta 0:00:01\r\u001b[K |████████████████████████████▉ | 2.1MB 2.8MB/s eta 0:00:01\r\u001b[K |█████████████████████████████ | 2.1MB 2.8MB/s eta 0:00:01\r\u001b[K |█████████████████████████████ | 2.1MB 2.8MB/s eta 0:00:01\r\u001b[K |█████████████████████████████▎ | 2.1MB 2.8MB/s eta 0:00:01\r\u001b[K |█████████████████████████████▍ | 2.1MB 2.8MB/s eta 0:00:01\r\u001b[K |█████████████████████████████▌ | 2.1MB 2.8MB/s eta 0:00:01\r\u001b[K |█████████████████████████████▊ | 2.1MB 2.8MB/s eta 0:00:01\r\u001b[K |█████████████████████████████▉ | 2.1MB 2.8MB/s eta 0:00:01\r\u001b[K |██████████████████████████████ | 2.1MB 2.8MB/s eta 0:00:01\r\u001b[K |██████████████████████████████ | 2.2MB 2.8MB/s eta 0:00:01\r\u001b[K |██████████████████████████████▎ | 2.2MB 2.8MB/s eta 0:00:01\r\u001b[K |██████████████████████████████▍ | 2.2MB 2.8MB/s eta 0:00:01\r\u001b[K |██████████████████████████████▌ | 2.2MB 2.8MB/s eta 0:00:01\r\u001b[K |██████████████████████████████▊ | 2.2MB 2.8MB/s eta 0:00:01\r\u001b[K |██████████████████████████████▉ | 2.2MB 2.8MB/s eta 0:00:01\r\u001b[K |███████████████████████████████ | 2.2MB 2.8MB/s eta 0:00:01\r\u001b[K |███████████████████████████████▏| 2.2MB 2.8MB/s eta 0:00:01\r\u001b[K |███████████████████████████████▎| 2.2MB 2.8MB/s eta 0:00:01\r\u001b[K |███████████████████████████████▍| 2.2MB 2.8MB/s eta 0:00:01\r\u001b[K |███████████████████████████████▌| 2.3MB 2.8MB/s eta 0:00:01\r\u001b[K |███████████████████████████████▊| 2.3MB 2.8MB/s eta 0:00:01\r\u001b[K |███████████████████████████████▉| 2.3MB 2.8MB/s eta 0:00:01\r\u001b[K |████████████████████████████████| 2.3MB 2.8MB/s eta 0:00:01\r\u001b[K |████████████████████████████████| 2.3MB 2.8MB/s \n",
"\u001b[?25h Building wheel for scikit-survival (setup.py) ... \u001b[?25l\u001b[?25hdone\n"
],
"name": "stdout"
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "IPrb8wupDIqg",
"colab_type": "code",
"colab": {}
},
"source": [
"# imports\n",
"%matplotlib inline\n",
"import matplotlib.pyplot as plt\n",
"import pandas as pd\n",
"import numpy as np"
],
"execution_count": 0,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"id": "nrpBjG5d8bcX",
"colab_type": "code",
"colab": {}
},
"source": [
"# download the dataset\n",
"from sksurv.datasets import load_gbsg2\n",
"\n",
"X, y = load_gbsg2()"
],
"execution_count": 0,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"id": "LmsTK0f5DAHa",
"colab_type": "code",
"colab": {}
},
"source": [
"# function to transform y (a numpy nd array) to a dataframe\n",
"def target2df(y):\n",
" event = [y[i][0] for i in range(len(y))]\n",
" time = [y[i][1] for i in range(len(y))]\n",
" df_y = pd.DataFrame(data={'time': time, 'event': event})\n",
" return df_y"
],
"execution_count": 0,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"id": "J7U6qnN_DZDg",
"colab_type": "code",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 33
},
"outputId": "d810c3e2-8fc1-493e-fa93-f07678951db3"
},
"source": [
"# tgrade: tumor grade is an ordered categorical variable so we treat it differently\n",
"X['tgrade'] = X['tgrade'].cat.as_ordered()\n",
"X['tgrade'].dtype"
],
"execution_count": 10,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"CategoricalDtype(categories=['I', 'II', 'III'], ordered=True)"
]
},
"metadata": {
"tags": []
},
"execution_count": 10
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "TZTonSa6DfQA",
"colab_type": "code",
"colab": {}
},
"source": [
"# we transform the categorical variables to numerical variables\n",
"X['horTh'] = X['horTh'].cat.codes\n",
"X['menostat'] = X['menostat'].cat.codes\n",
"X['tgrade'] = X['tgrade'].cat.codes"
],
"execution_count": 0,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"id": "qARWXP-HDjA4",
"colab_type": "code",
"colab": {}
},
"source": [
"from sklearn.model_selection import train_test_split\n",
"\n",
"X_trn, X_val, y_trn, y_val = train_test_split(X, y, test_size=0.2, random_state=42)"
],
"execution_count": 0,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"id": "dQLiXmSSDmT4",
"colab_type": "code",
"colab": {}
},
"source": [
"df_y_trn = target2df(y_trn)\n",
"df_y_val = target2df(y_val)"
],
"execution_count": 0,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"id": "pJaddAeGD2kw",
"colab_type": "code",
"colab": {}
},
"source": [
"T_trn = df_y_trn['time']\n",
"E_trn = df_y_trn['event']\n",
"T_val = df_y_val['time']\n",
"E_val = df_y_val['event']"
],
"execution_count": 0,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"id": "vi5L6x6D79Wa",
"colab_type": "code",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 66
},
"outputId": "6a0eaf66-9d5a-44f6-c6d2-e9090bb6de69"
},
"source": [
"from pysurvival.models.survival_forest import RandomSurvivalForestModel\n",
"\n",
"rsf_pysurvival = RandomSurvivalForestModel(num_trees=20)\n",
"%time rsf_pysurvival.fit(X_trn, T_trn, E_trn, seed=0)"
],
"execution_count": 21,
"outputs": [
{
"output_type": "stream",
"text": [
"CPU times: user 252 ms, sys: 13 ms, total: 265 ms\n",
"Wall time: 161 ms\n"
],
"name": "stdout"
},
{
"output_type": "execute_result",
"data": {
"text/plain": [
"RandomSurvivalForestModel"
]
},
"metadata": {
"tags": []
},
"execution_count": 21
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "YPIuRDmTPvYe",
"colab_type": "code",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 33
},
"outputId": "e0f37829-7fec-4390-8a67-985a6cab0c6e"
},
"source": [
"from pysurvival.utils.metrics import concordance_index\n",
"c_index = concordance_index(rsf_pysurvival, X_val, T_val, E_val)\n",
"print(f'Concordance index: {c_index:.3f}') "
],
"execution_count": 24,
"outputs": [
{
"output_type": "stream",
"text": [
"Concordance index: 0.649\n"
],
"name": "stdout"
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "Pgk_9gSiEJb4",
"colab_type": "code",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 66
},
"outputId": "a4e00e78-e219-4bbd-94d1-1620ce1422c9"
},
"source": [
"from random_survival_forest import RandomSurvivalForest\n",
"\n",
"rsf = RandomSurvivalForest(n_estimators=20)\n",
"%time rsf.fit(X_trn, df_y_trn)"
],
"execution_count": 19,
"outputs": [
{
"output_type": "stream",
"text": [
"CPU times: user 30min 1s, sys: 4.58 s, total: 30min 6s\n",
"Wall time: 30min 7s\n"
],
"name": "stdout"
},
{
"output_type": "execute_result",
"data": {
"text/plain": [
"<random_survival_forest.RandomSurvivalForest.RandomSurvivalForest at 0x7f01511c3470>"
]
},
"metadata": {
"tags": []
},
"execution_count": 19
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "uRacYQH3PptZ",
"colab_type": "code",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 33
},
"outputId": "db13b0b5-478e-441c-cc4a-cfa2c0ecfecd"
},
"source": [
"rsf.oob_score"
],
"execution_count": 25,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
"0.5036856355634013"
]
},
"metadata": {
"tags": []
},
"execution_count": 25
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "wm-1vbpPRLnO",
"colab_type": "code",
"colab": {}
},
"source": [
""
],
"execution_count": 0,
"outputs": []
}
]
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment