Skip to content

Instantly share code, notes, and snippets.

@inigoreiriz
Created March 31, 2018 08:41
Show Gist options
  • Save inigoreiriz/51efb14e2e19303ad844dd006f6b7392 to your computer and use it in GitHub Desktop.
Save inigoreiriz/51efb14e2e19303ad844dd006f6b7392 to your computer and use it in GitHub Desktop.
Analysis
Display the source blob
Display the rendered blob
Raw
{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Data cleaning step"
]
},
{
"cell_type": "code",
"execution_count": 1,
"metadata": {},
"outputs": [],
"source": [
"import pandas as pd\n",
"import numpy as np\n",
"from __future__ import division\n",
"\n",
"import matplotlib.pyplot as plt\n",
"% matplotlib inline\n",
"\n",
"df = pd.read_csv('../data/Datos_Completos_semanales.csv', decimal=\",\")\n",
"\n",
"# drop metabolomic attributes\n",
"indices = np.arange(21,725,1)\n",
"df = df.drop(df.columns[indices],axis=1)\n",
"\n",
"# drop irrelevant columns\n",
"df = df.drop(['BORG', 'sum 6', 'pierna(1)'], axis=1)\n",
"\n",
"# treat RS & DHJ independently\n",
"df_RS = df[df.Tipo == 'RS']\n",
"df_DHJ = df[df.Tipo == 'DHJ']\n",
"\n",
"# For each player within team, drop replicated weeks (Neg/Pos). \n",
"# No effect in antropometric variables.\n",
"df_RS = df_RS.drop_duplicates(subset=['Codigo','Week'])\n",
"df_RS.index = np.arange(0,len(df_RS),1)\n",
"\n",
"df_DHJ = df_DHJ.drop_duplicates(subset=['Codigo', 'Week'])\n",
"df_DHJ.index = np.arange(0,len(df_DHJ),1)\n",
"\n",
"## Add L/NotL column to dataframe based on mode(BORG)\n",
"\n",
"# RS case\n",
"label = ['NL' if mode!= 'L' else 'L' for mode in df_RS['mode(BORG)'].values]\n",
"df_RS['label'] = label\n",
"\n",
"# DHJ case\n",
"label = ['NL' if mode!='L' else 'L' for mode in df_DHJ['mode(BORG)'].values]\n",
"df_DHJ['label'] = label\n",
"\n",
"## Re-arrange columns\n",
"cols = df_RS.columns.tolist()\n",
"cols = cols[18:] + cols[0:18]\n",
"df_RS = df_RS[cols]\n",
"df_DHJ = df_DHJ[cols]"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>Codigo</th>\n",
" <th>Week</th>\n",
" <th>Tipo</th>\n",
" <th>Tipomet</th>\n",
" <th>mode(BORG)</th>\n",
" <th>label</th>\n",
" <th>edad</th>\n",
" <th>talla</th>\n",
" <th>peso</th>\n",
" <th>IMC</th>\n",
" <th>...</th>\n",
" <th>biceps</th>\n",
" <th>triceps</th>\n",
" <th>subes</th>\n",
" <th>abdo</th>\n",
" <th>supra</th>\n",
" <th>crest il</th>\n",
" <th>muslo ant</th>\n",
" <th>peso Musc</th>\n",
" <th>Musc</th>\n",
" <th>grasa Yuh</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>1</td>\n",
" <td>S01</td>\n",
" <td>RS</td>\n",
" <td>Neg</td>\n",
" <td>6</td>\n",
" <td>NL</td>\n",
" <td>20.055</td>\n",
" <td>173.2</td>\n",
" <td>71.7</td>\n",
" <td>23.901</td>\n",
" <td>...</td>\n",
" <td>5.5</td>\n",
" <td>11.2</td>\n",
" <td>12.7</td>\n",
" <td>13.3</td>\n",
" <td>7.7</td>\n",
" <td>11.5</td>\n",
" <td>11.3</td>\n",
" <td>32.853</td>\n",
" <td>0.458</td>\n",
" <td>9.480</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>1</td>\n",
" <td>S02</td>\n",
" <td>RS</td>\n",
" <td>Neg</td>\n",
" <td>6</td>\n",
" <td>NL</td>\n",
" <td>20.074</td>\n",
" <td>173.2</td>\n",
" <td>71.5</td>\n",
" <td>23.835</td>\n",
" <td>...</td>\n",
" <td>5.2</td>\n",
" <td>10.5</td>\n",
" <td>11.8</td>\n",
" <td>11.4</td>\n",
" <td>7.6</td>\n",
" <td>9.7</td>\n",
" <td>10.5</td>\n",
" <td>33.686</td>\n",
" <td>0.471</td>\n",
" <td>8.933</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>1</td>\n",
" <td>S03</td>\n",
" <td>RS</td>\n",
" <td>Neg</td>\n",
" <td>6</td>\n",
" <td>NL</td>\n",
" <td>20.096</td>\n",
" <td>173.2</td>\n",
" <td>70.8</td>\n",
" <td>23.601</td>\n",
" <td>...</td>\n",
" <td>5.5</td>\n",
" <td>10.7</td>\n",
" <td>9.9</td>\n",
" <td>6.9</td>\n",
" <td>7.7</td>\n",
" <td>7.9</td>\n",
" <td>9.5</td>\n",
" <td>33.518</td>\n",
" <td>0.473</td>\n",
" <td>8.050</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>1</td>\n",
" <td>S04</td>\n",
" <td>RS</td>\n",
" <td>Neg</td>\n",
" <td>6</td>\n",
" <td>NL</td>\n",
" <td>20.112</td>\n",
" <td>173.2</td>\n",
" <td>70.7</td>\n",
" <td>23.568</td>\n",
" <td>...</td>\n",
" <td>5.0</td>\n",
" <td>10.1</td>\n",
" <td>10.7</td>\n",
" <td>8.9</td>\n",
" <td>7.2</td>\n",
" <td>8.5</td>\n",
" <td>9.5</td>\n",
" <td>33.463</td>\n",
" <td>0.473</td>\n",
" <td>8.281</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>1</td>\n",
" <td>S05</td>\n",
" <td>RS</td>\n",
" <td>Neg</td>\n",
" <td>8</td>\n",
" <td>NL</td>\n",
" <td>20.134</td>\n",
" <td>173.2</td>\n",
" <td>70.5</td>\n",
" <td>23.501</td>\n",
" <td>...</td>\n",
" <td>5.6</td>\n",
" <td>9.4</td>\n",
" <td>9.7</td>\n",
" <td>8.9</td>\n",
" <td>6.7</td>\n",
" <td>7.5</td>\n",
" <td>9.0</td>\n",
" <td>34.004</td>\n",
" <td>0.482</td>\n",
" <td>7.924</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"<p>5 rows × 24 columns</p>\n",
"</div>"
],
"text/plain": [
" Codigo Week Tipo Tipomet mode(BORG) label edad talla peso IMC \\\n",
"0 1 S01 RS Neg 6 NL 20.055 173.2 71.7 23.901 \n",
"1 1 S02 RS Neg 6 NL 20.074 173.2 71.5 23.835 \n",
"2 1 S03 RS Neg 6 NL 20.096 173.2 70.8 23.601 \n",
"3 1 S04 RS Neg 6 NL 20.112 173.2 70.7 23.568 \n",
"4 1 S05 RS Neg 8 NL 20.134 173.2 70.5 23.501 \n",
"\n",
" ... biceps triceps subes abdo supra crest il muslo ant \\\n",
"0 ... 5.5 11.2 12.7 13.3 7.7 11.5 11.3 \n",
"1 ... 5.2 10.5 11.8 11.4 7.6 9.7 10.5 \n",
"2 ... 5.5 10.7 9.9 6.9 7.7 7.9 9.5 \n",
"3 ... 5.0 10.1 10.7 8.9 7.2 8.5 9.5 \n",
"4 ... 5.6 9.4 9.7 8.9 6.7 7.5 9.0 \n",
"\n",
" peso Musc Musc grasa Yuh \n",
"0 32.853 0.458 9.480 \n",
"1 33.686 0.471 8.933 \n",
"2 33.518 0.473 8.050 \n",
"3 33.463 0.473 8.281 \n",
"4 34.004 0.482 7.924 \n",
"\n",
"[5 rows x 24 columns]"
]
},
"execution_count": 2,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"df_RS.head()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"#### Disponibilidad de cada jugador con respecto a las 15 semanas de actividad?"
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {},
"outputs": [],
"source": [
"def compute_availability(df):\n",
" \"\"\"\n",
" Computes availability ratio \n",
" for each player<\n",
" \"\"\"\n",
" av = {}\n",
" for i in list(set(df['Codigo'].values)):\n",
" counts = df[df['Codigo'] == i]['label'].value_counts().values\n",
" if len(counts) > 1:\n",
" ratio = counts[1] / counts[0]\n",
" av[i] = ratio\n",
" else:\n",
" av[i] = 1\n",
" \n",
" av_key = []\n",
" av_val = []\n",
" for key in av:\n",
" av_key.append(key)\n",
" av_val.append(av[key])\n",
" \n",
" return av_key, av_val\n",
"\n",
"rs_av_key, rs_av_val = compute_availability(df_RS)\n",
"dhj_av_key, dhj_av_val = compute_availability(df_DHJ)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Show availability ratios for RS players"
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x11b7eb4d0>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"y_pos = np.arange(len(rs_av_key))\n",
"plt.bar(y_pos, rs_av_val, align='center', alpha=0.5)\n",
"plt.xticks(y_pos, rs_av_key)\n",
"plt.xlabel('Jugadores')\n",
"plt.ylabel('Ratio disponibilidad')\n",
"plt.title('Ratio disponibilidad Jugadores RS')\n",
"\n",
"plt.show()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Show availability ratios for DHJ players"
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x11be819d0>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"y_pos = np.arange(len(dhj_av_key))\n",
"plt.bar(y_pos, dhj_av_val, align='center', alpha=0.5)\n",
"plt.xticks(y_pos, dhj_av_key)\n",
"plt.xlabel('Jugadores')\n",
"plt.ylabel('Ratio disponibilidad')\n",
"plt.title('Ratio disponibilidad Jugadores DHJ')\n",
"\n",
"plt.show()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Create .csv files for powerbi"
]
},
{
"cell_type": "code",
"execution_count": 6,
"metadata": {},
"outputs": [],
"source": [
"dt_RS = pd.DataFrame()\n",
"dt_RS['Codigo'] = rs_av_key\n",
"dt_RS['Ratio'] = rs_av_val\n",
"dt_RS.to_csv('../data/Ratio_Disponibilidad_Jugadores_RS.csv', index=False)\n",
"\n",
"dt_DHJ = pd.DataFrame()\n",
"dt_DHJ['Codigo'] = dhj_av_key\n",
"dt_DHJ['Ratio'] = dhj_av_val\n",
"dt_DHJ.to_csv('../data/Ratio_Disponibilidad_Jugadores_RHJ.csv', index=False)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"#### Variables antropométricas que contribuyen más a la predicción de la lesión?"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Check first how imbalanced each dataset is in terms of classes (L/NL)"
]
},
{
"cell_type": "code",
"execution_count": 7,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"NL 227\n",
"L 37\n",
"Name: label, dtype: int64\n",
"\n",
"\n",
"NL 168\n",
"L 32\n",
"Name: label, dtype: int64\n"
]
}
],
"source": [
"print df_RS['label'].value_counts()\n",
"print \"\\n\"\n",
"print df_DHJ['label'].value_counts()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Build classifer for RS"
]
},
{
"cell_type": "code",
"execution_count": 8,
"metadata": {},
"outputs": [],
"source": [
"y = [1 if label=='L' else 0 for label in df_RS['label'].values] \n",
"\n",
"X_columns = df_RS.columns[6:].values\n",
"X_columns[5] = 'Torax'\n",
"X = df_RS.as_matrix()\n",
"X = X[:,6:]\n",
"X = X.astype(float)"
]
},
{
"cell_type": "code",
"execution_count": 9,
"metadata": {},
"outputs": [],
"source": [
"from collections import Counter, defaultdict\n",
"from sklearn.ensemble import RandomForestClassifier, GradientBoostingClassifier\n",
"from sklearn import tree\n",
"from sklearn import metrics\n",
"from sklearn.metrics import roc_auc_score, confusion_matrix\n",
"from sklearn.model_selection import cross_val_score, StratifiedKFold, KFold\n",
"\n",
"from confusion_matrix_pp import *\n",
"import pprint\n",
"pp = pprint.PrettyPrinter(indent=2)\n",
"from IPython.display import display\n",
"\n",
"def upsampling(y):\n",
" \"\"\"\n",
" Given y, returns indices of rebalanced y\n",
" \"\"\"\n",
" class_count = Counter(y).most_common()\n",
" to_match = class_count[0][1]\n",
" indices = np.nonzero(y==class_count[0][0])[0]\n",
" new_indices = []\n",
" new_indices.append(indices)\n",
" for class_ in class_count[1:]:\n",
" indices = np.nonzero(y ==class_[0])[0]\n",
" n_indices = np.random.choice(indices, to_match, replace=True)\n",
" new_indices.append(n_indices)\n",
" \n",
" new_indices = np.concatenate(new_indices)\n",
" return new_indices\n",
"\n",
"def standardize(X):\n",
" \"\"\"\n",
" Standardizes feature matrix X\n",
" \"\"\"\n",
" X_mean = X.mean(axis=0)\n",
" X_std = X.std(axis=0)\n",
" X = (X - X_mean) / X_std\n",
" \n",
" return X\n",
"\n",
"def train_test(X, y):\n",
" \n",
" X = standardize(X)\n",
" X = np.array(X)\n",
" y = np.array(y)\n",
" \n",
" importances = []\n",
" train_accs = []\n",
" test_accs = []\n",
" train_f1s = []\n",
" test_f1s = []\n",
" \n",
" matrix = None\n",
" \n",
" skf = StratifiedKFold(5, shuffle=True)\n",
" \n",
" fold_count = 0\n",
" for train_idx, test_idx, in skf.split(X,y):\n",
" print(\"Processing fold %s\" % fold_count)\n",
" \n",
" y_train = y[train_idx]\n",
" train_idx_resample = upsampling(y_train)\n",
" y_train = y_train[train_idx_resample]\n",
" \n",
" y_test = y[test_idx]\n",
" test_idx_resample = upsampling(y_test)\n",
" y_test = y_test[test_idx_resample]\n",
" \n",
" X_train = X[train_idx][train_idx_resample]\n",
" X_test = X[test_idx][test_idx_resample]\n",
" \n",
" clf = RandomForestClassifier(n_estimators=50, n_jobs=-1,\n",
" criterion='gini',\n",
" max_features='auto',\n",
" max_depth=None) \n",
" clf.fit(X_train, y_train)\n",
" importances.append(clf.feature_importances_)\n",
" \n",
" y_train_pred = clf.predict(X_train)\n",
" y_test_pred = clf.predict(X_test)\n",
" \n",
" train_accs.append(metrics.accuracy_score(y_train, y_train_pred))\n",
" train_f1s.append(metrics.f1_score(y_train, y_train_pred))\n",
" \n",
" test_accs.append(metrics.accuracy_score(y_test, y_test_pred))\n",
" test_f1s.append(metrics.f1_score(y_test, y_test_pred))\n",
" \n",
" if matrix is None:\n",
" conf_matrix = confusion_matrix(y_test, y_test_pred)\n",
" else:\n",
" conf_matrix += confusion_matrix(y_test, y_test_pred)\n",
" \n",
" fold_count += 1\n",
" \n",
" print \"\\n EVALUATION METRICS:\"\n",
" \n",
" df = pd.DataFrame()\n",
" df['Train Accuracy'] = [np.mean(np.array(train_accs))]\n",
" df['Test Accuracy'] = [np.mean(np.array(test_accs))]\n",
" df['Train F1'] = [np.mean(np.array(train_f1s))]\n",
" df['Test F1'] = [np.mean(np.array(test_f1s))]\n",
" \n",
" display(df)\n",
" \n",
" print \"\\n CONFUSION MATRIX:\"\n",
" print_confusion_matrix(conf_matrix, [\"Lesion\", \"No Lesion\"])\n",
"\n",
" print \"\\n FEATURE WEIGHTS:\" \n",
" mean_feature_weights = np.mean(np.array(importances), axis=0)\n",
" feature_names = X_columns[np.argsort(mean_feature_weights)[::-1]]\n",
" feature_weights = mean_feature_weights[np.argsort(mean_feature_weights)[::-1]]\n",
" \n",
" weights = {}\n",
" for feature_name, feature_weight in (zip(feature_names, feature_weights)):\n",
" weights[feature_name] = feature_weight\n",
" \n",
" ## Write weights to CSV\n",
" \n",
" dt_weights = pd.DataFrame()\n",
" dt_weights['Variables Antropometricas'] = [key for key in weights]\n",
" dt_weights['Importancia'] = [weights[key] for key in weights] \n",
" dt_weights = dt_weights.sort_values(by=['Importancia'], ascending=False) \n",
" dt_weights.index = np.arange(0,len(dt_weights),1)\n",
" \n",
" display(dt_weights)\n",
" \n",
" dt_weights.to_csv('../data/Importancia_Variables_Antropometricas.csv', index=False)\n",
" \n",
" return clf, dt_weights\n",
" \n",
"def plot_weights(dt_weights):\n",
" \n",
" plt.figure(figsize=(18,5))\n",
"\n",
" y_pos = np.arange(len(dt_weights))\n",
" plt.bar(y_pos, dt_weights.Importancia.values, align='center', alpha=0.5)\n",
" plt.xticks(y_pos, dt_weights['Variables Antropometricas'].values)\n",
" plt.xlabel('Variables Antropometricas')\n",
" plt.ylabel('Peso')\n",
" plt.title('Peso de Variables Antropometricas')\n",
"\n",
" plt.show()"
]
},
{
"cell_type": "code",
"execution_count": 10,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Processing fold 0\n",
"Processing fold 1\n",
"Processing fold 2\n",
"Processing fold 3\n",
"Processing fold 4\n",
"\n",
" EVALUATION METRICS:\n"
]
},
{
"data": {
"text/html": [
"<div>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>Train Accuracy</th>\n",
" <th>Test Accuracy</th>\n",
" <th>Train F1</th>\n",
" <th>Test F1</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>1.0</td>\n",
" <td>0.717778</td>\n",
" <td>1.0</td>\n",
" <td>0.5723</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" Train Accuracy Test Accuracy Train F1 Test F1\n",
"0 1.0 0.717778 1.0 0.5723"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"\n",
" CONFUSION MATRIX:\n"
]
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x12000f390>"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"\n",
" FEATURE WEIGHTS:\n"
]
},
{
"data": {
"text/html": [
"<div>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>Variables Antropometricas</th>\n",
" <th>Importancia</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>IMC</td>\n",
" <td>0.123970</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>Musc</td>\n",
" <td>0.103292</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>pierna</td>\n",
" <td>0.097094</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>talla</td>\n",
" <td>0.073268</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>brazo rel</td>\n",
" <td>0.065889</td>\n",
" </tr>\n",
" <tr>\n",
" <th>5</th>\n",
" <td>edad</td>\n",
" <td>0.060770</td>\n",
" </tr>\n",
" <tr>\n",
" <th>6</th>\n",
" <td>Torax</td>\n",
" <td>0.054610</td>\n",
" </tr>\n",
" <tr>\n",
" <th>7</th>\n",
" <td>crest il</td>\n",
" <td>0.051739</td>\n",
" </tr>\n",
" <tr>\n",
" <th>8</th>\n",
" <td>grasa Yuh</td>\n",
" <td>0.049047</td>\n",
" </tr>\n",
" <tr>\n",
" <th>9</th>\n",
" <td>muslo ant</td>\n",
" <td>0.046693</td>\n",
" </tr>\n",
" <tr>\n",
" <th>10</th>\n",
" <td>peso Musc</td>\n",
" <td>0.043655</td>\n",
" </tr>\n",
" <tr>\n",
" <th>11</th>\n",
" <td>peso</td>\n",
" <td>0.040566</td>\n",
" </tr>\n",
" <tr>\n",
" <th>12</th>\n",
" <td>triceps</td>\n",
" <td>0.040371</td>\n",
" </tr>\n",
" <tr>\n",
" <th>13</th>\n",
" <td>supra</td>\n",
" <td>0.034766</td>\n",
" </tr>\n",
" <tr>\n",
" <th>14</th>\n",
" <td>abdo</td>\n",
" <td>0.034740</td>\n",
" </tr>\n",
" <tr>\n",
" <th>15</th>\n",
" <td>subes</td>\n",
" <td>0.028824</td>\n",
" </tr>\n",
" <tr>\n",
" <th>16</th>\n",
" <td>muslo</td>\n",
" <td>0.028786</td>\n",
" </tr>\n",
" <tr>\n",
" <th>17</th>\n",
" <td>biceps</td>\n",
" <td>0.021918</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" Variables Antropometricas Importancia\n",
"0 IMC 0.123970\n",
"1 Musc 0.103292\n",
"2 pierna 0.097094\n",
"3 talla 0.073268\n",
"4 brazo rel 0.065889\n",
"5 edad 0.060770\n",
"6 Torax 0.054610\n",
"7 crest il 0.051739\n",
"8 grasa Yuh 0.049047\n",
"9 muslo ant 0.046693\n",
"10 peso Musc 0.043655\n",
"11 peso 0.040566\n",
"12 triceps 0.040371\n",
"13 supra 0.034766\n",
"14 abdo 0.034740\n",
"15 subes 0.028824\n",
"16 muslo 0.028786\n",
"17 biceps 0.021918"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAABCMAAAFKCAYAAAAnjJX9AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAIABJREFUeJzs3XlYlPX+//EXMIIKKGpolktBodXJEPJri5iSelzwZGFCJtrJk1mmuaSSopkL4pL7VpanovLglkez7bgcNTNTk1IzLVLcUFFBBZRt7t8f/pgjCkg1cw9Oz8d1eV3O3Pf9ud/vueee5cV93+NmGIYhAAAAAAAAk7g7uwAAAAAAAPDnQhgBAAAAAABMRRgBAAAAAABMRRgBAAAAAABMRRgBAAAAAABMRRgBAAAAAABMRRgBAEAJjh49qrvuukuPPfaY7d/f/vY3LVu2zPRann/+ea1YsaLc83/88cdq3779NfefPn1aTZs2VXp6ernH2r17twYMGHDd+Ro1aqSzZ89ec/+KFSv0/PPPl3t95bF+/Xo1atRIa9asKfcyc+bM0dq1a+1ahyOVVe/MmTO1cuVKkysCAMC+LM4uAACAiqpy5cr697//bbt98uRJRURE6C9/+YsaN27sxMrK1rFjRyUkJGjnzp0KDQ213b98+XKFh4fL39+/3GPde++9mjVrliPK/N0WL16szp0767333lOnTp3Ktcy2bdt0xx13OLgy+ymr3pdfftnkagAAsD/CCAAAyqlOnTpq2LChDh06pMaNG2vp0qVavHixrFar/Pz8NGrUKAUGBmrHjh1KSEiQ1WqVdPnIhr/+9a+6cOGCXn/9df30009yc3NTWFiYBg8eLIul+NvxyZMnFRsbq1OnTumWW27RmTNnbNNSUlI0YcIEZWZmqrCwUDExMeratWux5b28vBQZGanly5fbwgjDMLR06VJNmjRJkrRhwwa9+eabysvL09mzZ9WlSxcNHDhQ27Zt04QJE1S1alXl5ORo6NChmjRpkj755BMdPHhQY8eOVU5Ojk6dOqXGjRtrxowZ8vLykiTNmDFDu3fvltVq1cCBA9W6detidV24cEETJkzQgQMHlJ+frwcffFDDhg2TxWLRrFmz9J///EeVKlVSjRo1NHHiRNWuXfuabXDkyBFt27ZNGzZsUMeOHbVr1y41bdpUkhQbGysfHx/t379fJ06cUEBAgKZNm6aVK1dqz549mjx5sjw8PLRu3TplZmbqyJEjatWqlfr27Vvqdrn77rvVq1cvbdu2TTk5ORo8eLDatWsnSZo7d67WrFkjDw8P3X777Ro1apT8/f0VExOje+65R998843OnDmjnj176syZM/r222918eJFzZgxQ40aNSr18UhKSiqz3jNnzujOO+9U79699f3332v8+PG6ePGiKlWqpGHDhunBBx/UsmXLlJSUpPz8fJ07d07PPfecunfvrvT0dA0fPlwZGRmSpEceeUQDBw78fTsEAAB/hAEAAK5x5MgRIzg4uNh93333ndGsWTPj+PHjxrZt24zu3bsbOTk5hmEYxubNm40OHToYhmEYPXv2ND755BPDMAxj3759xpgxYwzDMIxhw4YZ48aNM6xWq5Gbm2s8++yzxptvvnnNul988UVj+vTphmEYxqFDh4zg4GBj+fLlRn5+vtGxY0djz549hmEYxvnz540OHToYu3btumaMw4cPGyEhIUZWVpZhGIbx1VdfGY899phhGIZhtVqNHj16GAcPHjQMwzBOnDhh3HXXXcaZM2eMb775xmjcuLFx9OhRwzAM45tvvjE6depkGIZhJCQkGCtXrjQMwzDy8vKMiIgI4/PPPzcMwzCCgoJsvezfv9/4v//7P+PMmTPG8uXLjT59+hiGYRixsbHG+++/bxiGYRQUFBivvPKK8dZbbxnHjx83QkJCjNzcXMMwDOOdd94x/vOf/5S4XSZPnmz079/fMAzDGDNmjPHyyy/bpg0fPtyIiooycnNzjby8PKNLly7GsmXLDMMwjB49ehifffaZbb5evXrZlitruwQFBRnz58+3bcvQ0FDjzJkzxrJly4yoqCgjOzvbMAzDmDVrlvHss8/a1vXSSy8ZhmEYycnJRlBQkLFu3TrDMAxjwoQJRlxcXJmPx/XqHT58uPH2228beXl5xsMPP2xs2LDBMAzD2L17txEREWFcuHDB6Natm3H27FnDMAxj165dtufynDlzjFGjRhmGYRjZ2dnGwIEDjfPnz5f4WAMA4EgcGQEAQCkuXbqkxx57TJJUWFioGjVqaMqUKapbt64SExOVmpqq6Oho2/znzp1TZmamOnTooLFjx2r9+vV66KGHNHjwYEnSpk2btHjxYrm5ucnT01PR0dF677331KdPn2Lr/frrrzV8+HBJUsOGDdW8eXNJ0qFDh3T48GGNGDGiWI0//vijgoODi41Rv359hYaG6rPPPlPXrl2VlJSkp59+WpLk5uamBQsW6L///a8++eQTpaSkyDAMXbx4UZJUt25d3Xrrrdc8HkOHDtWWLVu0cOFCHTp0SKdOnVJOTo5t+lNPPSVJCgoKUmBgoHbt2lVs+f/+97/avXu37bobly5dknT5iJPGjRvr8ccfV8uWLdWyZUs9+OCD16w/Ly9Py5cvV3x8vCTp8ccf11NPPaW0tDTVrVtXkhQWFiZPT09bHefOnbtmHEnFTl+53nbp0aOHJKlx48YKCgrS9u3btWnTJj3xxBOqWrWqJKlnz55asGCB8vLyJElt27a1bYeiuiSpQYMG+vbbb8t8PK5Xb5EDBw7I3d1drVq1kiT95S9/0erVqyVJCxYs0MaNG3Xo0CH99NNPtu0UFhamPn36KC0tTQ899JCGDBkiX1/fUtcLAICjEEYAAFCKq68ZcSWr1arHHntMQ4cOtd0+deqUqlevrujoaLVu3VpbtmzR5s2bNWfOHK1atcp22saVYxQUFFwztpubmwzDsN0uOo2jsLBQ1apVK1bT6dOnS/0y+fTTT2v+/Plq3bq1du7cqcmTJ0uScnJy9Pjjj6tNmza6//77FRkZqbVr19rWWfQF+2qDBw9WYWGhOnTooFatWiktLa1Yne7u/7sutmEY15x+YrVaNXPmTAUGBkqSzp8/Lzc3N7m7u+uDDz7Q7t27tXXrVsXHx6t58+aKi4srtvxnn32m8+fPa9y4cRo/frztsUpMTNSwYcMkXd5mpT2OV7qyx+ttFw8Pj2LTPDw8rhn36mWKApEilSpVuqaG0h6P69V7ZV1Xz3/gwAFVq1ZNUVFR6tatm0JDQ9W+fXtt2LBBktSkSROtW7dOW7du1TfffKMnn3xSc+fOVUhISInrBQDAUfg1DQAAfoeHH35Ya9as0alTpyRdvqhir169JEnR0dHat2+fnnjiCY0bN07nz5/XuXPn1KJFC3344YcyDEN5eXlasmSJHnrooWvGDgsLU1JSkiTp+PHj2rZtmyTp9ttvl5eXly2MSEtLU0REhPbs2VNijWFhYTp9+rQWLFigzp07276op6amKisrSwMHDlR4eLi+/fZb5eXlXfOl/GpfffWV+vXrp44dO8rNzU3ff/+9CgsLbdM//vhjSdLevXuVmpqq++67r9jyLVq00Lvvvmvr/4UXXtAHH3ygn376SREREQoMDNTzzz+vZ555Rvv3779m/YsXL1bfvn21YcMGrV+/XuvXr9eYMWO0dOnSYkdolMTDw6PE4KeorrK2S9EvV+zdu1cHDx5Us2bN1KJFC61YscK23sTERDVr1uyaEKIspT0e16u3SEBAgNzc3LRlyxZbfb169dJ3332nmjVr6sUXX1RYWJgtiCgsLNTUqVM1b948tWnTRiNHjtQdd9yhQ4cOlbtmAADshSMjAAD4HcLCwvTcc8/p2WeflZubm3x8fDRnzhy5ubnplVdeUXx8vGbMmCF3d3e99NJLqlevnuLi4jR+/Hh17txZ+fn5CgsLU9++fa8Z+7XXXtOrr76qDh066Oabb7b9coenp6fmzZunCRMm6O2331ZBQYFefvnlEg/hly4fqRAdHa1p06bp888/t93fqFEjtWrVSh06dFC1atXUoEED3XHHHUpNTS3zy/SgQYPUr18/Va9eXVWqVFGzZs10+PBh2/QjR46oS5cucnNz07Rp0+Tn51ds+ZEjR2rChAm2/h966CH94x//UKVKldShQwdFRkaqatWqqly58jVHRfz000/at2+f5s2bV+z+Ll26aP78+bYgpDStW7fWpEmTlJ+ff820622X7777TkuWLJHVatX06dNVvXp1de3aVWlpaXryySdltVrVsGFDTZ06tcwarlba43G9eot4enpq9uzZio+P1+TJk1WpUiXNnj1b99xzj1atWqX27durSpUqatKkiWrWrKnU1FT16tVLsbGxioiIkKenpxo1aqSIiIjfVDcAAPbgZpR2/CIAAMCfXKNGjbR161bVrFnT2aUAAOBSOE0DAAAAAACYiiMjAAAAAACAqTgyAgAAAAAAmIowAgAAAAAAmIowAgAAAAAAmOqG/2nP9PQLzi6hQqhRo6oyMsr+jfUbhSv1IrlWP/RSMblSL5Jr9UMvFZcr9UMvFZcr9UMvFZMr9SK5Vj+u1Msf4e/vW+o0joxwERaLh7NLsBtX6kVyrX7opWJypV4k1+qHXiouV+qHXiouV+qHXiomV+pFcq1+XKkXRyGMAAAAAAAApiKMAAAAAAAApiKMAAAAAAAApiKMAAAAAAAApiKMAAAAAAAApiKMAAAAAAAApiKMAAAAAAAApiKMAAAAAAAApiKMAAAAAAAApiKMAAAAAAAApiKMAAAAAAAAprI4u4A/o5Wbf7X7mN7eXsrOzrXrmF3CAuw6HgAAAAAAEkdGAAAAAAAAkxFGAAAAAAAAUxFGAAAAAAAAUxFGAAAAAAAAUzksjLBarRo9erSioqIUExOj1NTUa+a5ePGioqOjlZKSIknKz8/X0KFD1b17d3Xt2lXr1q1zVHkAAAAAAMBJHBZGrF27Vnl5eUpKStKQIUOUkJBQbPru3bv19NNP68iRI7b7Vq1aJT8/P3300Ud6++23NW7cOEeVBwAAAAAAnMRhYcTOnTsVFhYmSQoODtaePXuKTc/Ly9PcuXMVEPC/n49s3769Xn75ZUmSYRjy8PBwVHkAAAAAAMBJLI4aOCsrSz4+PrbbHh4eKigokMVyeZWhoaHXLOPt7W1bdsCAARo4cOB111OjRlVZLDdWaOHt7XVDjOvv72vX8W6UdTuCK/VDLxWTK/UiuVY/9FJxuVI/9FJxuVI/9FIxuVIvkmv140q9OILDwggfHx9lZ2fbblutVlsQUZa0tDT169dP3bt3V+fOna87f0ZGzh+q0xmys3PtPqa3t5fdx01Pv2DX8crL39/Xaet2BFfqh14qJlfqRXKtfuil4nKlfuil4nKlfuilYnKlXiTX6seVevkjygpkHHaaRkhIiDZt2iRJSk5OVlBQ0HWXOX36tJ599lkNHTpUXbt2dVRpAAAAAADAiRx2ZETbtm21ZcsWRUdHyzAMxcfHa/Xq1crJyVFUVFSJyyxYsEDnz5/XvHnzNG/ePEnSwoULVblyZUeVCQAAAAAATOawMMLd3V1jx44tdl9gYOA18yUmJtr+HxcXp7i4OEeVBAAAAAAAKgCHnaYBAAAAAABQEsIIAAAAAABgKsIIAAAAAABgKsIIAAAAAABgKsIIAAAAAABgKsIIAAAAAABgKsIIAAAAAABgKsIIAAAAAABgKsIIAAAAAABgKsIIAAAAAABgKsIIAAAAAABgKsIIAAAAAABgKsIIAAAAAABgKsIIAAAAAABgKsIIAAAAAABgKsIIAAAAAABgKsIIAAAAAABgKsIIAAAAAABgKsIIAAAAAABgKsIIAAAAAABgKsIIAAAAAABgKsIIAAAAAABgKsIIAAAAAABgKsIIAAAAAABgKsIIAAAAAABgKsIIAAAAAABgKsIIAAAAAABgKsIIAAAAAABgKsIIAAAAAABgKsIIAAAAAABgKouzC8CNb+XmX+06nre3l7Kzc+06ZpewALuOBwAAAAD4/TgyAgAAAAAAmIowAgAAAAAAmIowAgAAAAAAmMphYYTVatXo0aMVFRWlmJgYpaamXjPPxYsXFR0drZSUlHIvAwAAAAAAbmwOCyPWrl2rvLw8JSUlaciQIUpISCg2fffu3Xr66ad15MiRci8DAAAAAABufA4LI3bu3KmwsDBJUnBwsPbs2VNsel5enubOnauAgIByLwMAAAAAAG58Dvtpz6ysLPn4+Nhue3h4qKCgQBbL5VWGhob+5mVKUqNGVVksHnas3PG8vb1uiHH9/X2dsl5HjFneXhzF2eu3J3qpmFypF8m1+qGXisuV+qGXisuV+qGXismVepFcqx9X6sURHBZG+Pj4KDs723bbarWWGSr83mUyMnL+WKFOkJ2da/cxvb297D5uevqFcs1n7/U6sxdH8Pf3der67YleKiZX6kVyrX7opeJypX7opeJypX7opWJypV4k1+rHlXr5I8oKZBx2mkZISIg2bdokSUpOTlZQUJBDlgEAAAAAADcWhx0Z0bZtW23ZskXR0dEyDEPx8fFavXq1cnJyFBUVVe5lAAAAAACAa3FYGOHu7q6xY8cWuy8wMPCa+RITE8tcBgAAAAAAuBaHnaYBAAAAAABQEocdGQHciFZu/tXuY9r7gpxdwgKuPxMAAAAAVGAcGQEAAAAAAExFGAEAAAAAAExFGAEAAAAAAExFGAEAAAAAAExFGAEAAAAAAExFGAEAAAAAAExFGAEAAAAAAExFGAEAAAAAAExFGAEAAAAAAExFGAEAAAAAAExFGAEAAAAAAExFGAEAAAAAAExFGAEAAAAAAExFGAEAAAAAAExFGAEAAAAAAExFGAEAAAAAAExFGAEAAAAAAExFGAEAAAAAAExFGAEAAAAAAExFGAEAAAAAAExFGAEAAAAAAExFGAEAAAAAAExFGAEAAAAAAExFGAEAAAAAAExFGAEAAAAAAExFGAEAAAAAAExFGAEAAAAAAExFGAEAAAAAAExFGAEAAAAAAExFGAEAAAAAAExFGAEAAAAAAExFGAEAAAAAAExlcdTAVqtVY8aM0f79++Xp6anx48erYcOGtunr16/X3LlzZbFYFBkZqW7duik/P1+xsbE6duyY3N3dNW7cOAUGBjqqRAAAAAAA4AQOOzJi7dq1ysvLU1JSkoYMGaKEhATbtPz8fE2cOFGLFi1SYmKikpKSdPr0aW3cuFEFBQX617/+pX79+mnGjBmOKg8AAAAAADiJw46M2Llzp8LCwiRJwcHB2rNnj21aSkqKGjRooOrVq0uSQkNDtX37dgUFBamwsFBWq1VZWVmyWBxWHgAAAAAAcBKHfdvPysqSj4+P7baHh4cKCgpksViUlZUlX19f2zRvb29lZWWpatWqOnbsmDp06KCMjAwtWLDguuupUaOqLBYPh/TgKN7eXjfEuP7+vtefyQHrdcSYzuzF3uOWtxdHcfb67YleKi5X6odeKi5X6odeKi5X6odeKiZX6kVyrX5cqRdHcFgY4ePjo+zsbNttq9VqO9Lh6mnZ2dny9fXVu+++qxYtWmjIkCFKS0tTr169tHr1anl5lf5FLiMjx1EtOEx2dq7dx/T29rL7uOnpF8o1n73X60q9SPbvp7y9OIK/v69T129P9FJxuVI/9FJxuVI/9FJxuVI/9FIxuVIvkmv140q9/BFlBTIOu2ZESEiINm3aJElKTk5WUFCQbVpgYKBSU1OVmZmpvLw87dixQ02bNlW1atVsR0xUr15dBQUFKiwsdFSJAAAAAADACRx2ZETbtm21ZcsWRUdHyzAMxcfHa/Xq1crJyVFUVJRiY2PVu3dvGYahyMhI1alTR88884xGjBih7t27Kz8/X4MGDVLVqlUdVSIAAAAAAHACh4UR7u7uGjt2bLH7rvyZzvDwcIWHhxeb7u3trZkzZzqqJAAAAAAAUAE47DQNAAAAAACAkhBGAAAAAAAAUxFGAAAAAAAAUxFGAAAAAAAAUxFGAAAAAAAAUxFGAAAAAAAAUxFGAAAAAAAAUxFGAAAAAAAAUxFGAAAAAAAAU1mcXQAAx1i5+Ve7j+nt7aXs7Fy7jdclLMBuYwEAAAC4cXBkBAAAAAAAMBVhBAAAAAAAMBVhBAAAAAAAMBVhBAAAAAAAMBVhBAAAAAAAMBVhBAAAAAAAMFW5f9pz48aN+uabb1RQUKDmzZurTZs2jqwLAAAAAAC4qHIdGbFw4ULNmTNHdevWVb169bRgwQItWLDA0bUBAAAAAAAXVK4jI1atWqWlS5eqcuXKkqRu3brpiSeeUN++fR1aHAAAAAAAcD3lOjLCMAxbECFJXl5esljKfYYHAAAAAACATbkShQceeED9+/fX448/Lkn6+OOP1bx5c4cWBgAAAAAAXFO5woiRI0dq8eLFWrlypQzD0AMPPKCoqChH1wYAAAAAAFxQucIINzc3tWnTRt27d9f27dt14MAB5eXlcaoGAAAAAAD4zcp1zYjXXntN8+fP1y+//KKhQ4dq7969Gj58uKNrAwAAAAAALqhchzbs3r1by5cv15w5cxQZGan+/fsrMjLS0bUBgM3Kzb/adTxvby9lZ+fadcwuYQF2HQ8AAABwVeU6MqKwsFBWq1Xr1q1Ty5YtdfHiRV28eNHRtQEAAAAAABdUrjCiS5cuatGihW699Vbdd999euKJJ7iAJQAAAAAA+F3KdZrG3//+d/Xs2VMeHh6SpA8//FA1a9Z0aGEAAAAAAMA1levIiGPHjukf//iH2rVrp1OnTmngwIE6evSoo2sDAAAAAAAuqFxhxOjRo9W7d29VrVpV/v7+ioiI4Nc0AAAAAADA71KuMCIjI0MtWrSQJLm5ualbt27KyspyaGEAAAAAAMA1lSuMqFy5sk6cOCE3NzdJ0o4dO+Tp6enQwgAAAAAAgGsq1wUsX331VT3//PM6fPiwHnvsMZ07d04zZ850dG0AAAAAAMAFlRlGnDx5UuPGjVNqaqqaNGmiUaNGycfHRwEBAdc9MsJqtWrMmDHav3+/PD09NX78eDVs2NA2ff369Zo7d64sFosiIyPVrVs3SdKbb76p9evXKz8/X0899ZSefPJJO7QJAAAAAAAqijJP0xgxYoQCAgI0dOhQWa1WLV++XI0bNy7XKRpr165VXl6ekpKSNGTIECUkJNim5efna+LEiVq0aJESExOVlJSk06dPa9u2bdq1a5cWL16sxMREnThx4o93CAAAAAAAKpTrHhnxzjvvSJIefPBBdenSpdwD79y5U2FhYZKk4OBg7dmzxzYtJSVFDRo0UPXq1SVJoaGh2r59u3788UcFBQWpX79+ysrK0rBhw35zQwBQ0a3c/Ktdx/P29lJ2dq5dx+wSFmDX8QAAAIArlRlGVKpUqdj/r7x9PVlZWfLx8bHd9vDwUEFBgSwWi7KysuTr62ub5u3traysLGVkZOj48eNasGCBjh49qhdeeEGff/657cKZJalRo6osFo9y11UReHt73RDj+vv7Xn8mB6zXEWM6sxd7j/tn7MXe63XUmH/GfcZRnL1+e6KXisuV+qGXisuV+qGXismVepFcqx9X6sURynUByyJlhQJX8/HxUXZ2tu221WqVxWIpcVp2drZ8fX3l5+dnux5FQECAvLy8dPbsWdWqVavU9WRk5PyWFioEe/8FU3LMX0bT0y+Uaz57r9eVepHs38+fsReJ51lZnNmLI/j7+zp1/fZELxWXK/VDLxWXK/VDLxWTK/UiuVY/rtTLH1FWIFPmNSN+/vlnPfroo7Z/RbfDw8P16KOPlrnSkJAQbdq0SZKUnJysoKAg27TAwEClpqYqMzNTeXl52rFjh5o2barQ0FBt3rxZhmHo5MmTunjxovz8/H5LrwAAAAAAoIIr88iIL7744ncP3LZtW23ZskXR0dEyDEPx8fFavXq1cnJyFBUVpdjYWPXu3VuGYSgyMlJ16tRRnTp1tH37dnXt2lWGYWj06NHy8LixTsEAAAAAAABlKzOMuPXWW3/3wO7u7ho7dmyx+wIDA23/Dw8PV3h4+DXLcdFKAAAAAABcW5mnaQAAAAAAANgbYQQAAAAAADAVYQQAAAAAADAVYQQAAAAAADAVYQQAAAAAADAVYQQAAAAAADAVYQQAAAAAADCVxdkFAABuXCs3/2r3Mb29vZSdnWu38bqEBdhtLAAAANgHR0YAAAAAAABTEUYAAAAAAABTEUYAAAAAAABTEUYAAAAAAABTEUYAAAAAAABT8WsaAAD8f/b+dRB7/zKIxK+DAAAA18CREQAAAAAAwFSEEQAAAAAAwFSEEQAAAAAAwFSEEQAAAAAAwFRcwBIAABfExTgBAEBFxpERAAAAAADAVIQRAAAAAADAVIQRAAAAAADAVIQRAAAAAADAVFzAEgAAVGj2vhinZP8LcnIxTgAAfhuOjAAAAAAAAKYijAAAAAAAAKYijAAAAAAAAKYijAAAAAAAAKYijAAAAAAAAKYijAAAAAAAAKbipz0BAABMws+UAgBwGUdGAAAAAAAAUxFGAAAAAAAAUxFGAAAAAAAAUzksjLBarRo9erSioqIUExOj1NTUYtPXr1+vyMhIRUVFacmSJcWmnTlzRo888ohSUlIcVR4AAAAAAHASh4URa9euVV5enpKSkjRkyBAlJCTYpuXn52vixIlatGiREhMTlZSUpNOnT9umjR49WpUrV3ZUaQAAAAAAwIkc9msaO3fuVFhYmCQpODhYe/bssU1LSUlRgwYNVL16dUlSaGiotm/frg4dOmjSpEmKjo7WW2+95ajSAAAAYAf2/nUQe/8yiFT+Xwfhl04AwFwOCyOysrLk4+Nju+3h4aGCggJZLBZlZWXJ19fXNs3b21tZWVlasWKFatasqbCwsHKHETVqVJXF4mH3+h3J29vrhhjX39/3+jM5YL2OGNOZvdh73D9jL/Zer6PGZJ+xH55npeN5Zj+8NpeMfca+nLVtHMHZ67cneqm4XKkfV+rFERwWRvj4+Cg7O9t222q1ymKxlDgtOztbvr6+SkxMlJubm7Zu3ap9+/Zp+PDhmj9/vvz9/UtdT0ZGjqNacBh7J/6R+ihRAAAgAElEQVSSY/6SkJ5+oVzz2Xu9rtSLZP9+/oy9SDzPyuJKvUg8z66H55l98NpcOvYZ+3HmtrE3f39fp67fnuil4nKlflyplz+irEDGYWFESEiINmzYoI4dOyo5OVlBQUG2aYGBgUpNTVVmZqaqVq2qHTt2qHfv3mrfvr1tnpiYGI0ZM6bMIAIAAAAAANx4HBZGtG3bVlu2bFF0dLQMw1B8fLxWr16tnJwcRUVFKTY2Vr1795ZhGIqMjFSdOnUcVQoAAAAAAKhAHBZGuLu7a+zYscXuCwwMtP0/PDxc4eHhpS6fmJjoqNIAAAAAAIATOeynPQEAAAAAAEpCGAEAAAAAAExFGAEAAAAAAExFGAEAAAAAAExFGAEAAAAAAExFGAEAAAAAAEzlsJ/2BAAAAGC+lZt/tfuY3t5eys7Otdt4XcICyj2vvfuxdy/Sb+sHwGUcGQEAAAAAAExFGAEAAAAAAExFGAEAAAAAAExFGAEAAAAAAExFGAEAAAAAAExFGAEAAAAAAExFGAEAAAAAAExFGAEAAAAAAExFGAEAAAAAAExFGAEAAAAAAExFGAEAAAAAAExFGAEAAAAAAExlcXYBAAAAAPBnsHLzr3Ydz9vbS9nZuXYds0tYQLnms3cvkv37KW8vcA6OjAAAAAAAAKYijAAAAAAAAKYijAAAAAAAAKYijAAAAAAAAKYijAAAAAAAAKYijAAAAAAAAKYijAAAAAAAAKYijAAAAAAAAKYijAAAAAAAAKYijAAAAAAAAKYijAAAAAAAAKYijAAAAAAAAKYijAAAAAAAAKayOLsAAAAAAACcaeXmX+06nre3l7Kzc+06ZpewALuO52wOCyOsVqvGjBmj/fv3y9PTU+PHj1fDhg1t09evX6+5c+fKYrEoMjJS3bp1U35+vkaMGKFjx44pLy9PL7zwgh599FFHlQgAAAAAAJzAYWHE2rVrlZeXp6SkJCUnJyshIUHz58+XJOXn52vixIlatmyZqlSpoqeeekrh4eHauHGj/Pz8NGXKFGVmZqpLly6EEQAAAAAAuBiHhRE7d+5UWFiYJCk4OFh79uyxTUtJSVGDBg1UvXp1SVJoaKi2b9+u9u3b669//askyTAMeXh4OKo8AAAAAADgJA4LI7KysuTj42O77eHhoYKCAlksFmVlZcnX19c2zdvbW1lZWfL29rYtO2DAAA0cOPC666lRo6oslhsrtPD29rohxvX3973+TA5YryPGdGYv9h73z9iLvdfrqDHZZ+yH51npeJ7ZD6/NJWOfsS+eZyXjeWY/rtSLvcf9sz7PbhQOCyN8fHyUnZ1tu221WmWxWEqclp2dbQsn0tLS1K9fP3Xv3l2dO3e+7noyMnLsXLnj2ftCJpJjLpCSnn6hXPPZe72u1Itk/37+jL1IPM/K4kq9SDzProfnmX3w2lw69hn74XlWOp5n9uFKvUg8z67nt/RTUZQVoDjspz1DQkK0adMmSVJycrKCgoJs0wIDA5WamqrMzEzl5eVpx44datq0qU6fPq1nn31WQ4cOVdeuXR1VGgAAAAAAcCKHHRnRtm1bbdmyRdHR0TIMQ/Hx8Vq9erVycnIUFRWl2NhY9e7dW4ZhKDIyUnXq1NH48eN1/vx5zZs3T/PmzZMkLVy4UJUrV3ZUmQAAAAAAwGQOCyPc3d01duzYYvcFBgba/h8eHq7w8PBi0+Pi4hQXF+eokgAAAAAAQAXgsNM0AAAAAAAASkIYAQAAAAAATEUYAQAAAAAATEUYAQAAAAAATEUYAQAAAAAATEUYAQAAAAAATEUYAQAAAAAATEUYAQAAAAAATEUYAQAAAAAATEUYAQAAAAAATEUYAQAAAAAATEUYAQAAAAAATEUYAQAAAAAATEUYAQAAAAAATEUYAQAAAAAATEUYAQAAAAAATEUYAQAAAAAATEUYAQAAAAAATEUYAQAAAAAATEUYAQAAAAAATEUYAQAAAAAATEUYAQAAAAAATEUYAQAAAAAATEUYAQAAAAAATEUYAQAAAAAATEUYAQAAAAAATEUYAQAAAAAATEUYAQAAAAAATEUYAQAAAAAATEUYAQAAAAAATEUYAQAAAAAATEUYAQAAAAAATEUYAQAAAAAATEUYAQAAAAAATOWwMMJqtWr06NGKiopSTEyMUlNTi01fv369IiMjFRUVpSVLlpRrGQAAAAAAcONzWBixdu1a5eXlKSkpSUOGDFFCQoJtWn5+viZOnKhFixYpMTFRSUlJOn36dJnLAAAAAAAA12Bx1MA7d+5UWFiYJCk4OFh79uyxTUtJSVGDBg1UvXp1SVJoaKi2b9+u5OTkUpcBAAAAAACuwc0wDMMRA48cOVLt2rXTI488Iklq1aqV1q5dK4vFoh07duiDDz7QjBkzJEkzZ87ULbfcouTk5FKXAQAAAAAArsFhp2n4+PgoOzvbdttqtdpChaunZWdny9fXt8xlAAAAAACAa3BYGBESEqJNmzZJkpKTkxUUFGSbFhgYqNTUVGVmZiovL087duxQ06ZNy1wGAAAAAAC4BoedpmG1WjVmzBgdOHBAhmEoPj5eP/74o3JychQVFaX169dr7ty5MgxDkZGRevrpp0tcJjAw0BHlAQAAAAAAJ3FYGAEAAAAAAFASh52mAQAAAAAAUBLCCAAAAAAAYCrCiBvE0aNH1a1bN8XGxur+++9XXl6ebdrevXvVqFEjbdu2TZL0888/q0+fPoqJiVFkZKRmzZolZ5+Ns23bNjVq1Ehr1qwpdn/nzp0VGxvrpKr+uEGDBhXbFjey3NxcLV26tNTp4eHhys3NVWxsrO1Cs2ZbsWKFpk6d6pR1l8aZj8fUqVO1YsWKcs27adMmp+xrCQkJiomJUfv27dWqVSvFxMRowIABptdRkZS2r02YMEHHjx/X7NmztXjxYidU9ttNmjRJo0ePtt0uLCxUt27dtHHjxlKXefjhh80orUTbtm3ToEGD7D7u9V4/zRATE6MOHToUu+/LL79Uo0aNdPToUSdV5RpK2r7p6ekaM2aMcwpCucXExCglJaXMeZz5mvR7OfOzhzM46rW7vEr6/OlK3wGciTDiBuTv71/sBWj16tWqX7++JOn8+fMaPHiwRowYocTERC1ZskQHDhzQv/71L2eVaxMQEFAsjNi/f78uXrzoxIr+uOnTp8vT09PZZdhFenq60z9Mw/XExsYqMTFRffr0UUREhBITEzVr1ixnl+VUpe1rI0eO1C233OKEin6/gQMH6rvvvtPXX38tSXrnnXd077336pFHHnFyZeaqSK+f+/bts/1/zZo1uvXWW51YjWsoafv6+/sTRgB/Yq70HcCZLM4uAL9dp06d9Mknn6hNmzayWq3au3ev7r33XknSunXr1Lx5c912222SJA8PD02aNEmVKlVyYsWXNW7cWAcPHtSFCxfk6+urVatWqXPnzkpLS9PDDz+sLVu2SLqcNEZHR6t27dp69dVXZbFYZLVa9cYbb+jmm2/WuHHj9MMPPyg/P1/9+/dXmzZtTKl/xYoVWrt2rbKzs5WRkaF+/fpp0qRJ+uyzz3T27FmNGjVKubm58vLy0rhx41RYWKgXXnhBfn5+atmypTZt2qTGjRvr559/VlZWlmbOnKlbb71Vb7zxhvbs2aPMzEw1btxYEydONKWfqy1YsEC//PKL5syZoz179ig3N1fp6ekaOHBgiY9xVlaWRo4cqQsXLujUqVPq3r27unfv7vA6k5OT1atXL2VlZal///5q1aqVIiIidNttt6lSpUoaPny4xowZU6z+Fi1a6LnnnpMkFRQU6Pvvv9cXX3yhw4cPa8aMGfLy8pKfn5/i4+NVrVo127pmz56tXbt2KScnRxMmTNDXX3+tTz75RG5uburYsaN69uzp0F7z8/P12muvKTU1VVarVQMHDlRmZqbmz5+vmjVrKj8/XwEBASosLNTo0aN14sQJnTp1SuHh4Ro0aJBSUlI0YsQIValSRVWqVFH16tUdWu9vMWHCBCUnJ0uSHnvsMfXo0UOvvPKKsrKylJmZqbffflsTJkzQqVOndOrUKbVr1079+/fXSy+9pEceeUSdOnXSU089pUmTJqlx48YOr/fSpUt69dVXdfz4ceXn52vUqFE6ePCgli9fLqvVqgEDBigzM1Pvvvuu3N3dFRoaqldeeUU7d+7UpEmTZLFYVKVKFc2cObPYvvbSSy/Z1hETE/OHv9xcunRJw4YN06lTp1S3bl1t375dX331lWJiYlSzZk2dO3dOs2fPVlxc3DX77ocffqiVK1fK3d1d9957r+Li4nTgwAElJCSosLBQGRkZGjNmjEJCQmzr8/Ly0qRJkzR48GDNnDlTn3/+ue2ojtjYWHXs2NH2+vfpp58qISFBeXl5GjJkiI4fPy4/Pz/NmjWrzPeoFStWaMOGDbp06ZLS09PVs2dPrVu3Tj///LOGDRumNm3alPs95EqrVq3Se++9J09PT912220aO3ZssTpK671du3YKCQnRwYMHVatWLc2ePbvUbXplD1e/f/z1r3/Vt99+q+nTp8vDw0P169fX2LFjdfTo0Wvqrlu3rhISErRz505JUkREhHr16nXNeoo+H9x11106f/68cnNzddNNN0m6/Hp200036amnnlJKSorGjBmjxMRETZ8+Xdu2bVNBQYHatWunPn366Pvvv1d8fLysVqvq1KmjqVOnqnLlyuV9Gpa6Ha9+DGrUqGHX/h2laPs2btxYDz30kO094dVXX9WSJUu0YcMGzZkzR4Zh6J577tHrr7+uHTt2XNPb6tWrS3welLQNzHDw4MFij3XRUU3Tp0+XJNt+FRsbK8MwlJaWppycHE2aNEleXl7FPuPcd999tscgOztbb7zxhm6//XZT+ihS0ucSSZo1a5YyMjLk6empyZMnq3r16ho1apR++eUX1a9f3/bX7aNHj2rEiBEqLCyUm5ub4uLiTHl/uVJ5t4kkffTRR3rnnXdUWFioCRMmqGHDhkpMTLzmc8qXX36phQsXymKxqHbt2po+fbrc3c35e/T1Xr9fe+01u792O8rVnz/Hjh2rzz77TGlpaYqLi1N+fr4qV66s6dOnKzc3t8TvBS+//LL8/f118uRJtWzZUoMGDXLq9qkICCNuQE2aNNGXX36pnJwcJScnq3nz5rZD0E6dOmU7SqKIt7e3M8osUbt27fTll1/qiSee0A8//KDnnntOaWlpJc779ddfq0mTJho6dKh27NihCxcuaM+ePcrIyNCyZct07tw5/fOf/zQtjJCkixcv6p///KfOnj2rJ598UoWFhZIuH6ocExOjRx55RFu3btXUqVM1aNAgpaena/ny5fL09NSmTZvUpEkTjRw5UtOnT9eaNWvUvXt3VatWTf/85z9ltVrVqVMnnTx5UnXq1DGtpyJ9+/bVgQMHFBISombNmql58+b67rvvNHv27BIf49TUVHXq1Ent2rXTyZMnFRMTY0oYUaVKFb311lu2bdCyZUvl5OToxRdf1N13362vv/5af//736+pPzExUYZhaOjQoXr88cdVr1499erVS4sXL1adOnX03nvvaf78+Ro+fHix9QUEBCguLk6//PKLPv30U3300UeSpL///e9q0aKFQ3tdunSpatSoofj4eGVkZKhHjx7KycnRihUr5OfnZ/vAmpaWpuDgYD355JPKzc21vcFNnjxZAwYM0MMPP6y33npLv/76q0PrLa+1a9fq1KlTWrJkifLz8xUdHa0HHnhA0uUPWjExMTpy5IhCQ0PVtWtXXbp0Sa1atVL//v01fvx49ejRQxs3blSPHj1M+6D4r3/9S7feequmT5+uQ4cO6b///a+qVaumatWqaf78+crMzFT37t21fPlyValSRUOHDtWWLVv01VdfqUOHDurVq5fWr1+v8+fP2/a1kr60/lFJSUmqV6+eZs2apZSUFEVERNimRUREqG3bttq7d2+J++6KFSv02muvqUmTJvroo49UUFCgX375RcOHD1ejRo20evVqrVixolgYIUn33HOPOnfurGeeeUbvvvuuvLy8yqwxJydHgwYNUr169RQTE6N9+/apSZMmZS6TnZ2tRYsWac2aNXr33Xe1ZMkSbdu2Te+//36p7wElvYcUycjI0OzZs/Xxxx/Lx8dH8fHxSkpKUo8ePWzzlNb7kSNH9N5776lu3bqKjo7W7t27y7VNr37/CA8P16hRo/TRRx+pVq1amjFjhj7++GPl5+dfU/dPP/2ko0ePasmSJSooKFD37t31wAMPqFGjRsXWER4eruHDh+uVV17RF198ofbt29tes0qzevVqvf/++6pdu7bttK/Ro0dr2rRpCgwM1NKlS5WSkqJ77rmnzHHK4+rHwN3dXUuWLLFb/45StH3DwsJ07tw5xcXF2U59KSgo0Lhx47R06VLVqlVLCxcuVFpaWonb1mKxXPMYPProoyVuAzNcvY+UdTpD/fr1NWnSJG3cuFFTpkxRXFxcsc84H374oaZMmaI6depowYIF+vzzz/XCCy+Y1otU8ueSOnXqqF27durUqZM+/PBDvfnmm2ratKlyc3O1ZMkSHT9+XF988YUkafLkyerZs6fatGmjffv2acSIEaZuD+m3bZOQkBD16dPHtk0GDhxY4ueUTz75RL1791b79u21cuVKZWVlFfvDi6OV9fpdkj/62u0oV3/+tFqtki5/B+jTp49atmypdevW6ccff9SyZctK/F5w7NgxvfPOO/L19VX37t21d+9ep28fZyOMuEE9+uijWrdunb7++mu9+OKLmjZtmiTplltu0Y8//lhs3iNHjujEiRNq1qyZM0otpnPnzhozZozq16+v+++/v8R5iq5v0bVrVy1cuFD/+Mc/5Ovrq0GDBungwYMKDg6WJFWvXl0DBw40rXZJatasmdzd3XXTTTepWrVqtjeJAwcO6M0339Tbb78twzBksVzeterVq1fsEK67775bknTzzTfr9OnT8vLy0tmzZzV48GBVrVpV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\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x11b741e10>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"clf, dt_weights = train_test(X, y)\n",
"plot_weights(dt_weights)"
]
},
{
"cell_type": "code",
"execution_count": 11,
"metadata": {},
"outputs": [
{
"data": {
"image/svg+xml": [
"<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>\n",
"<!DOCTYPE svg PUBLIC \"-//W3C//DTD SVG 1.1//EN\"\n",
" \"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd\">\n",
"<!-- Generated by graphviz version 2.38.0 (20140413.2041)\n",
" -->\n",
"<!-- Title: Tree Pages: 1 -->\n",
"<svg width=\"1368pt\" height=\"984pt\"\n",
" viewBox=\"0.00 0.00 1368.00 984.00\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\">\n",
"<g id=\"graph0\" class=\"graph\" transform=\"scale(1 1) rotate(0) translate(4 980)\">\n",
"<title>Tree</title>\n",
"<polygon fill=\"white\" stroke=\"none\" points=\"-4,4 -4,-980 1364,-980 1364,4 -4,4\"/>\n",
"<!-- 0 -->\n",
"<g id=\"node1\" class=\"node\"><title>0</title>\n",
"<path fill=\"#399de5\" fill-opacity=\"0.223529\" stroke=\"black\" d=\"M671.253,-976C671.253,-976 567.854,-976 567.854,-976 561.854,-976 555.854,-970 555.854,-964 555.854,-964 555.854,-910 555.854,-910 555.854,-904 561.854,-898 567.854,-898 567.854,-898 671.253,-898 671.253,-898 677.253,-898 683.253,-904 683.253,-910 683.253,-910 683.253,-964 683.253,-964 683.253,-970 677.253,-976 671.253,-976\"/>\n",
"<text text-anchor=\"start\" x=\"574.846\" y=\"-960.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">pierna ≤ 0.323</text>\n",
"<text text-anchor=\"start\" x=\"583.162\" y=\"-946.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">gini = 0.492</text>\n",
"<text text-anchor=\"start\" x=\"573.831\" y=\"-932.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">samples = 229</text>\n",
"<text text-anchor=\"start\" x=\"563.704\" y=\"-918.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">value = [159, 205]</text>\n",
"<text text-anchor=\"start\" x=\"564.107\" y=\"-904.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">class = No Lesion</text>\n",
"</g>\n",
"<!-- 1 -->\n",
"<g id=\"node2\" class=\"node\"><title>1</title>\n",
"<path fill=\"#e58139\" fill-opacity=\"0.662745\" stroke=\"black\" d=\"M570.359,-862C570.359,-862 464.747,-862 464.747,-862 458.747,-862 452.747,-856 452.747,-850 452.747,-850 452.747,-796 452.747,-796 452.747,-790 458.747,-784 464.747,-784 464.747,-784 570.359,-784 570.359,-784 576.359,-784 582.359,-790 582.359,-796 582.359,-796 582.359,-850 582.359,-850 582.359,-856 576.359,-862 570.359,-862\"/>\n",
"<text text-anchor=\"start\" x=\"460.9\" y=\"-846.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">grasa Yuh ≤ 1.462</text>\n",
"<text text-anchor=\"start\" x=\"481.162\" y=\"-832.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">gini = 0.377</text>\n",
"<text text-anchor=\"start\" x=\"475.724\" y=\"-818.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">samples = 92</text>\n",
"<text text-anchor=\"start\" x=\"466.113\" y=\"-804.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">value = [110, 37]</text>\n",
"<text text-anchor=\"start\" x=\"473\" y=\"-790.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">class = Lesion</text>\n",
"</g>\n",
"<!-- 0&#45;&gt;1 -->\n",
"<g id=\"edge1\" class=\"edge\"><title>0&#45;&gt;1</title>\n",
"<path fill=\"none\" stroke=\"black\" d=\"M584.736,-897.769C576.448,-888.669 567.524,-878.87 558.972,-869.48\"/>\n",
"<polygon fill=\"black\" stroke=\"black\" points=\"561.535,-867.095 552.214,-862.058 556.359,-871.809 561.535,-867.095\"/>\n",
"<text text-anchor=\"middle\" x=\"551.047\" y=\"-882.831\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">True</text>\n",
"</g>\n",
"<!-- 20 -->\n",
"<g id=\"node21\" class=\"node\"><title>20</title>\n",
"<path fill=\"#399de5\" fill-opacity=\"0.709804\" stroke=\"black\" d=\"M772.946,-862C772.946,-862 670.161,-862 670.161,-862 664.161,-862 658.161,-856 658.161,-850 658.161,-850 658.161,-796 658.161,-796 658.161,-790 664.161,-784 670.161,-784 670.161,-784 772.946,-784 772.946,-784 778.946,-784 784.946,-790 784.946,-796 784.946,-796 784.946,-850 784.946,-850 784.946,-856 778.946,-862 772.946,-862\"/>\n",
"<text text-anchor=\"start\" x=\"683.463\" y=\"-846.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">talla ≤ 0.622</text>\n",
"<text text-anchor=\"start\" x=\"689.055\" y=\"-832.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">gini = 0.35</text>\n",
"<text text-anchor=\"start\" x=\"675.831\" y=\"-818.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">samples = 137</text>\n",
"<text text-anchor=\"start\" x=\"669.597\" y=\"-804.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">value = [49, 168]</text>\n",
"<text text-anchor=\"start\" x=\"666.107\" y=\"-790.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">class = No Lesion</text>\n",
"</g>\n",
"<!-- 0&#45;&gt;20 -->\n",
"<g id=\"edge20\" class=\"edge\"><title>0&#45;&gt;20</title>\n",
"<path fill=\"none\" stroke=\"black\" d=\"M654.371,-897.769C662.659,-888.669 671.583,-878.87 680.134,-869.48\"/>\n",
"<polygon fill=\"black\" stroke=\"black\" points=\"682.747,-871.809 686.893,-862.058 677.572,-867.095 682.747,-871.809\"/>\n",
"<text text-anchor=\"middle\" x=\"688.06\" y=\"-882.831\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">False</text>\n",
"</g>\n",
"<!-- 2 -->\n",
"<g id=\"node3\" class=\"node\"><title>2</title>\n",
"<path fill=\"#e58139\" fill-opacity=\"0.835294\" stroke=\"black\" d=\"M366.466,-748C366.466,-748 270.64,-748 270.64,-748 264.64,-748 258.64,-742 258.64,-736 258.64,-736 258.64,-682 258.64,-682 258.64,-676 264.64,-670 270.64,-670 270.64,-670 366.466,-670 366.466,-670 372.466,-670 378.466,-676 378.466,-682 378.466,-682 378.466,-736 378.466,-736 378.466,-742 372.466,-748 366.466,-748\"/>\n",
"<text text-anchor=\"start\" x=\"270.356\" y=\"-732.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">triceps ≤ &#45;1.029</text>\n",
"<text text-anchor=\"start\" x=\"282.162\" y=\"-718.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">gini = 0.242</text>\n",
"<text text-anchor=\"start\" x=\"276.724\" y=\"-704.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">samples = 79</text>\n",
"<text text-anchor=\"start\" x=\"266.597\" y=\"-690.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">value = [104, 17]</text>\n",
"<text text-anchor=\"start\" x=\"274\" y=\"-676.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">class = Lesion</text>\n",
"</g>\n",
"<!-- 1&#45;&gt;2 -->\n",
"<g id=\"edge2\" class=\"edge\"><title>1&#45;&gt;2</title>\n",
"<path fill=\"none\" stroke=\"black\" d=\"M452.669,-785.482C431.827,-773.752 408.671,-760.72 387.546,-748.83\"/>\n",
"<polygon fill=\"black\" stroke=\"black\" points=\"389.061,-745.667 378.63,-743.812 385.628,-751.767 389.061,-745.667\"/>\n",
"</g>\n",
"<!-- 15 -->\n",
"<g id=\"node16\" class=\"node\"><title>15</title>\n",
"<path fill=\"#399de5\" fill-opacity=\"0.701961\" stroke=\"black\" d=\"M568.946,-748C568.946,-748 466.161,-748 466.161,-748 460.161,-748 454.161,-742 454.161,-736 454.161,-736 454.161,-682 454.161,-682 454.161,-676 460.161,-670 466.161,-670 466.161,-670 568.946,-670 568.946,-670 574.946,-670 580.946,-676 580.946,-682 580.946,-682 580.946,-736 580.946,-736 580.946,-742 574.946,-748 568.946,-748\"/>\n",
"<text text-anchor=\"start\" x=\"471.301\" y=\"-732.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">muslo ≤ &#45;0.451</text>\n",
"<text text-anchor=\"start\" x=\"481.162\" y=\"-718.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">gini = 0.355</text>\n",
"<text text-anchor=\"start\" x=\"475.724\" y=\"-704.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">samples = 13</text>\n",
"<text text-anchor=\"start\" x=\"473.383\" y=\"-690.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">value = [6, 20]</text>\n",
"<text text-anchor=\"start\" x=\"462.107\" y=\"-676.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">class = No Lesion</text>\n",
"</g>\n",
"<!-- 1&#45;&gt;15 -->\n",
"<g id=\"edge15\" class=\"edge\"><title>1&#45;&gt;15</title>\n",
"<path fill=\"none\" stroke=\"black\" d=\"M517.553,-783.769C517.553,-775.57 517.553,-766.803 517.553,-758.28\"/>\n",
"<polygon fill=\"black\" stroke=\"black\" points=\"521.053,-758.058 517.553,-748.058 514.053,-758.059 521.053,-758.058\"/>\n",
"</g>\n",
"<!-- 3 -->\n",
"<g id=\"node4\" class=\"node\"><title>3</title>\n",
"<path fill=\"#e58139\" fill-opacity=\"0.262745\" stroke=\"black\" d=\"M230.68,-634C230.68,-634 142.426,-634 142.426,-634 136.426,-634 130.426,-628 130.426,-622 130.426,-622 130.426,-568 130.426,-568 130.426,-562 136.426,-556 142.426,-556 142.426,-556 230.68,-556 230.68,-556 236.68,-556 242.68,-562 242.68,-568 242.68,-568 242.68,-622 242.68,-622 242.68,-628 236.68,-634 230.68,-634\"/>\n",
"<text text-anchor=\"start\" x=\"143.401\" y=\"-618.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">abdo ≤ &#45;0.075</text>\n",
"<text text-anchor=\"start\" x=\"150.162\" y=\"-604.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">gini = 0.489</text>\n",
"<text text-anchor=\"start\" x=\"144.724\" y=\"-590.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">samples = 30</text>\n",
"<text text-anchor=\"start\" x=\"138.49\" y=\"-576.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">value = [23, 17]</text>\n",
"<text text-anchor=\"start\" x=\"142\" y=\"-562.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">class = Lesion</text>\n",
"</g>\n",
"<!-- 2&#45;&gt;3 -->\n",
"<g id=\"edge3\" class=\"edge\"><title>2&#45;&gt;3</title>\n",
"<path fill=\"none\" stroke=\"black\" d=\"M273.496,-669.769C262.451,-660.398 250.534,-650.287 239.17,-640.644\"/>\n",
"<polygon fill=\"black\" stroke=\"black\" points=\"241.297,-637.86 231.408,-634.058 236.769,-643.197 241.297,-637.86\"/>\n",
"</g>\n",
"<!-- 14 -->\n",
"<g id=\"node15\" class=\"node\"><title>14</title>\n",
"<path fill=\"#e58139\" stroke=\"black\" d=\"M359.16,-627C359.16,-627 277.947,-627 277.947,-627 271.947,-627 265.947,-621 265.947,-615 265.947,-615 265.947,-575 265.947,-575 265.947,-569 271.947,-563 277.947,-563 277.947,-563 359.16,-563 359.16,-563 365.16,-563 371.16,-569 371.16,-575 371.16,-575 371.16,-615 371.16,-615 371.16,-621 365.16,-627 359.16,-627\"/>\n",
"<text text-anchor=\"start\" x=\"289.948\" y=\"-611.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">gini = 0.0</text>\n",
"<text text-anchor=\"start\" x=\"276.724\" y=\"-597.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">samples = 49</text>\n",
"<text text-anchor=\"start\" x=\"274.383\" y=\"-583.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">value = [81, 0]</text>\n",
"<text text-anchor=\"start\" x=\"274\" y=\"-569.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">class = Lesion</text>\n",
"</g>\n",
"<!-- 2&#45;&gt;14 -->\n",
"<g id=\"edge14\" class=\"edge\"><title>2&#45;&gt;14</title>\n",
"<path fill=\"none\" stroke=\"black\" d=\"M318.553,-669.769C318.553,-659.313 318.553,-647.935 318.553,-637.315\"/>\n",
"<polygon fill=\"black\" stroke=\"black\" points=\"322.053,-637.01 318.553,-627.01 315.053,-637.01 322.053,-637.01\"/>\n",
"</g>\n",
"<!-- 4 -->\n",
"<g id=\"node5\" class=\"node\"><title>4</title>\n",
"<path fill=\"#e58139\" stroke=\"black\" d=\"M93.1597,-513C93.1597,-513 11.9467,-513 11.9467,-513 5.94672,-513 -0.0532766,-507 -0.0532766,-501 -0.0532766,-501 -0.0532766,-461 -0.0532766,-461 -0.0532766,-455 5.94672,-449 11.9467,-449 11.9467,-449 93.1597,-449 93.1597,-449 99.1597,-449 105.16,-455 105.16,-461 105.16,-461 105.16,-501 105.16,-501 105.16,-507 99.1597,-513 93.1597,-513\"/>\n",
"<text text-anchor=\"start\" x=\"23.9482\" y=\"-497.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">gini = 0.0</text>\n",
"<text text-anchor=\"start\" x=\"10.7241\" y=\"-483.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">samples = 12</text>\n",
"<text text-anchor=\"start\" x=\"8.38281\" y=\"-469.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">value = [13, 0]</text>\n",
"<text text-anchor=\"start\" x=\"8\" y=\"-455.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">class = Lesion</text>\n",
"</g>\n",
"<!-- 3&#45;&gt;4 -->\n",
"<g id=\"edge4\" class=\"edge\"><title>3&#45;&gt;4</title>\n",
"<path fill=\"none\" stroke=\"black\" d=\"M140.813,-555.769C126.869,-544.115 111.556,-531.315 97.6548,-519.697\"/>\n",
"<polygon fill=\"black\" stroke=\"black\" points=\"99.572,-516.738 89.6545,-513.01 95.0828,-522.109 99.572,-516.738\"/>\n",
"</g>\n",
"<!-- 5 -->\n",
"<g id=\"node6\" class=\"node\"><title>5</title>\n",
"<path fill=\"#399de5\" fill-opacity=\"0.411765\" stroke=\"black\" d=\"M237.946,-520C237.946,-520 135.161,-520 135.161,-520 129.161,-520 123.161,-514 123.161,-508 123.161,-508 123.161,-454 123.161,-454 123.161,-448 129.161,-442 135.161,-442 135.161,-442 237.946,-442 237.946,-442 243.946,-442 249.946,-448 249.946,-454 249.946,-454 249.946,-508 249.946,-508 249.946,-514 243.946,-520 237.946,-520\"/>\n",
"<text text-anchor=\"start\" x=\"145.732\" y=\"-504.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">abdo ≤ 0.081</text>\n",
"<text text-anchor=\"start\" x=\"150.162\" y=\"-490.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">gini = 0.466</text>\n",
"<text text-anchor=\"start\" x=\"144.724\" y=\"-476.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">samples = 18</text>\n",
"<text text-anchor=\"start\" x=\"138.49\" y=\"-462.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">value = [10, 17]</text>\n",
"<text text-anchor=\"start\" x=\"131.107\" y=\"-448.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">class = No Lesion</text>\n",
"</g>\n",
"<!-- 3&#45;&gt;5 -->\n",
"<g id=\"edge5\" class=\"edge\"><title>3&#45;&gt;5</title>\n",
"<path fill=\"none\" stroke=\"black\" d=\"M186.553,-555.769C186.553,-547.57 186.553,-538.803 186.553,-530.28\"/>\n",
"<polygon fill=\"black\" stroke=\"black\" points=\"190.053,-530.058 186.553,-520.058 183.053,-530.059 190.053,-530.058\"/>\n",
"</g>\n",
"<!-- 6 -->\n",
"<g id=\"node7\" class=\"node\"><title>6</title>\n",
"<path fill=\"#399de5\" fill-opacity=\"0.823529\" stroke=\"black\" d=\"M170.946,-406C170.946,-406 68.1606,-406 68.1606,-406 62.1606,-406 56.1606,-400 56.1606,-394 56.1606,-394 56.1606,-340 56.1606,-340 56.1606,-334 62.1606,-328 68.1606,-328 68.1606,-328 170.946,-328 170.946,-328 176.946,-328 182.946,-334 182.946,-340 182.946,-340 182.946,-394 182.946,-394 182.946,-400 176.946,-406 170.946,-406\"/>\n",
"<text text-anchor=\"start\" x=\"78.3564\" y=\"-390.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">supra ≤ &#45;0.28</text>\n",
"<text text-anchor=\"start\" x=\"83.1621\" y=\"-376.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">gini = 0.255</text>\n",
"<text text-anchor=\"start\" x=\"77.7241\" y=\"-362.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">samples = 14</text>\n",
"<text text-anchor=\"start\" x=\"75.3828\" y=\"-348.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">value = [3, 17]</text>\n",
"<text text-anchor=\"start\" x=\"64.1069\" y=\"-334.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">class = No Lesion</text>\n",
"</g>\n",
"<!-- 5&#45;&gt;6 -->\n",
"<g id=\"edge6\" class=\"edge\"><title>5&#45;&gt;6</title>\n",
"<path fill=\"none\" stroke=\"black\" d=\"M163.683,-441.769C158.508,-433.119 152.956,-423.838 147.596,-414.877\"/>\n",
"<polygon fill=\"black\" stroke=\"black\" points=\"150.458,-412.843 142.32,-406.058 144.45,-416.437 150.458,-412.843\"/>\n",
"</g>\n",
"<!-- 13 -->\n",
"<g id=\"node14\" class=\"node\"><title>13</title>\n",
"<path fill=\"#e58139\" stroke=\"black\" d=\"M294.16,-399C294.16,-399 212.947,-399 212.947,-399 206.947,-399 200.947,-393 200.947,-387 200.947,-387 200.947,-347 200.947,-347 200.947,-341 206.947,-335 212.947,-335 212.947,-335 294.16,-335 294.16,-335 300.16,-335 306.16,-341 306.16,-347 306.16,-347 306.16,-387 306.16,-387 306.16,-393 300.16,-399 294.16,-399\"/>\n",
"<text text-anchor=\"start\" x=\"224.948\" y=\"-383.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">gini = 0.0</text>\n",
"<text text-anchor=\"start\" x=\"215.617\" y=\"-369.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">samples = 4</text>\n",
"<text text-anchor=\"start\" x=\"213.276\" y=\"-355.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">value = [7, 0]</text>\n",
"<text text-anchor=\"start\" x=\"209\" y=\"-341.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">class = Lesion</text>\n",
"</g>\n",
"<!-- 5&#45;&gt;13 -->\n",
"<g id=\"edge13\" class=\"edge\"><title>5&#45;&gt;13</title>\n",
"<path fill=\"none\" stroke=\"black\" d=\"M209.423,-441.769C216.004,-430.769 223.195,-418.747 229.827,-407.662\"/>\n",
"<polygon fill=\"black\" stroke=\"black\" points=\"232.872,-409.389 235.003,-399.01 226.865,-405.795 232.872,-409.389\"/>\n",
"</g>\n",
"<!-- 7 -->\n",
"<g id=\"node8\" class=\"node\"><title>7</title>\n",
"<path fill=\"#e58139\" stroke=\"black\" d=\"M93.1597,-285C93.1597,-285 11.9467,-285 11.9467,-285 5.94672,-285 -0.0532766,-279 -0.0532766,-273 -0.0532766,-273 -0.0532766,-233 -0.0532766,-233 -0.0532766,-227 5.94672,-221 11.9467,-221 11.9467,-221 93.1597,-221 93.1597,-221 99.1597,-221 105.16,-227 105.16,-233 105.16,-233 105.16,-273 105.16,-273 105.16,-279 99.1597,-285 93.1597,-285\"/>\n",
"<text text-anchor=\"start\" x=\"23.9482\" y=\"-269.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">gini = 0.0</text>\n",
"<text text-anchor=\"start\" x=\"14.6172\" y=\"-255.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">samples = 1</text>\n",
"<text text-anchor=\"start\" x=\"12.2759\" y=\"-241.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">value = [1, 0]</text>\n",
"<text text-anchor=\"start\" x=\"8\" y=\"-227.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">class = Lesion</text>\n",
"</g>\n",
"<!-- 6&#45;&gt;7 -->\n",
"<g id=\"edge7\" class=\"edge\"><title>6&#45;&gt;7</title>\n",
"<path fill=\"none\" stroke=\"black\" d=\"M96.683,-327.769C90.1023,-316.769 82.911,-304.747 76.2796,-293.662\"/>\n",
"<polygon fill=\"black\" stroke=\"black\" points=\"79.2412,-291.795 71.1039,-285.01 73.234,-295.389 79.2412,-291.795\"/>\n",
"</g>\n",
"<!-- 8 -->\n",
"<g id=\"node9\" class=\"node\"><title>8</title>\n",
"<path fill=\"#399de5\" fill-opacity=\"0.882353\" stroke=\"black\" d=\"M237.946,-292C237.946,-292 135.161,-292 135.161,-292 129.161,-292 123.161,-286 123.161,-280 123.161,-280 123.161,-226 123.161,-226 123.161,-220 129.161,-214 135.161,-214 135.161,-214 237.946,-214 237.946,-214 243.946,-214 249.946,-220 249.946,-226 249.946,-226 249.946,-280 249.946,-280 249.946,-286 243.946,-292 237.946,-292\"/>\n",
"<text text-anchor=\"start\" x=\"131.739\" y=\"-276.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">brazo rel ≤ &#45;0.276</text>\n",
"<text text-anchor=\"start\" x=\"150.162\" y=\"-262.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">gini = 0.188</text>\n",
"<text text-anchor=\"start\" x=\"144.724\" y=\"-248.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">samples = 13</text>\n",
"<text text-anchor=\"start\" x=\"142.383\" y=\"-234.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">value = [2, 17]</text>\n",
"<text text-anchor=\"start\" x=\"131.107\" y=\"-220.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">class = No Lesion</text>\n",
"</g>\n",
"<!-- 6&#45;&gt;8 -->\n",
"<g id=\"edge8\" class=\"edge\"><title>6&#45;&gt;8</title>\n",
"<path fill=\"none\" stroke=\"black\" d=\"M142.423,-327.769C147.598,-319.119 153.15,-309.838 158.511,-300.877\"/>\n",
"<polygon fill=\"black\" stroke=\"black\" points=\"161.656,-302.437 163.786,-292.058 155.649,-298.843 161.656,-302.437\"/>\n",
"</g>\n",
"<!-- 9 -->\n",
"<g id=\"node10\" class=\"node\"><title>9</title>\n",
"<path fill=\"#e58139\" stroke=\"black\" d=\"M160.16,-171C160.16,-171 78.9467,-171 78.9467,-171 72.9467,-171 66.9467,-165 66.9467,-159 66.9467,-159 66.9467,-119 66.9467,-119 66.9467,-113 72.9467,-107 78.9467,-107 78.9467,-107 160.16,-107 160.16,-107 166.16,-107 172.16,-113 172.16,-119 172.16,-119 172.16,-159 172.16,-159 172.16,-165 166.16,-171 160.16,-171\"/>\n",
"<text text-anchor=\"start\" x=\"90.9482\" y=\"-155.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">gini = 0.0</text>\n",
"<text text-anchor=\"start\" x=\"81.6172\" y=\"-141.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">samples = 1</text>\n",
"<text text-anchor=\"start\" x=\"79.2759\" y=\"-127.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">value = [1, 0]</text>\n",
"<text text-anchor=\"start\" x=\"75\" y=\"-113.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">class = Lesion</text>\n",
"</g>\n",
"<!-- 8&#45;&gt;9 -->\n",
"<g id=\"edge9\" class=\"edge\"><title>8&#45;&gt;9</title>\n",
"<path fill=\"none\" stroke=\"black\" d=\"M163.683,-213.769C157.102,-202.769 149.911,-190.747 143.28,-179.662\"/>\n",
"<polygon fill=\"black\" stroke=\"black\" points=\"146.241,-177.795 138.104,-171.01 140.234,-181.389 146.241,-177.795\"/>\n",
"</g>\n",
"<!-- 10 -->\n",
"<g id=\"node11\" class=\"node\"><title>10</title>\n",
"<path fill=\"#399de5\" fill-opacity=\"0.941176\" stroke=\"black\" d=\"M304.946,-178C304.946,-178 202.161,-178 202.161,-178 196.161,-178 190.161,-172 190.161,-166 190.161,-166 190.161,-112 190.161,-112 190.161,-106 196.161,-100 202.161,-100 202.161,-100 304.946,-100 304.946,-100 310.946,-100 316.946,-106 316.946,-112 316.946,-112 316.946,-166 316.946,-166 316.946,-172 310.946,-178 304.946,-178\"/>\n",
"<text text-anchor=\"start\" x=\"210.401\" y=\"-162.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">edad ≤ &#45;0.423</text>\n",
"<text text-anchor=\"start\" x=\"217.162\" y=\"-148.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">gini = 0.105</text>\n",
"<text text-anchor=\"start\" x=\"211.724\" y=\"-134.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">samples = 12</text>\n",
"<text text-anchor=\"start\" x=\"209.383\" y=\"-120.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">value = [1, 17]</text>\n",
"<text text-anchor=\"start\" x=\"198.107\" y=\"-106.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">class = No Lesion</text>\n",
"</g>\n",
"<!-- 8&#45;&gt;10 -->\n",
"<g id=\"edge10\" class=\"edge\"><title>8&#45;&gt;10</title>\n",
"<path fill=\"none\" stroke=\"black\" d=\"M209.423,-213.769C214.598,-205.119 220.15,-195.838 225.511,-186.877\"/>\n",
"<polygon fill=\"black\" stroke=\"black\" points=\"228.656,-188.437 230.786,-178.058 222.649,-184.843 228.656,-188.437\"/>\n",
"</g>\n",
"<!-- 11 -->\n",
"<g id=\"node12\" class=\"node\"><title>11</title>\n",
"<path fill=\"#e58139\" stroke=\"black\" d=\"M227.16,-64C227.16,-64 145.947,-64 145.947,-64 139.947,-64 133.947,-58 133.947,-52 133.947,-52 133.947,-12 133.947,-12 133.947,-6 139.947,-0 145.947,-0 145.947,-0 227.16,-0 227.16,-0 233.16,-0 239.16,-6 239.16,-12 239.16,-12 239.16,-52 239.16,-52 239.16,-58 233.16,-64 227.16,-64\"/>\n",
"<text text-anchor=\"start\" x=\"157.948\" y=\"-48.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">gini = 0.0</text>\n",
"<text text-anchor=\"start\" x=\"148.617\" y=\"-34.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">samples = 1</text>\n",
"<text text-anchor=\"start\" x=\"146.276\" y=\"-20.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">value = [1, 0]</text>\n",
"<text text-anchor=\"start\" x=\"142\" y=\"-6.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">class = Lesion</text>\n",
"</g>\n",
"<!-- 10&#45;&gt;11 -->\n",
"<g id=\"edge11\" class=\"edge\"><title>10&#45;&gt;11</title>\n",
"<path fill=\"none\" stroke=\"black\" d=\"M229.175,-99.7956C223.563,-91 217.581,-81.625 211.927,-72.765\"/>\n",
"<polygon fill=\"black\" stroke=\"black\" points=\"214.739,-70.6645 206.409,-64.1172 208.838,-74.4299 214.739,-70.6645\"/>\n",
"</g>\n",
"<!-- 12 -->\n",
"<g id=\"node13\" class=\"node\"><title>12</title>\n",
"<path fill=\"#399de5\" stroke=\"black\" d=\"M371.946,-64C371.946,-64 269.161,-64 269.161,-64 263.161,-64 257.161,-58 257.161,-52 257.161,-52 257.161,-12 257.161,-12 257.161,-6 263.161,-0 269.161,-0 269.161,-0 371.946,-0 371.946,-0 377.946,-0 383.946,-6 383.946,-12 383.946,-12 383.946,-52 383.946,-52 383.946,-58 377.946,-64 371.946,-64\"/>\n",
"<text text-anchor=\"start\" x=\"291.948\" y=\"-48.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">gini = 0.0</text>\n",
"<text text-anchor=\"start\" x=\"279.24\" y=\"-34.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">samples = 11</text>\n",
"<text text-anchor=\"start\" x=\"276.383\" y=\"-20.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">value = [0, 17]</text>\n",
"<text text-anchor=\"start\" x=\"265.107\" y=\"-6.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">class = No Lesion</text>\n",
"</g>\n",
"<!-- 10&#45;&gt;12 -->\n",
"<g id=\"edge12\" class=\"edge\"><title>10&#45;&gt;12</title>\n",
"<path fill=\"none\" stroke=\"black\" d=\"M277.931,-99.7956C283.544,-91 289.526,-81.625 295.179,-72.765\"/>\n",
"<polygon fill=\"black\" stroke=\"black\" points=\"298.269,-74.4299 300.698,-64.1172 292.368,-70.6645 298.269,-74.4299\"/>\n",
"</g>\n",
"<!-- 16 -->\n",
"<g id=\"node17\" class=\"node\"><title>16</title>\n",
"<path fill=\"#399de5\" fill-opacity=\"0.949020\" stroke=\"black\" d=\"M507.946,-634C507.946,-634 405.161,-634 405.161,-634 399.161,-634 393.161,-628 393.161,-622 393.161,-622 393.161,-568 393.161,-568 393.161,-562 399.161,-556 405.161,-556 405.161,-556 507.946,-556 507.946,-556 513.946,-556 519.946,-562 519.946,-568 519.946,-568 519.946,-622 519.946,-622 519.946,-628 513.946,-634 507.946,-634\"/>\n",
"<text text-anchor=\"start\" x=\"407.687\" y=\"-618.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">grasa Yuh ≤ 2.0</text>\n",
"<text text-anchor=\"start\" x=\"420.162\" y=\"-604.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">gini = 0.091</text>\n",
"<text text-anchor=\"start\" x=\"414.724\" y=\"-590.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">samples = 10</text>\n",
"<text text-anchor=\"start\" x=\"412.383\" y=\"-576.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">value = [1, 20]</text>\n",
"<text text-anchor=\"start\" x=\"401.107\" y=\"-562.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">class = No Lesion</text>\n",
"</g>\n",
"<!-- 15&#45;&gt;16 -->\n",
"<g id=\"edge16\" class=\"edge\"><title>15&#45;&gt;16</title>\n",
"<path fill=\"none\" stroke=\"black\" d=\"M496.731,-669.769C492.02,-661.119 486.965,-651.838 482.085,-642.877\"/>\n",
"<polygon fill=\"black\" stroke=\"black\" points=\"485.138,-641.166 477.282,-634.058 478.991,-644.515 485.138,-641.166\"/>\n",
"</g>\n",
"<!-- 19 -->\n",
"<g id=\"node20\" class=\"node\"><title>19</title>\n",
"<path fill=\"#e58139\" stroke=\"black\" d=\"M631.16,-627C631.16,-627 549.947,-627 549.947,-627 543.947,-627 537.947,-621 537.947,-615 537.947,-615 537.947,-575 537.947,-575 537.947,-569 543.947,-563 549.947,-563 549.947,-563 631.16,-563 631.16,-563 637.16,-563 643.16,-569 643.16,-575 643.16,-575 643.16,-615 643.16,-615 643.16,-621 637.16,-627 631.16,-627\"/>\n",
"<text text-anchor=\"start\" x=\"561.948\" y=\"-611.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">gini = 0.0</text>\n",
"<text text-anchor=\"start\" x=\"552.617\" y=\"-597.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">samples = 3</text>\n",
"<text text-anchor=\"start\" x=\"550.276\" y=\"-583.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">value = [5, 0]</text>\n",
"<text text-anchor=\"start\" x=\"546\" y=\"-569.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">class = Lesion</text>\n",
"</g>\n",
"<!-- 15&#45;&gt;19 -->\n",
"<g id=\"edge19\" class=\"edge\"><title>15&#45;&gt;19</title>\n",
"<path fill=\"none\" stroke=\"black\" d=\"M542.472,-669.769C549.642,-658.769 557.477,-646.747 564.702,-635.662\"/>\n",
"<polygon fill=\"black\" stroke=\"black\" points=\"567.813,-637.299 570.341,-627.01 561.949,-633.476 567.813,-637.299\"/>\n",
"</g>\n",
"<!-- 17 -->\n",
"<g id=\"node18\" class=\"node\"><title>17</title>\n",
"<path fill=\"#399de5\" stroke=\"black\" d=\"M382.946,-513C382.946,-513 280.161,-513 280.161,-513 274.161,-513 268.161,-507 268.161,-501 268.161,-501 268.161,-461 268.161,-461 268.161,-455 274.161,-449 280.161,-449 280.161,-449 382.946,-449 382.946,-449 388.946,-449 394.946,-455 394.946,-461 394.946,-461 394.946,-501 394.946,-501 394.946,-507 388.946,-513 382.946,-513\"/>\n",
"<text text-anchor=\"start\" x=\"302.948\" y=\"-497.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">gini = 0.0</text>\n",
"<text text-anchor=\"start\" x=\"293.617\" y=\"-483.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">samples = 9</text>\n",
"<text text-anchor=\"start\" x=\"287.383\" y=\"-469.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">value = [0, 20]</text>\n",
"<text text-anchor=\"start\" x=\"276.107\" y=\"-455.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">class = No Lesion</text>\n",
"</g>\n",
"<!-- 16&#45;&gt;17 -->\n",
"<g id=\"edge17\" class=\"edge\"><title>16&#45;&gt;17</title>\n",
"<path fill=\"none\" stroke=\"black\" d=\"M413.885,-555.769C400.878,-544.115 386.593,-531.315 373.626,-519.697\"/>\n",
"<polygon fill=\"black\" stroke=\"black\" points=\"375.946,-517.077 366.163,-513.01 371.275,-522.29 375.946,-517.077\"/>\n",
"</g>\n",
"<!-- 18 -->\n",
"<g id=\"node19\" class=\"node\"><title>18</title>\n",
"<path fill=\"#e58139\" stroke=\"black\" d=\"M506.16,-513C506.16,-513 424.947,-513 424.947,-513 418.947,-513 412.947,-507 412.947,-501 412.947,-501 412.947,-461 412.947,-461 412.947,-455 418.947,-449 424.947,-449 424.947,-449 506.16,-449 506.16,-449 512.16,-449 518.16,-455 518.16,-461 518.16,-461 518.16,-501 518.16,-501 518.16,-507 512.16,-513 506.16,-513\"/>\n",
"<text text-anchor=\"start\" x=\"436.948\" y=\"-497.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">gini = 0.0</text>\n",
"<text text-anchor=\"start\" x=\"427.617\" y=\"-483.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">samples = 1</text>\n",
"<text text-anchor=\"start\" x=\"425.276\" y=\"-469.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">value = [1, 0]</text>\n",
"<text text-anchor=\"start\" x=\"421\" y=\"-455.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">class = Lesion</text>\n",
"</g>\n",
"<!-- 16&#45;&gt;18 -->\n",
"<g id=\"edge18\" class=\"edge\"><title>16&#45;&gt;18</title>\n",
"<path fill=\"none\" stroke=\"black\" d=\"M459.625,-555.769C460.474,-545.204 461.399,-533.698 462.26,-522.983\"/>\n",
"<polygon fill=\"black\" stroke=\"black\" points=\"465.749,-523.258 463.061,-513.01 458.772,-522.698 465.749,-523.258\"/>\n",
"</g>\n",
"<!-- 21 -->\n",
"<g id=\"node22\" class=\"node\"><title>21</title>\n",
"<path fill=\"#399de5\" fill-opacity=\"0.819608\" stroke=\"black\" d=\"M772.946,-748C772.946,-748 670.161,-748 670.161,-748 664.161,-748 658.161,-742 658.161,-736 658.161,-736 658.161,-682 658.161,-682 658.161,-676 664.161,-670 670.161,-670 670.161,-670 772.946,-670 772.946,-670 778.946,-670 784.946,-676 784.946,-682 784.946,-682 784.946,-736 784.946,-736 784.946,-742 778.946,-748 772.946,-748\"/>\n",
"<text text-anchor=\"start\" x=\"673.75\" y=\"-732.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">crest il ≤ &#45;0.926</text>\n",
"<text text-anchor=\"start\" x=\"685.162\" y=\"-718.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">gini = 0.257</text>\n",
"<text text-anchor=\"start\" x=\"675.831\" y=\"-704.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">samples = 123</text>\n",
"<text text-anchor=\"start\" x=\"669.597\" y=\"-690.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">value = [30, 168]</text>\n",
"<text text-anchor=\"start\" x=\"666.107\" y=\"-676.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">class = No Lesion</text>\n",
"</g>\n",
"<!-- 20&#45;&gt;21 -->\n",
"<g id=\"edge21\" class=\"edge\"><title>20&#45;&gt;21</title>\n",
"<path fill=\"none\" stroke=\"black\" d=\"M721.553,-783.769C721.553,-775.57 721.553,-766.803 721.553,-758.28\"/>\n",
"<polygon fill=\"black\" stroke=\"black\" points=\"725.053,-758.058 721.553,-748.058 718.053,-758.059 725.053,-758.058\"/>\n",
"</g>\n",
"<!-- 36 -->\n",
"<g id=\"node37\" class=\"node\"><title>36</title>\n",
"<path fill=\"#e58139\" stroke=\"black\" d=\"M896.16,-741C896.16,-741 814.947,-741 814.947,-741 808.947,-741 802.947,-735 802.947,-729 802.947,-729 802.947,-689 802.947,-689 802.947,-683 808.947,-677 814.947,-677 814.947,-677 896.16,-677 896.16,-677 902.16,-677 908.16,-683 908.16,-689 908.16,-689 908.16,-729 908.16,-729 908.16,-735 902.16,-741 896.16,-741\"/>\n",
"<text text-anchor=\"start\" x=\"826.948\" y=\"-725.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">gini = 0.0</text>\n",
"<text text-anchor=\"start\" x=\"813.724\" y=\"-711.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">samples = 14</text>\n",
"<text text-anchor=\"start\" x=\"811.383\" y=\"-697.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">value = [19, 0]</text>\n",
"<text text-anchor=\"start\" x=\"811\" y=\"-683.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">class = Lesion</text>\n",
"</g>\n",
"<!-- 20&#45;&gt;36 -->\n",
"<g id=\"edge36\" class=\"edge\"><title>20&#45;&gt;36</title>\n",
"<path fill=\"none\" stroke=\"black\" d=\"M767.294,-783.769C781.237,-772.115 796.551,-759.315 810.452,-747.697\"/>\n",
"<polygon fill=\"black\" stroke=\"black\" points=\"813.024,-750.109 818.452,-741.01 808.534,-744.738 813.024,-750.109\"/>\n",
"</g>\n",
"<!-- 22 -->\n",
"<g id=\"node23\" class=\"node\"><title>22</title>\n",
"<path fill=\"#e58139\" fill-opacity=\"0.462745\" stroke=\"black\" d=\"M762.16,-634C762.16,-634 680.947,-634 680.947,-634 674.947,-634 668.947,-628 668.947,-622 668.947,-622 668.947,-568 668.947,-568 668.947,-562 674.947,-556 680.947,-556 680.947,-556 762.16,-556 762.16,-556 768.16,-556 774.16,-562 774.16,-568 774.16,-568 774.16,-622 774.16,-622 774.16,-628 768.16,-634 762.16,-634\"/>\n",
"<text text-anchor=\"start\" x=\"679.581\" y=\"-618.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">Musc ≤ 0.034</text>\n",
"<text text-anchor=\"start\" x=\"685.162\" y=\"-604.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">gini = 0.455</text>\n",
"<text text-anchor=\"start\" x=\"679.724\" y=\"-590.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">samples = 14</text>\n",
"<text text-anchor=\"start\" x=\"677.383\" y=\"-576.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">value = [13, 7]</text>\n",
"<text text-anchor=\"start\" x=\"677\" y=\"-562.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">class = Lesion</text>\n",
"</g>\n",
"<!-- 21&#45;&gt;22 -->\n",
"<g id=\"edge22\" class=\"edge\"><title>21&#45;&gt;22</title>\n",
"<path fill=\"none\" stroke=\"black\" d=\"M721.553,-669.769C721.553,-661.57 721.553,-652.803 721.553,-644.28\"/>\n",
"<polygon fill=\"black\" stroke=\"black\" points=\"725.053,-644.058 721.553,-634.058 718.053,-644.059 725.053,-644.058\"/>\n",
"</g>\n",
"<!-- 25 -->\n",
"<g id=\"node26\" class=\"node\"><title>25</title>\n",
"<path fill=\"#399de5\" fill-opacity=\"0.894118\" stroke=\"black\" d=\"M922.747,-634C922.747,-634 812.36,-634 812.36,-634 806.36,-634 800.36,-628 800.36,-622 800.36,-622 800.36,-568 800.36,-568 800.36,-562 806.36,-556 812.36,-556 812.36,-556 922.747,-556 922.747,-556 928.747,-556 934.747,-562 934.747,-568 934.747,-568 934.747,-622 934.747,-622 934.747,-628 928.747,-634 922.747,-634\"/>\n",
"<text text-anchor=\"start\" x=\"808.457\" y=\"-618.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">peso Musc ≤ 0.668</text>\n",
"<text text-anchor=\"start\" x=\"831.162\" y=\"-604.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">gini = 0.173</text>\n",
"<text text-anchor=\"start\" x=\"821.831\" y=\"-590.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">samples = 109</text>\n",
"<text text-anchor=\"start\" x=\"815.597\" y=\"-576.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">value = [17, 161]</text>\n",
"<text text-anchor=\"start\" x=\"812.107\" y=\"-562.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">class = No Lesion</text>\n",
"</g>\n",
"<!-- 21&#45;&gt;25 -->\n",
"<g id=\"edge25\" class=\"edge\"><title>21&#45;&gt;25</title>\n",
"<path fill=\"none\" stroke=\"black\" d=\"M771.39,-669.769C783.723,-660.308 797.04,-650.092 809.719,-640.366\"/>\n",
"<polygon fill=\"black\" stroke=\"black\" points=\"812.137,-642.922 817.941,-634.058 807.877,-637.368 812.137,-642.922\"/>\n",
"</g>\n",
"<!-- 23 -->\n",
"<g id=\"node24\" class=\"node\"><title>23</title>\n",
"<path fill=\"#399de5\" stroke=\"black\" d=\"M650.946,-513C650.946,-513 548.161,-513 548.161,-513 542.161,-513 536.161,-507 536.161,-501 536.161,-501 536.161,-461 536.161,-461 536.161,-455 542.161,-449 548.161,-449 548.161,-449 650.946,-449 650.946,-449 656.946,-449 662.946,-455 662.946,-461 662.946,-461 662.946,-501 662.946,-501 662.946,-507 656.946,-513 650.946,-513\"/>\n",
"<text text-anchor=\"start\" x=\"570.948\" y=\"-497.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">gini = 0.0</text>\n",
"<text text-anchor=\"start\" x=\"561.617\" y=\"-483.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">samples = 6</text>\n",
"<text text-anchor=\"start\" x=\"559.276\" y=\"-469.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">value = [0, 7]</text>\n",
"<text text-anchor=\"start\" x=\"544.107\" y=\"-455.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">class = No Lesion</text>\n",
"</g>\n",
"<!-- 22&#45;&gt;23 -->\n",
"<g id=\"edge23\" class=\"edge\"><title>22&#45;&gt;23</title>\n",
"<path fill=\"none\" stroke=\"black\" d=\"M679.909,-555.769C667.333,-544.224 653.532,-531.555 640.971,-520.023\"/>\n",
"<polygon fill=\"black\" stroke=\"black\" points=\"643.066,-517.194 633.332,-513.01 638.332,-522.351 643.066,-517.194\"/>\n",
"</g>\n",
"<!-- 24 -->\n",
"<g id=\"node25\" class=\"node\"><title>24</title>\n",
"<path fill=\"#e58139\" stroke=\"black\" d=\"M774.16,-513C774.16,-513 692.947,-513 692.947,-513 686.947,-513 680.947,-507 680.947,-501 680.947,-501 680.947,-461 680.947,-461 680.947,-455 686.947,-449 692.947,-449 692.947,-449 774.16,-449 774.16,-449 780.16,-449 786.16,-455 786.16,-461 786.16,-461 786.16,-501 786.16,-501 786.16,-507 780.16,-513 774.16,-513\"/>\n",
"<text text-anchor=\"start\" x=\"704.948\" y=\"-497.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">gini = 0.0</text>\n",
"<text text-anchor=\"start\" x=\"695.617\" y=\"-483.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">samples = 8</text>\n",
"<text text-anchor=\"start\" x=\"689.383\" y=\"-469.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">value = [13, 0]</text>\n",
"<text text-anchor=\"start\" x=\"689\" y=\"-455.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">class = Lesion</text>\n",
"</g>\n",
"<!-- 22&#45;&gt;24 -->\n",
"<g id=\"edge24\" class=\"edge\"><title>22&#45;&gt;24</title>\n",
"<path fill=\"none\" stroke=\"black\" d=\"M725.649,-555.769C726.781,-545.204 728.014,-533.698 729.162,-522.983\"/>\n",
"<polygon fill=\"black\" stroke=\"black\" points=\"732.645,-523.326 730.231,-513.01 725.685,-522.58 732.645,-523.326\"/>\n",
"</g>\n",
"<!-- 26 -->\n",
"<g id=\"node27\" class=\"node\"><title>26</title>\n",
"<path fill=\"#399de5\" stroke=\"black\" d=\"M918.946,-513C918.946,-513 816.161,-513 816.161,-513 810.161,-513 804.161,-507 804.161,-501 804.161,-501 804.161,-461 804.161,-461 804.161,-455 810.161,-449 816.161,-449 816.161,-449 918.946,-449 918.946,-449 924.946,-449 930.946,-455 930.946,-461 930.946,-461 930.946,-501 930.946,-501 930.946,-507 924.946,-513 918.946,-513\"/>\n",
"<text text-anchor=\"start\" x=\"838.948\" y=\"-497.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">gini = 0.0</text>\n",
"<text text-anchor=\"start\" x=\"825.724\" y=\"-483.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">samples = 59</text>\n",
"<text text-anchor=\"start\" x=\"823.383\" y=\"-469.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">value = [0, 99]</text>\n",
"<text text-anchor=\"start\" x=\"812.107\" y=\"-455.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">class = No Lesion</text>\n",
"</g>\n",
"<!-- 25&#45;&gt;26 -->\n",
"<g id=\"edge26\" class=\"edge\"><title>25&#45;&gt;26</title>\n",
"<path fill=\"none\" stroke=\"black\" d=\"M867.553,-555.769C867.553,-545.313 867.553,-533.935 867.553,-523.315\"/>\n",
"<polygon fill=\"black\" stroke=\"black\" points=\"871.053,-523.01 867.553,-513.01 864.053,-523.01 871.053,-523.01\"/>\n",
"</g>\n",
"<!-- 27 -->\n",
"<g id=\"node28\" class=\"node\"><title>27</title>\n",
"<path fill=\"#399de5\" fill-opacity=\"0.725490\" stroke=\"black\" d=\"M1063.95,-520C1063.95,-520 961.161,-520 961.161,-520 955.161,-520 949.161,-514 949.161,-508 949.161,-508 949.161,-454 949.161,-454 949.161,-448 955.161,-442 961.161,-442 961.161,-442 1063.95,-442 1063.95,-442 1069.95,-442 1075.95,-448 1075.95,-454 1075.95,-454 1075.95,-508 1075.95,-508 1075.95,-514 1069.95,-520 1063.95,-520\"/>\n",
"<text text-anchor=\"start\" x=\"960.07\" y=\"-504.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">brazo rel ≤ 0.566</text>\n",
"<text text-anchor=\"start\" x=\"976.162\" y=\"-490.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">gini = 0.338</text>\n",
"<text text-anchor=\"start\" x=\"970.724\" y=\"-476.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">samples = 50</text>\n",
"<text text-anchor=\"start\" x=\"964.49\" y=\"-462.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">value = [17, 62]</text>\n",
"<text text-anchor=\"start\" x=\"957.107\" y=\"-448.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">class = No Lesion</text>\n",
"</g>\n",
"<!-- 25&#45;&gt;27 -->\n",
"<g id=\"edge27\" class=\"edge\"><title>25&#45;&gt;27</title>\n",
"<path fill=\"none\" stroke=\"black\" d=\"M917.048,-555.769C929.297,-546.308 942.523,-536.092 955.115,-526.366\"/>\n",
"<polygon fill=\"black\" stroke=\"black\" points=\"957.507,-528.941 963.281,-520.058 953.227,-523.402 957.507,-528.941\"/>\n",
"</g>\n",
"<!-- 28 -->\n",
"<g id=\"node29\" class=\"node\"><title>28</title>\n",
"<path fill=\"#e58139\" fill-opacity=\"0.223529\" stroke=\"black\" d=\"M980.16,-406C980.16,-406 898.947,-406 898.947,-406 892.947,-406 886.947,-400 886.947,-394 886.947,-394 886.947,-340 886.947,-340 886.947,-334 892.947,-328 898.947,-328 898.947,-328 980.16,-328 980.16,-328 986.16,-328 992.16,-334 992.16,-340 992.16,-340 992.16,-394 992.16,-394 992.16,-400 986.16,-406 980.16,-406\"/>\n",
"<text text-anchor=\"start\" x=\"898.739\" y=\"-390.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">pierna ≤ 2.25</text>\n",
"<text text-anchor=\"start\" x=\"903.162\" y=\"-376.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">gini = 0.492</text>\n",
"<text text-anchor=\"start\" x=\"898.24\" y=\"-362.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">samples = 11</text>\n",
"<text text-anchor=\"start\" x=\"899.276\" y=\"-348.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">value = [9, 7]</text>\n",
"<text text-anchor=\"start\" x=\"895\" y=\"-334.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">class = Lesion</text>\n",
"</g>\n",
"<!-- 27&#45;&gt;28 -->\n",
"<g id=\"edge28\" class=\"edge\"><title>27&#45;&gt;28</title>\n",
"<path fill=\"none\" stroke=\"black\" d=\"M987.635,-441.769C981.938,-433.029 975.822,-423.645 969.925,-414.597\"/>\n",
"<polygon fill=\"black\" stroke=\"black\" points=\"972.752,-412.525 964.359,-406.058 966.887,-416.347 972.752,-412.525\"/>\n",
"</g>\n",
"<!-- 31 -->\n",
"<g id=\"node32\" class=\"node\"><title>31</title>\n",
"<path fill=\"#399de5\" fill-opacity=\"0.854902\" stroke=\"black\" d=\"M1136.25,-406C1136.25,-406 1032.86,-406 1032.86,-406 1026.86,-406 1020.86,-400 1020.86,-394 1020.86,-394 1020.86,-340 1020.86,-340 1020.86,-334 1026.86,-328 1032.86,-328 1032.86,-328 1136.25,-328 1136.25,-328 1142.25,-328 1148.25,-334 1148.25,-340 1148.25,-340 1148.25,-394 1148.25,-394 1148.25,-400 1142.25,-406 1136.25,-406\"/>\n",
"<text text-anchor=\"start\" x=\"1028.96\" y=\"-390.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">muslo ant ≤ 0.303</text>\n",
"<text text-anchor=\"start\" x=\"1048.16\" y=\"-376.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">gini = 0.222</text>\n",
"<text text-anchor=\"start\" x=\"1042.72\" y=\"-362.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">samples = 39</text>\n",
"<text text-anchor=\"start\" x=\"1040.38\" y=\"-348.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">value = [8, 55]</text>\n",
"<text text-anchor=\"start\" x=\"1029.11\" y=\"-334.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">class = No Lesion</text>\n",
"</g>\n",
"<!-- 27&#45;&gt;31 -->\n",
"<g id=\"edge31\" class=\"edge\"><title>27&#45;&gt;31</title>\n",
"<path fill=\"none\" stroke=\"black\" d=\"M1037.13,-441.769C1042.75,-433.029 1048.78,-423.645 1054.6,-414.597\"/>\n",
"<polygon fill=\"black\" stroke=\"black\" points=\"1057.62,-416.363 1060.09,-406.058 1051.74,-412.578 1057.62,-416.363\"/>\n",
"</g>\n",
"<!-- 29 -->\n",
"<g id=\"node30\" class=\"node\"><title>29</title>\n",
"<path fill=\"#e58139\" stroke=\"black\" d=\"M846.16,-285C846.16,-285 764.947,-285 764.947,-285 758.947,-285 752.947,-279 752.947,-273 752.947,-273 752.947,-233 752.947,-233 752.947,-227 758.947,-221 764.947,-221 764.947,-221 846.16,-221 846.16,-221 852.16,-221 858.16,-227 858.16,-233 858.16,-233 858.16,-273 858.16,-273 858.16,-279 852.16,-285 846.16,-285\"/>\n",
"<text text-anchor=\"start\" x=\"776.948\" y=\"-269.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">gini = 0.0</text>\n",
"<text text-anchor=\"start\" x=\"767.617\" y=\"-255.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">samples = 6</text>\n",
"<text text-anchor=\"start\" x=\"765.276\" y=\"-241.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">value = [9, 0]</text>\n",
"<text text-anchor=\"start\" x=\"761\" y=\"-227.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">class = Lesion</text>\n",
"</g>\n",
"<!-- 28&#45;&gt;29 -->\n",
"<g id=\"edge29\" class=\"edge\"><title>28&#45;&gt;29</title>\n",
"<path fill=\"none\" stroke=\"black\" d=\"M893.813,-327.769C879.869,-316.115 864.556,-303.315 850.655,-291.697\"/>\n",
"<polygon fill=\"black\" stroke=\"black\" points=\"852.572,-288.738 842.655,-285.01 848.083,-294.109 852.572,-288.738\"/>\n",
"</g>\n",
"<!-- 30 -->\n",
"<g id=\"node31\" class=\"node\"><title>30</title>\n",
"<path fill=\"#399de5\" stroke=\"black\" d=\"M990.946,-285C990.946,-285 888.161,-285 888.161,-285 882.161,-285 876.161,-279 876.161,-273 876.161,-273 876.161,-233 876.161,-233 876.161,-227 882.161,-221 888.161,-221 888.161,-221 990.946,-221 990.946,-221 996.946,-221 1002.95,-227 1002.95,-233 1002.95,-233 1002.95,-273 1002.95,-273 1002.95,-279 996.946,-285 990.946,-285\"/>\n",
"<text text-anchor=\"start\" x=\"910.948\" y=\"-269.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">gini = 0.0</text>\n",
"<text text-anchor=\"start\" x=\"901.617\" y=\"-255.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">samples = 5</text>\n",
"<text text-anchor=\"start\" x=\"899.276\" y=\"-241.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">value = [0, 7]</text>\n",
"<text text-anchor=\"start\" x=\"884.107\" y=\"-227.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">class = No Lesion</text>\n",
"</g>\n",
"<!-- 28&#45;&gt;30 -->\n",
"<g id=\"edge30\" class=\"edge\"><title>28&#45;&gt;30</title>\n",
"<path fill=\"none\" stroke=\"black\" d=\"M939.553,-327.769C939.553,-317.313 939.553,-305.935 939.553,-295.315\"/>\n",
"<polygon fill=\"black\" stroke=\"black\" points=\"943.053,-295.01 939.553,-285.01 936.053,-295.01 943.053,-295.01\"/>\n",
"</g>\n",
"<!-- 32 -->\n",
"<g id=\"node33\" class=\"node\"><title>32</title>\n",
"<path fill=\"#399de5\" stroke=\"black\" d=\"M1135.95,-285C1135.95,-285 1033.16,-285 1033.16,-285 1027.16,-285 1021.16,-279 1021.16,-273 1021.16,-273 1021.16,-233 1021.16,-233 1021.16,-227 1027.16,-221 1033.16,-221 1033.16,-221 1135.95,-221 1135.95,-221 1141.95,-221 1147.95,-227 1147.95,-233 1147.95,-233 1147.95,-273 1147.95,-273 1147.95,-279 1141.95,-285 1135.95,-285\"/>\n",
"<text text-anchor=\"start\" x=\"1055.95\" y=\"-269.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">gini = 0.0</text>\n",
"<text text-anchor=\"start\" x=\"1042.72\" y=\"-255.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">samples = 27</text>\n",
"<text text-anchor=\"start\" x=\"1040.38\" y=\"-241.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">value = [0, 41]</text>\n",
"<text text-anchor=\"start\" x=\"1029.11\" y=\"-227.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">class = No Lesion</text>\n",
"</g>\n",
"<!-- 31&#45;&gt;32 -->\n",
"<g id=\"edge32\" class=\"edge\"><title>31&#45;&gt;32</title>\n",
"<path fill=\"none\" stroke=\"black\" d=\"M1084.55,-327.769C1084.55,-317.313 1084.55,-305.935 1084.55,-295.315\"/>\n",
"<polygon fill=\"black\" stroke=\"black\" points=\"1088.05,-295.01 1084.55,-285.01 1081.05,-295.01 1088.05,-295.01\"/>\n",
"</g>\n",
"<!-- 33 -->\n",
"<g id=\"node34\" class=\"node\"><title>33</title>\n",
"<path fill=\"#399de5\" fill-opacity=\"0.427451\" stroke=\"black\" d=\"M1280.95,-292C1280.95,-292 1178.16,-292 1178.16,-292 1172.16,-292 1166.16,-286 1166.16,-280 1166.16,-280 1166.16,-226 1166.16,-226 1166.16,-220 1172.16,-214 1178.16,-214 1178.16,-214 1280.95,-214 1280.95,-214 1286.95,-214 1292.95,-220 1292.95,-226 1292.95,-226 1292.95,-280 1292.95,-280 1292.95,-286 1286.95,-292 1280.95,-292\"/>\n",
"<text text-anchor=\"start\" x=\"1191.99\" y=\"-276.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">IMC ≤ 1.411</text>\n",
"<text text-anchor=\"start\" x=\"1193.16\" y=\"-262.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">gini = 0.463</text>\n",
"<text text-anchor=\"start\" x=\"1187.72\" y=\"-248.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">samples = 12</text>\n",
"<text text-anchor=\"start\" x=\"1185.38\" y=\"-234.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">value = [8, 14]</text>\n",
"<text text-anchor=\"start\" x=\"1174.11\" y=\"-220.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">class = No Lesion</text>\n",
"</g>\n",
"<!-- 31&#45;&gt;33 -->\n",
"<g id=\"edge33\" class=\"edge\"><title>31&#45;&gt;33</title>\n",
"<path fill=\"none\" stroke=\"black\" d=\"M1134.05,-327.769C1146.3,-318.308 1159.52,-308.092 1172.11,-298.366\"/>\n",
"<polygon fill=\"black\" stroke=\"black\" points=\"1174.51,-300.941 1180.28,-292.058 1170.23,-295.402 1174.51,-300.941\"/>\n",
"</g>\n",
"<!-- 34 -->\n",
"<g id=\"node35\" class=\"node\"><title>34</title>\n",
"<path fill=\"#e58139\" stroke=\"black\" d=\"M1203.16,-171C1203.16,-171 1121.95,-171 1121.95,-171 1115.95,-171 1109.95,-165 1109.95,-159 1109.95,-159 1109.95,-119 1109.95,-119 1109.95,-113 1115.95,-107 1121.95,-107 1121.95,-107 1203.16,-107 1203.16,-107 1209.16,-107 1215.16,-113 1215.16,-119 1215.16,-119 1215.16,-159 1215.16,-159 1215.16,-165 1209.16,-171 1203.16,-171\"/>\n",
"<text text-anchor=\"start\" x=\"1133.95\" y=\"-155.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">gini = 0.0</text>\n",
"<text text-anchor=\"start\" x=\"1124.62\" y=\"-141.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">samples = 4</text>\n",
"<text text-anchor=\"start\" x=\"1122.28\" y=\"-127.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">value = [8, 0]</text>\n",
"<text text-anchor=\"start\" x=\"1118\" y=\"-113.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">class = Lesion</text>\n",
"</g>\n",
"<!-- 33&#45;&gt;34 -->\n",
"<g id=\"edge34\" class=\"edge\"><title>33&#45;&gt;34</title>\n",
"<path fill=\"none\" stroke=\"black\" d=\"M1206.68,-213.769C1200.1,-202.769 1192.91,-190.747 1186.28,-179.662\"/>\n",
"<polygon fill=\"black\" stroke=\"black\" points=\"1189.24,-177.795 1181.1,-171.01 1183.23,-181.389 1189.24,-177.795\"/>\n",
"</g>\n",
"<!-- 35 -->\n",
"<g id=\"node36\" class=\"node\"><title>35</title>\n",
"<path fill=\"#399de5\" stroke=\"black\" d=\"M1347.95,-171C1347.95,-171 1245.16,-171 1245.16,-171 1239.16,-171 1233.16,-165 1233.16,-159 1233.16,-159 1233.16,-119 1233.16,-119 1233.16,-113 1239.16,-107 1245.16,-107 1245.16,-107 1347.95,-107 1347.95,-107 1353.95,-107 1359.95,-113 1359.95,-119 1359.95,-119 1359.95,-159 1359.95,-159 1359.95,-165 1353.95,-171 1347.95,-171\"/>\n",
"<text text-anchor=\"start\" x=\"1267.95\" y=\"-155.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">gini = 0.0</text>\n",
"<text text-anchor=\"start\" x=\"1258.62\" y=\"-141.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">samples = 8</text>\n",
"<text text-anchor=\"start\" x=\"1252.38\" y=\"-127.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">value = [0, 14]</text>\n",
"<text text-anchor=\"start\" x=\"1241.11\" y=\"-113.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">class = No Lesion</text>\n",
"</g>\n",
"<!-- 33&#45;&gt;35 -->\n",
"<g id=\"edge35\" class=\"edge\"><title>33&#45;&gt;35</title>\n",
"<path fill=\"none\" stroke=\"black\" d=\"M1252.42,-213.769C1259,-202.769 1266.2,-190.747 1272.83,-179.662\"/>\n",
"<polygon fill=\"black\" stroke=\"black\" points=\"1275.87,-181.389 1278,-171.01 1269.87,-177.795 1275.87,-181.389\"/>\n",
"</g>\n",
"</g>\n",
"</svg>\n"
],
"text/plain": [
"<graphviz.files.Source at 0x11ff065d0>"
]
},
"execution_count": 11,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"from inspect import getmembers\n",
"import graphviz \n",
"\n",
"def get_splitting_attributes(rf):\n",
" \"\"\"\n",
" Gets actual parameters of trees:\n",
" splitting attribute(feature)\n",
" splitting value (threshold)\n",
" ....\n",
" \"\"\"\n",
" i_tree = 0\n",
" for tree_in_forest in rf.estimators_:\n",
" getmembers(tree_in_forest.tree_)\n",
" tree_struct = zip(X_columns[tree_in_forest.tree_.feature], \n",
" tree_in_forest.tree_.threshold, \n",
" tree_in_forest.tree_.children_left, \n",
" tree_in_forest.tree_.children_right)\n",
" break\n",
"\n",
"def show_randomforest_graph(rf):\n",
" \"\"\"\n",
" Since Random Forest is an ensemble of trees, we just\n",
" pick one for showing its graph.\n",
" \"\"\"\n",
" rf_tree = rf.estimators_[0]\n",
"\n",
" dot_data = tree.export_graphviz(rf_tree, out_file=None, \n",
" feature_names=X_columns, \n",
" class_names=['Lesion', 'No Lesion'], \n",
" filled=True, rounded=True, \n",
" special_characters=True) \n",
" graph = graphviz.Source(dot_data) \n",
" return graph\n",
"\n",
"\n",
"get_splitting_attributes(clf)\n",
"\n",
"graph = show_randomforest_graph(clf)\n",
"graph"
]
}
],
"metadata": {
"gist": {
"data": {
"description": "analysis.ipynb",
"public": true
},
"id": ""
},
"kernelspec": {
"display_name": "Python [conda root]",
"language": "python",
"name": "conda-root-py"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 2
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython2",
"version": "2.7.14"
}
},
"nbformat": 4,
"nbformat_minor": 2
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment