{
"cells": [
{
"cell_type": "markdown",
"metadata": {
"nbpresent": {
"id": "a20290f5-2a26-4622-9e8b-ce94cc1dcb1a"
},
"slideshow": {
"slide_type": "slide"
},
"tags": []
},
"source": [
"# Estimation of tree height using GEDI dataset - Clean Data - Perceptron 2 - 2022"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Base on data quality flag select more reilable tree height."
]
},
{
"cell_type": "code",
"execution_count": 44,
"metadata": {
"nbpresent": {
"id": "8f67df50-3050-47d2-a5d9-4329a61325fa"
},
"slideshow": {
"slide_type": "fragment"
}
},
"outputs": [],
"source": [
"import pandas as pd\n",
"import numpy as np\n",
"import torch\n",
"import torch.nn as nn\n",
"import numpy as np\n",
"import matplotlib.pyplot as plt\n",
"import scipy\n",
"from sklearn.metrics import r2_score\n",
"from sklearn.model_selection import train_test_split"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"**File storing tree hight (cm) obtained by 6 algorithms, with their associate quality flags.**\n",
"The quality flags can be used to refine and select the best tree height estimation and use it as tree height observation.\n",
"\n",
"* a?_95: tree hight (cm) at 95 quintile, for each algorithm \n",
"* min_rh_95: minimum value of tree hight (cm) ammong the 6 algorithms \n",
"* max_rh_95: maximum value of tree hight (cm) ammong the 6 algorithms \n",
"* BEAM: 1-4 coverage beam = lower power (worse) ; 5-8 power beam = higher power (better) \n",
"* digital_elev: digital mdoel elevation \n",
"* elev_low: elevation of center of lowest mode \n",
"* qc_a?: quality_flag for six algorithms quality_flag = 1 (better); = 0 (worse) \n",
"* se_a?: sensitivity for six algorithms sensitivity < 0.95 (worse); sensitivity > 0.95 (beter ) \n",
"* deg_fg: (degrade_flag) not-degraded 0 (better) ; degraded > 0 (worse) \n",
"* solar_ele: solar elevation. > 0 day (worse); < 0 night (better) "
]
},
{
"cell_type": "code",
"execution_count": 45,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"
\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" ID | \n",
" X | \n",
" Y | \n",
" a1_95 | \n",
" a2_95 | \n",
" a3_95 | \n",
" a4_95 | \n",
" a5_95 | \n",
" a6_95 | \n",
" min_rh_95 | \n",
" max_rh_95 | \n",
" BEAM | \n",
" digital_elev | \n",
" elev_low | \n",
" qc_a1 | \n",
" qc_a2 | \n",
" qc_a3 | \n",
" qc_a4 | \n",
" qc_a5 | \n",
" qc_a6 | \n",
" se_a1 | \n",
" se_a2 | \n",
" se_a3 | \n",
" se_a4 | \n",
" se_a5 | \n",
" se_a6 | \n",
" deg_fg | \n",
" solar_ele | \n",
"
\n",
" \n",
" \n",
" \n",
" 0 | \n",
" 1 | \n",
" 6.050001 | \n",
" 49.727499 | \n",
" 3139 | \n",
" 3139 | \n",
" 3139 | \n",
" 3120 | \n",
" 3139 | \n",
" 3139 | \n",
" 3120 | \n",
" 3139 | \n",
" 5 | \n",
" 410.0 | \n",
" 383.72153 | \n",
" 1 | \n",
" 1 | \n",
" 1 | \n",
" 1 | \n",
" 1 | \n",
" 1 | \n",
" 0.962 | \n",
" 0.984 | \n",
" 0.968 | \n",
" 0.962 | \n",
" 0.989 | \n",
" 0.979 | \n",
" 0 | \n",
" 17.7 | \n",
"
\n",
" \n",
" 1 | \n",
" 2 | \n",
" 6.050002 | \n",
" 49.922155 | \n",
" 1022 | \n",
" 2303 | \n",
" 970 | \n",
" 872 | \n",
" 5596 | \n",
" 1524 | \n",
" 872 | \n",
" 5596 | \n",
" 5 | \n",
" 290.0 | \n",
" 2374.14110 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 0.948 | \n",
" 0.990 | \n",
" 0.960 | \n",
" 0.948 | \n",
" 0.994 | \n",
" 0.980 | \n",
" 0 | \n",
" 43.7 | \n",
"
\n",
" \n",
" 2 | \n",
" 3 | \n",
" 6.050002 | \n",
" 48.602377 | \n",
" 380 | \n",
" 1336 | \n",
" 332 | \n",
" 362 | \n",
" 1336 | \n",
" 1340 | \n",
" 332 | \n",
" 1340 | \n",
" 4 | \n",
" 440.0 | \n",
" 435.97781 | \n",
" 1 | \n",
" 1 | \n",
" 1 | \n",
" 1 | \n",
" 1 | \n",
" 1 | \n",
" 0.947 | \n",
" 0.975 | \n",
" 0.956 | \n",
" 0.947 | \n",
" 0.981 | \n",
" 0.968 | \n",
" 0 | \n",
" 0.2 | \n",
"
\n",
" \n",
" 3 | \n",
" 4 | \n",
" 6.050009 | \n",
" 48.151979 | \n",
" 3153 | \n",
" 3142 | \n",
" 3142 | \n",
" 3127 | \n",
" 3138 | \n",
" 3142 | \n",
" 3127 | \n",
" 3153 | \n",
" 2 | \n",
" 450.0 | \n",
" 422.00537 | \n",
" 1 | \n",
" 1 | \n",
" 1 | \n",
" 1 | \n",
" 1 | \n",
" 1 | \n",
" 0.930 | \n",
" 0.970 | \n",
" 0.943 | \n",
" 0.930 | \n",
" 0.978 | \n",
" 0.962 | \n",
" 0 | \n",
" -14.2 | \n",
"
\n",
" \n",
" 4 | \n",
" 5 | \n",
" 6.050010 | \n",
" 49.588410 | \n",
" 666 | \n",
" 4221 | \n",
" 651 | \n",
" 33 | \n",
" 5611 | \n",
" 2723 | \n",
" 33 | \n",
" 5611 | \n",
" 8 | \n",
" 370.0 | \n",
" 2413.74830 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 0 | \n",
" 0.941 | \n",
" 0.983 | \n",
" 0.946 | \n",
" 0.941 | \n",
" 0.992 | \n",
" 0.969 | \n",
" 0 | \n",
" 22.1 | \n",
"
\n",
" \n",
" 5 | \n",
" 6 | \n",
" 6.050014 | \n",
" 48.608456 | \n",
" 787 | \n",
" 1179 | \n",
" 1187 | \n",
" 761 | \n",
" 1833 | \n",
" 1833 | \n",
" 761 | \n",
" 1833 | \n",
" 3 | \n",
" 420.0 | \n",
" 415.51581 | \n",
" 1 | \n",
" 1 | \n",
" 1 | \n",
" 1 | \n",
" 1 | \n",
" 1 | \n",
" 0.952 | \n",
" 0.979 | \n",
" 0.961 | \n",
" 0.952 | \n",
" 0.986 | \n",
" 0.975 | \n",
" 0 | \n",
" 0.2 | \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" ID X Y a1_95 a2_95 a3_95 a4_95 a5_95 a6_95 \\\n",
"0 1 6.050001 49.727499 3139 3139 3139 3120 3139 3139 \n",
"1 2 6.050002 49.922155 1022 2303 970 872 5596 1524 \n",
"2 3 6.050002 48.602377 380 1336 332 362 1336 1340 \n",
"3 4 6.050009 48.151979 3153 3142 3142 3127 3138 3142 \n",
"4 5 6.050010 49.588410 666 4221 651 33 5611 2723 \n",
"5 6 6.050014 48.608456 787 1179 1187 761 1833 1833 \n",
"\n",
" min_rh_95 max_rh_95 BEAM digital_elev elev_low qc_a1 qc_a2 qc_a3 \\\n",
"0 3120 3139 5 410.0 383.72153 1 1 1 \n",
"1 872 5596 5 290.0 2374.14110 0 0 0 \n",
"2 332 1340 4 440.0 435.97781 1 1 1 \n",
"3 3127 3153 2 450.0 422.00537 1 1 1 \n",
"4 33 5611 8 370.0 2413.74830 0 0 0 \n",
"5 761 1833 3 420.0 415.51581 1 1 1 \n",
"\n",
" qc_a4 qc_a5 qc_a6 se_a1 se_a2 se_a3 se_a4 se_a5 se_a6 deg_fg \\\n",
"0 1 1 1 0.962 0.984 0.968 0.962 0.989 0.979 0 \n",
"1 0 0 0 0.948 0.990 0.960 0.948 0.994 0.980 0 \n",
"2 1 1 1 0.947 0.975 0.956 0.947 0.981 0.968 0 \n",
"3 1 1 1 0.930 0.970 0.943 0.930 0.978 0.962 0 \n",
"4 0 0 0 0.941 0.983 0.946 0.941 0.992 0.969 0 \n",
"5 1 1 1 0.952 0.979 0.961 0.952 0.986 0.975 0 \n",
"\n",
" solar_ele \n",
"0 17.7 \n",
"1 43.7 \n",
"2 0.2 \n",
"3 -14.2 \n",
"4 22.1 \n",
"5 0.2 "
]
},
"execution_count": 45,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"height_6algorithms = pd.read_csv(\"tree_height/txt/eu_y_x_select_6algorithms_fullTable.txt\", sep=\" \", index_col=False)\n",
"pd.set_option('display.max_columns',None)\n",
"height_6algorithms.head(6)"
]
},
{
"cell_type": "code",
"execution_count": 46,
"metadata": {},
"outputs": [],
"source": [
"height_6algorithms_sel = height_6algorithms.loc[(height_6algorithms['BEAM'] > 4) \n",
" & (height_6algorithms['qc_a1'] == 1)\n",
" & (height_6algorithms['qc_a2'] == 1)\n",
" & (height_6algorithms['qc_a3'] == 1) \n",
" & (height_6algorithms['qc_a4'] == 1) \n",
" & (height_6algorithms['qc_a5'] == 1) \n",
" & (height_6algorithms['qc_a6'] == 1)\n",
" & (height_6algorithms['se_a1'] > 0.95) \n",
" & (height_6algorithms['se_a2'] > 0.95)\n",
" & (height_6algorithms['se_a3'] > 0.95)\n",
" & (height_6algorithms['se_a4'] > 0.95)\n",
" & (height_6algorithms['se_a5'] > 0.95) \n",
" & (height_6algorithms['se_a6'] > 0.95)\n",
" & (height_6algorithms['deg_fg'] == 0) \n",
" & (height_6algorithms['solar_ele'] < 0)]"
]
},
{
"cell_type": "code",
"execution_count": 47,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" ID | \n",
" X | \n",
" Y | \n",
" a1_95 | \n",
" a2_95 | \n",
" a3_95 | \n",
" a4_95 | \n",
" a5_95 | \n",
" a6_95 | \n",
" min_rh_95 | \n",
" max_rh_95 | \n",
" BEAM | \n",
" digital_elev | \n",
" elev_low | \n",
" qc_a1 | \n",
" qc_a2 | \n",
" qc_a3 | \n",
" qc_a4 | \n",
" qc_a5 | \n",
" qc_a6 | \n",
" se_a1 | \n",
" se_a2 | \n",
" se_a3 | \n",
" se_a4 | \n",
" se_a5 | \n",
" se_a6 | \n",
" deg_fg | \n",
" solar_ele | \n",
"
\n",
" \n",
" \n",
" \n",
" 7 | \n",
" 8 | \n",
" 6.050019 | \n",
" 49.921613 | \n",
" 3303 | \n",
" 3288 | \n",
" 3296 | \n",
" 3236 | \n",
" 3857 | \n",
" 3292 | \n",
" 3236 | \n",
" 3857 | \n",
" 7 | \n",
" 320.0 | \n",
" 297.68533 | \n",
" 1 | \n",
" 1 | \n",
" 1 | \n",
" 1 | \n",
" 1 | \n",
" 1 | \n",
" 0.971 | \n",
" 0.988 | \n",
" 0.976 | \n",
" 0.971 | \n",
" 0.992 | \n",
" 0.984 | \n",
" 0 | \n",
" -33.9 | \n",
"
\n",
" \n",
" 11 | \n",
" 12 | \n",
" 6.050039 | \n",
" 47.995344 | \n",
" 2762 | \n",
" 2736 | \n",
" 2740 | \n",
" 2747 | \n",
" 3893 | \n",
" 2736 | \n",
" 2736 | \n",
" 3893 | \n",
" 5 | \n",
" 390.0 | \n",
" 368.55121 | \n",
" 1 | \n",
" 1 | \n",
" 1 | \n",
" 1 | \n",
" 1 | \n",
" 1 | \n",
" 0.975 | \n",
" 0.990 | \n",
" 0.979 | \n",
" 0.975 | \n",
" 0.994 | \n",
" 0.987 | \n",
" 0 | \n",
" -37.3 | \n",
"
\n",
" \n",
" 14 | \n",
" 15 | \n",
" 6.050046 | \n",
" 49.865317 | \n",
" 1398 | \n",
" 2505 | \n",
" 2509 | \n",
" 1316 | \n",
" 2848 | \n",
" 2505 | \n",
" 1316 | \n",
" 2848 | \n",
" 6 | \n",
" 340.0 | \n",
" 330.40564 | \n",
" 1 | \n",
" 1 | \n",
" 1 | \n",
" 1 | \n",
" 1 | \n",
" 1 | \n",
" 0.973 | \n",
" 0.990 | \n",
" 0.979 | \n",
" 0.973 | \n",
" 0.994 | \n",
" 0.986 | \n",
" 0 | \n",
" -18.2 | \n",
"
\n",
" \n",
" 15 | \n",
" 16 | \n",
" 6.050048 | \n",
" 49.050020 | \n",
" 984 | \n",
" 943 | \n",
" 947 | \n",
" 958 | \n",
" 2617 | \n",
" 947 | \n",
" 943 | \n",
" 2617 | \n",
" 6 | \n",
" 300.0 | \n",
" 291.22598 | \n",
" 1 | \n",
" 1 | \n",
" 1 | \n",
" 1 | \n",
" 1 | \n",
" 1 | \n",
" 0.978 | \n",
" 0.991 | \n",
" 0.982 | \n",
" 0.978 | \n",
" 0.995 | \n",
" 0.988 | \n",
" 0 | \n",
" -35.4 | \n",
"
\n",
" \n",
" 16 | \n",
" 17 | \n",
" 6.050049 | \n",
" 48.391359 | \n",
" 3362 | \n",
" 3332 | \n",
" 3336 | \n",
" 3351 | \n",
" 4467 | \n",
" 3336 | \n",
" 3332 | \n",
" 4467 | \n",
" 5 | \n",
" 530.0 | \n",
" 504.78122 | \n",
" 1 | \n",
" 1 | \n",
" 1 | \n",
" 1 | \n",
" 1 | \n",
" 1 | \n",
" 0.973 | \n",
" 0.988 | \n",
" 0.977 | \n",
" 0.973 | \n",
" 0.992 | \n",
" 0.984 | \n",
" 0 | \n",
" -5.1 | \n",
"
\n",
" \n",
" ... | \n",
" ... | \n",
" ... | \n",
" ... | \n",
" ... | \n",
" ... | \n",
" ... | \n",
" ... | \n",
" ... | \n",
" ... | \n",
" ... | \n",
" ... | \n",
" ... | \n",
" ... | \n",
" ... | \n",
" ... | \n",
" ... | \n",
" ... | \n",
" ... | \n",
" ... | \n",
" ... | \n",
" ... | \n",
" ... | \n",
" ... | \n",
" ... | \n",
" ... | \n",
" ... | \n",
" ... | \n",
" ... | \n",
"
\n",
" \n",
" 1267207 | \n",
" 1267208 | \n",
" 9.949829 | \n",
" 49.216272 | \n",
" 2160 | \n",
" 2816 | \n",
" 2816 | \n",
" 2104 | \n",
" 3299 | \n",
" 2816 | \n",
" 2104 | \n",
" 3299 | \n",
" 8 | \n",
" 420.0 | \n",
" 386.44556 | \n",
" 1 | \n",
" 1 | \n",
" 1 | \n",
" 1 | \n",
" 1 | \n",
" 1 | \n",
" 0.980 | \n",
" 0.993 | \n",
" 0.984 | \n",
" 0.980 | \n",
" 0.995 | \n",
" 0.989 | \n",
" 0 | \n",
" -16.9 | \n",
"
\n",
" \n",
" 1267211 | \n",
" 1267212 | \n",
" 9.949856 | \n",
" 49.881190 | \n",
" 3190 | \n",
" 3179 | \n",
" 3179 | \n",
" 3171 | \n",
" 3822 | \n",
" 3179 | \n",
" 3171 | \n",
" 3822 | \n",
" 6 | \n",
" 380.0 | \n",
" 363.69348 | \n",
" 1 | \n",
" 1 | \n",
" 1 | \n",
" 1 | \n",
" 1 | \n",
" 1 | \n",
" 0.968 | \n",
" 0.986 | \n",
" 0.974 | \n",
" 0.968 | \n",
" 0.990 | \n",
" 0.982 | \n",
" 0 | \n",
" -35.1 | \n",
"
\n",
" \n",
" 1267216 | \n",
" 1267217 | \n",
" 9.949880 | \n",
" 49.873435 | \n",
" 2061 | \n",
" 2828 | \n",
" 2046 | \n",
" 2024 | \n",
" 2828 | \n",
" 2828 | \n",
" 2024 | \n",
" 2828 | \n",
" 7 | \n",
" 380.0 | \n",
" 361.06812 | \n",
" 1 | \n",
" 1 | \n",
" 1 | \n",
" 1 | \n",
" 1 | \n",
" 1 | \n",
" 0.967 | \n",
" 0.988 | \n",
" 0.974 | \n",
" 0.967 | \n",
" 0.993 | \n",
" 0.983 | \n",
" 0 | \n",
" -35.1 | \n",
"
\n",
" \n",
" 1267227 | \n",
" 1267228 | \n",
" 9.949958 | \n",
" 49.127182 | \n",
" 366 | \n",
" 2307 | \n",
" 1260 | \n",
" 355 | \n",
" 3531 | \n",
" 2719 | \n",
" 355 | \n",
" 3531 | \n",
" 6 | \n",
" 500.0 | \n",
" 493.52792 | \n",
" 1 | \n",
" 1 | \n",
" 1 | \n",
" 1 | \n",
" 1 | \n",
" 1 | \n",
" 0.973 | \n",
" 0.989 | \n",
" 0.978 | \n",
" 0.973 | \n",
" 0.993 | \n",
" 0.985 | \n",
" 0 | \n",
" -36.0 | \n",
"
\n",
" \n",
" 1267237 | \n",
" 1267238 | \n",
" 9.949999 | \n",
" 49.936763 | \n",
" 2513 | \n",
" 2490 | \n",
" 2490 | \n",
" 2494 | \n",
" 2490 | \n",
" 2490 | \n",
" 2490 | \n",
" 2513 | \n",
" 5 | \n",
" 360.0 | \n",
" 346.54227 | \n",
" 1 | \n",
" 1 | \n",
" 1 | \n",
" 1 | \n",
" 1 | \n",
" 1 | \n",
" 0.968 | \n",
" 0.988 | \n",
" 0.974 | \n",
" 0.968 | \n",
" 0.993 | \n",
" 0.983 | \n",
" 0 | \n",
" -32.2 | \n",
"
\n",
" \n",
"
\n",
"
226892 rows × 28 columns
\n",
"
"
],
"text/plain": [
" ID X Y a1_95 a2_95 a3_95 a4_95 a5_95 \\\n",
"7 8 6.050019 49.921613 3303 3288 3296 3236 3857 \n",
"11 12 6.050039 47.995344 2762 2736 2740 2747 3893 \n",
"14 15 6.050046 49.865317 1398 2505 2509 1316 2848 \n",
"15 16 6.050048 49.050020 984 943 947 958 2617 \n",
"16 17 6.050049 48.391359 3362 3332 3336 3351 4467 \n",
"... ... ... ... ... ... ... ... ... \n",
"1267207 1267208 9.949829 49.216272 2160 2816 2816 2104 3299 \n",
"1267211 1267212 9.949856 49.881190 3190 3179 3179 3171 3822 \n",
"1267216 1267217 9.949880 49.873435 2061 2828 2046 2024 2828 \n",
"1267227 1267228 9.949958 49.127182 366 2307 1260 355 3531 \n",
"1267237 1267238 9.949999 49.936763 2513 2490 2490 2494 2490 \n",
"\n",
" a6_95 min_rh_95 max_rh_95 BEAM digital_elev elev_low qc_a1 \\\n",
"7 3292 3236 3857 7 320.0 297.68533 1 \n",
"11 2736 2736 3893 5 390.0 368.55121 1 \n",
"14 2505 1316 2848 6 340.0 330.40564 1 \n",
"15 947 943 2617 6 300.0 291.22598 1 \n",
"16 3336 3332 4467 5 530.0 504.78122 1 \n",
"... ... ... ... ... ... ... ... \n",
"1267207 2816 2104 3299 8 420.0 386.44556 1 \n",
"1267211 3179 3171 3822 6 380.0 363.69348 1 \n",
"1267216 2828 2024 2828 7 380.0 361.06812 1 \n",
"1267227 2719 355 3531 6 500.0 493.52792 1 \n",
"1267237 2490 2490 2513 5 360.0 346.54227 1 \n",
"\n",
" qc_a2 qc_a3 qc_a4 qc_a5 qc_a6 se_a1 se_a2 se_a3 se_a4 se_a5 \\\n",
"7 1 1 1 1 1 0.971 0.988 0.976 0.971 0.992 \n",
"11 1 1 1 1 1 0.975 0.990 0.979 0.975 0.994 \n",
"14 1 1 1 1 1 0.973 0.990 0.979 0.973 0.994 \n",
"15 1 1 1 1 1 0.978 0.991 0.982 0.978 0.995 \n",
"16 1 1 1 1 1 0.973 0.988 0.977 0.973 0.992 \n",
"... ... ... ... ... ... ... ... ... ... ... \n",
"1267207 1 1 1 1 1 0.980 0.993 0.984 0.980 0.995 \n",
"1267211 1 1 1 1 1 0.968 0.986 0.974 0.968 0.990 \n",
"1267216 1 1 1 1 1 0.967 0.988 0.974 0.967 0.993 \n",
"1267227 1 1 1 1 1 0.973 0.989 0.978 0.973 0.993 \n",
"1267237 1 1 1 1 1 0.968 0.988 0.974 0.968 0.993 \n",
"\n",
" se_a6 deg_fg solar_ele \n",
"7 0.984 0 -33.9 \n",
"11 0.987 0 -37.3 \n",
"14 0.986 0 -18.2 \n",
"15 0.988 0 -35.4 \n",
"16 0.984 0 -5.1 \n",
"... ... ... ... \n",
"1267207 0.989 0 -16.9 \n",
"1267211 0.982 0 -35.1 \n",
"1267216 0.983 0 -35.1 \n",
"1267227 0.985 0 -36.0 \n",
"1267237 0.983 0 -32.2 \n",
"\n",
"[226892 rows x 28 columns]"
]
},
"execution_count": 47,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"height_6algorithms_sel"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Calculate the mean height excluidng the maximum and minimum values "
]
},
{
"cell_type": "code",
"execution_count": 48,
"metadata": {},
"outputs": [],
"source": [
"height_sel = pd.DataFrame({'ID' : height_6algorithms_sel['ID'] , \n",
" 'hm_sel': (height_6algorithms_sel['a1_95'] + height_6algorithms_sel['a2_95'] + height_6algorithms_sel['a3_95'] + height_6algorithms_sel['a4_95'] \n",
" + height_6algorithms_sel['a5_95'] + height_6algorithms_sel['a6_95'] - height_6algorithms_sel['min_rh_95'] - height_6algorithms_sel['max_rh_95']) / 400 } )"
]
},
{
"cell_type": "code",
"execution_count": 49,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" ID | \n",
" hm_sel | \n",
"
\n",
" \n",
" \n",
" \n",
" 7 | \n",
" 8 | \n",
" 32.9475 | \n",
"
\n",
" \n",
" 11 | \n",
" 12 | \n",
" 27.4625 | \n",
"
\n",
" \n",
" 14 | \n",
" 15 | \n",
" 22.2925 | \n",
"
\n",
" \n",
" 15 | \n",
" 16 | \n",
" 9.5900 | \n",
"
\n",
" \n",
" 16 | \n",
" 17 | \n",
" 33.4625 | \n",
"
\n",
" \n",
" ... | \n",
" ... | \n",
" ... | \n",
"
\n",
" \n",
" 1267207 | \n",
" 1267208 | \n",
" 26.5200 | \n",
"
\n",
" \n",
" 1267211 | \n",
" 1267212 | \n",
" 31.8175 | \n",
"
\n",
" \n",
" 1267216 | \n",
" 1267217 | \n",
" 24.4075 | \n",
"
\n",
" \n",
" 1267227 | \n",
" 1267228 | \n",
" 16.6300 | \n",
"
\n",
" \n",
" 1267237 | \n",
" 1267238 | \n",
" 24.9100 | \n",
"
\n",
" \n",
"
\n",
"
226892 rows × 2 columns
\n",
"
"
],
"text/plain": [
" ID hm_sel\n",
"7 8 32.9475\n",
"11 12 27.4625\n",
"14 15 22.2925\n",
"15 16 9.5900\n",
"16 17 33.4625\n",
"... ... ...\n",
"1267207 1267208 26.5200\n",
"1267211 1267212 31.8175\n",
"1267216 1267217 24.4075\n",
"1267227 1267228 16.6300\n",
"1267237 1267238 24.9100\n",
"\n",
"[226892 rows x 2 columns]"
]
},
"execution_count": 49,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"height_sel"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Import raw data, extracted predictors and show the data distribution"
]
},
{
"cell_type": "code",
"execution_count": 50,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" ID | \n",
" X | \n",
" Y | \n",
" h | \n",
" BLDFIE_WeigAver | \n",
" CECSOL_WeigAver | \n",
" CHELSA_bio18 | \n",
" CHELSA_bio4 | \n",
" convergence | \n",
" cti | \n",
" devmagnitude | \n",
" eastness | \n",
" elev | \n",
" forestheight | \n",
" glad_ard_SVVI_max | \n",
" glad_ard_SVVI_med | \n",
" glad_ard_SVVI_min | \n",
" northness | \n",
" ORCDRC_WeigAver | \n",
" outlet_dist_dw_basin | \n",
" SBIO3_Isothermality_5_15cm | \n",
" SBIO4_Temperature_Seasonality_5_15cm | \n",
" treecover | \n",
"
\n",
" \n",
" \n",
" \n",
" 0 | \n",
" 1 | \n",
" 6.050001 | \n",
" 49.727499 | \n",
" 3139.00 | \n",
" 1540 | \n",
" 13 | \n",
" 2113 | \n",
" 5893 | \n",
" -10.486560 | \n",
" -238043120 | \n",
" 1.158417 | \n",
" 0.069094 | \n",
" 353.983124 | \n",
" 23 | \n",
" 276.871094 | \n",
" 46.444092 | \n",
" 347.665405 | \n",
" 0.042500 | \n",
" 9 | \n",
" 780403 | \n",
" 19.798992 | \n",
" 440.672211 | \n",
" 85 | \n",
"
\n",
" \n",
" 1 | \n",
" 2 | \n",
" 6.050002 | \n",
" 49.922155 | \n",
" 1454.75 | \n",
" 1491 | \n",
" 12 | \n",
" 1993 | \n",
" 5912 | \n",
" 33.274361 | \n",
" -208915344 | \n",
" -1.755341 | \n",
" 0.269112 | \n",
" 267.511688 | \n",
" 19 | \n",
" -49.526367 | \n",
" 19.552734 | \n",
" -130.541748 | \n",
" 0.182780 | \n",
" 16 | \n",
" 772777 | \n",
" 20.889412 | \n",
" 457.756195 | \n",
" 85 | \n",
"
\n",
" \n",
" 2 | \n",
" 3 | \n",
" 6.050002 | \n",
" 48.602377 | \n",
" 853.50 | \n",
" 1521 | \n",
" 17 | \n",
" 2124 | \n",
" 5983 | \n",
" 0.045293 | \n",
" -137479792 | \n",
" 1.908780 | \n",
" -0.016055 | \n",
" 389.751160 | \n",
" 21 | \n",
" 93.257324 | \n",
" 50.743652 | \n",
" 384.522461 | \n",
" 0.036253 | \n",
" 14 | \n",
" 898820 | \n",
" 20.695877 | \n",
" 481.879700 | \n",
" 62 | \n",
"
\n",
" \n",
" 3 | \n",
" 4 | \n",
" 6.050009 | \n",
" 48.151979 | \n",
" 3141.00 | \n",
" 1526 | \n",
" 16 | \n",
" 2569 | \n",
" 6130 | \n",
" -33.654274 | \n",
" -267223072 | \n",
" 0.965787 | \n",
" 0.067767 | \n",
" 380.207703 | \n",
" 27 | \n",
" 542.401367 | \n",
" 202.264160 | \n",
" 386.156738 | \n",
" 0.005139 | \n",
" 15 | \n",
" 831824 | \n",
" 19.375000 | \n",
" 479.410278 | \n",
" 85 | \n",
"
\n",
" \n",
" 4 | \n",
" 5 | \n",
" 6.050010 | \n",
" 49.588410 | \n",
" 2065.25 | \n",
" 1547 | \n",
" 14 | \n",
" 2108 | \n",
" 5923 | \n",
" 27.493824 | \n",
" -107809368 | \n",
" -0.162624 | \n",
" 0.014065 | \n",
" 308.042786 | \n",
" 25 | \n",
" 136.048340 | \n",
" 146.835205 | \n",
" 198.127441 | \n",
" 0.028847 | \n",
" 17 | \n",
" 796962 | \n",
" 18.777500 | \n",
" 457.880066 | \n",
" 85 | \n",
"
\n",
" \n",
" 5 | \n",
" 6 | \n",
" 6.050014 | \n",
" 48.608456 | \n",
" 1246.50 | \n",
" 1515 | \n",
" 19 | \n",
" 2124 | \n",
" 6010 | \n",
" -1.602039 | \n",
" 17384282 | \n",
" 1.447979 | \n",
" -0.018912 | \n",
" 364.527100 | \n",
" 18 | \n",
" 221.339844 | \n",
" 247.387207 | \n",
" 480.387939 | \n",
" 0.042747 | \n",
" 14 | \n",
" 897945 | \n",
" 19.398880 | \n",
" 474.331329 | \n",
" 62 | \n",
"
\n",
" \n",
" 6 | \n",
" 7 | \n",
" 6.050016 | \n",
" 48.571401 | \n",
" 2938.75 | \n",
" 1520 | \n",
" 19 | \n",
" 2169 | \n",
" 6147 | \n",
" 27.856503 | \n",
" -66516432 | \n",
" -1.073956 | \n",
" 0.002280 | \n",
" 254.679596 | \n",
" 19 | \n",
" 125.250488 | \n",
" 87.865234 | \n",
" 160.696777 | \n",
" 0.037254 | \n",
" 11 | \n",
" 908426 | \n",
" 20.170450 | \n",
" 476.414520 | \n",
" 96 | \n",
"
\n",
" \n",
" 7 | \n",
" 8 | \n",
" 6.050019 | \n",
" 49.921613 | \n",
" 3294.75 | \n",
" 1490 | \n",
" 12 | \n",
" 1995 | \n",
" 5912 | \n",
" 22.102139 | \n",
" -297770784 | \n",
" -1.402633 | \n",
" 0.309765 | \n",
" 294.927765 | \n",
" 26 | \n",
" -86.729492 | \n",
" -145.584229 | \n",
" -190.062988 | \n",
" 0.222435 | \n",
" 15 | \n",
" 772784 | \n",
" 20.855963 | \n",
" 457.195404 | \n",
" 86 | \n",
"
\n",
" \n",
" 8 | \n",
" 9 | \n",
" 6.050020 | \n",
" 48.822645 | \n",
" 1623.50 | \n",
" 1554 | \n",
" 18 | \n",
" 1973 | \n",
" 6138 | \n",
" 18.496584 | \n",
" -25336536 | \n",
" -0.800016 | \n",
" 0.010370 | \n",
" 240.493759 | \n",
" 22 | \n",
" -51.470703 | \n",
" -245.886719 | \n",
" 172.074707 | \n",
" 0.004428 | \n",
" 8 | \n",
" 839132 | \n",
" 21.812290 | \n",
" 496.231110 | \n",
" 64 | \n",
"
\n",
" \n",
" 9 | \n",
" 10 | \n",
" 6.050024 | \n",
" 49.847522 | \n",
" 1400.00 | \n",
" 1521 | \n",
" 15 | \n",
" 2187 | \n",
" 5886 | \n",
" -5.660453 | \n",
" -278652608 | \n",
" 1.477951 | \n",
" -0.068720 | \n",
" 376.671143 | \n",
" 12 | \n",
" 277.297363 | \n",
" 273.141846 | \n",
" -138.895996 | \n",
" 0.098817 | \n",
" 13 | \n",
" 768873 | \n",
" 21.137711 | \n",
" 466.976685 | \n",
" 70 | \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" ID X Y h BLDFIE_WeigAver CECSOL_WeigAver \\\n",
"0 1 6.050001 49.727499 3139.00 1540 13 \n",
"1 2 6.050002 49.922155 1454.75 1491 12 \n",
"2 3 6.050002 48.602377 853.50 1521 17 \n",
"3 4 6.050009 48.151979 3141.00 1526 16 \n",
"4 5 6.050010 49.588410 2065.25 1547 14 \n",
"5 6 6.050014 48.608456 1246.50 1515 19 \n",
"6 7 6.050016 48.571401 2938.75 1520 19 \n",
"7 8 6.050019 49.921613 3294.75 1490 12 \n",
"8 9 6.050020 48.822645 1623.50 1554 18 \n",
"9 10 6.050024 49.847522 1400.00 1521 15 \n",
"\n",
" CHELSA_bio18 CHELSA_bio4 convergence cti devmagnitude eastness \\\n",
"0 2113 5893 -10.486560 -238043120 1.158417 0.069094 \n",
"1 1993 5912 33.274361 -208915344 -1.755341 0.269112 \n",
"2 2124 5983 0.045293 -137479792 1.908780 -0.016055 \n",
"3 2569 6130 -33.654274 -267223072 0.965787 0.067767 \n",
"4 2108 5923 27.493824 -107809368 -0.162624 0.014065 \n",
"5 2124 6010 -1.602039 17384282 1.447979 -0.018912 \n",
"6 2169 6147 27.856503 -66516432 -1.073956 0.002280 \n",
"7 1995 5912 22.102139 -297770784 -1.402633 0.309765 \n",
"8 1973 6138 18.496584 -25336536 -0.800016 0.010370 \n",
"9 2187 5886 -5.660453 -278652608 1.477951 -0.068720 \n",
"\n",
" elev forestheight glad_ard_SVVI_max glad_ard_SVVI_med \\\n",
"0 353.983124 23 276.871094 46.444092 \n",
"1 267.511688 19 -49.526367 19.552734 \n",
"2 389.751160 21 93.257324 50.743652 \n",
"3 380.207703 27 542.401367 202.264160 \n",
"4 308.042786 25 136.048340 146.835205 \n",
"5 364.527100 18 221.339844 247.387207 \n",
"6 254.679596 19 125.250488 87.865234 \n",
"7 294.927765 26 -86.729492 -145.584229 \n",
"8 240.493759 22 -51.470703 -245.886719 \n",
"9 376.671143 12 277.297363 273.141846 \n",
"\n",
" glad_ard_SVVI_min northness ORCDRC_WeigAver outlet_dist_dw_basin \\\n",
"0 347.665405 0.042500 9 780403 \n",
"1 -130.541748 0.182780 16 772777 \n",
"2 384.522461 0.036253 14 898820 \n",
"3 386.156738 0.005139 15 831824 \n",
"4 198.127441 0.028847 17 796962 \n",
"5 480.387939 0.042747 14 897945 \n",
"6 160.696777 0.037254 11 908426 \n",
"7 -190.062988 0.222435 15 772784 \n",
"8 172.074707 0.004428 8 839132 \n",
"9 -138.895996 0.098817 13 768873 \n",
"\n",
" SBIO3_Isothermality_5_15cm SBIO4_Temperature_Seasonality_5_15cm treecover \n",
"0 19.798992 440.672211 85 \n",
"1 20.889412 457.756195 85 \n",
"2 20.695877 481.879700 62 \n",
"3 19.375000 479.410278 85 \n",
"4 18.777500 457.880066 85 \n",
"5 19.398880 474.331329 62 \n",
"6 20.170450 476.414520 96 \n",
"7 20.855963 457.195404 86 \n",
"8 21.812290 496.231110 64 \n",
"9 21.137711 466.976685 70 "
]
},
"execution_count": 50,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"predictors = pd.read_csv(\"tree_height/txt/eu_x_y_height_predictors_select.txt\", sep=\" \", index_col=False)\n",
"pd.set_option('display.max_columns',None)\n",
"# change column name\n",
"predictors = predictors.rename({'dev-magnitude':'devmagnitude'} , axis='columns')\n",
"predictors.head(10)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Merge the new height with the predictors table, using the ID as Primary Key"
]
},
{
"cell_type": "code",
"execution_count": 51,
"metadata": {},
"outputs": [],
"source": [
"predictors_hm_sel = pd.merge( predictors , height_sel , left_on='ID' , right_on='ID' , how='right')"
]
},
{
"cell_type": "code",
"execution_count": 52,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" ID | \n",
" X | \n",
" Y | \n",
" h | \n",
" BLDFIE_WeigAver | \n",
" CECSOL_WeigAver | \n",
" CHELSA_bio18 | \n",
" CHELSA_bio4 | \n",
" convergence | \n",
" cti | \n",
" devmagnitude | \n",
" eastness | \n",
" elev | \n",
" forestheight | \n",
" glad_ard_SVVI_max | \n",
" glad_ard_SVVI_med | \n",
" glad_ard_SVVI_min | \n",
" northness | \n",
" ORCDRC_WeigAver | \n",
" outlet_dist_dw_basin | \n",
" SBIO3_Isothermality_5_15cm | \n",
" SBIO4_Temperature_Seasonality_5_15cm | \n",
" treecover | \n",
" hm_sel | \n",
"
\n",
" \n",
" \n",
" \n",
" 0 | \n",
" 8 | \n",
" 6.050019 | \n",
" 49.921613 | \n",
" 3294.75 | \n",
" 1490 | \n",
" 12 | \n",
" 1995 | \n",
" 5912 | \n",
" 22.102139 | \n",
" -297770784 | \n",
" -1.402633 | \n",
" 0.309765 | \n",
" 294.927765 | \n",
" 26 | \n",
" -86.729492 | \n",
" -145.584229 | \n",
" -190.062988 | \n",
" 0.222435 | \n",
" 15 | \n",
" 772784 | \n",
" 20.855963 | \n",
" 457.195404 | \n",
" 86 | \n",
" 32.9475 | \n",
"
\n",
" \n",
" 1 | \n",
" 12 | \n",
" 6.050039 | \n",
" 47.995344 | \n",
" 2746.25 | \n",
" 1523 | \n",
" 12 | \n",
" 2612 | \n",
" 6181 | \n",
" 3.549103 | \n",
" -71279992 | \n",
" 0.507727 | \n",
" -0.021408 | \n",
" 322.920227 | \n",
" 26 | \n",
" 660.006104 | \n",
" 92.722168 | \n",
" 190.979736 | \n",
" -0.034787 | \n",
" 16 | \n",
" 784807 | \n",
" 20.798000 | \n",
" 460.501221 | \n",
" 97 | \n",
" 27.4625 | \n",
"
\n",
" \n",
" 2 | \n",
" 15 | \n",
" 6.050046 | \n",
" 49.865317 | \n",
" 2229.25 | \n",
" 1517 | \n",
" 13 | \n",
" 2191 | \n",
" 5901 | \n",
" 31.054762 | \n",
" -186807440 | \n",
" -1.375050 | \n",
" -0.126880 | \n",
" 291.412537 | \n",
" 7 | \n",
" 1028.385498 | \n",
" 915.806396 | \n",
" 841.586182 | \n",
" 0.024677 | \n",
" 16 | \n",
" 766444 | \n",
" 19.941267 | \n",
" 454.185089 | \n",
" 54 | \n",
" 22.2925 | \n",
"
\n",
" \n",
" 3 | \n",
" 16 | \n",
" 6.050048 | \n",
" 49.050020 | \n",
" 959.00 | \n",
" 1526 | \n",
" 14 | \n",
" 2081 | \n",
" 6100 | \n",
" 9.933455 | \n",
" -183562672 | \n",
" -0.382834 | \n",
" 0.086874 | \n",
" 246.288010 | \n",
" 24 | \n",
" -12.283691 | \n",
" -58.179199 | \n",
" 174.205566 | \n",
" 0.094175 | \n",
" 10 | \n",
" 805730 | \n",
" 19.849365 | \n",
" 470.946533 | \n",
" 78 | \n",
" 9.5900 | \n",
"
\n",
" \n",
" 4 | \n",
" 17 | \n",
" 6.050049 | \n",
" 48.391359 | \n",
" 3346.25 | \n",
" 1489 | \n",
" 19 | \n",
" 2486 | \n",
" 5966 | \n",
" -6.957157 | \n",
" -273522688 | \n",
" 2.989759 | \n",
" 0.214769 | \n",
" 474.409088 | \n",
" 24 | \n",
" 125.583008 | \n",
" 6.154297 | \n",
" 128.129150 | \n",
" 0.017164 | \n",
" 15 | \n",
" 950190 | \n",
" 21.179420 | \n",
" 491.398376 | \n",
" 85 | \n",
" 33.4625 | \n",
"
\n",
" \n",
" 5 | \n",
" 19 | \n",
" 6.050053 | \n",
" 49.877876 | \n",
" 529.00 | \n",
" 1531 | \n",
" 12 | \n",
" 2184 | \n",
" 5915 | \n",
" -24.278454 | \n",
" -377335296 | \n",
" 0.265329 | \n",
" -0.248356 | \n",
" 335.534760 | \n",
" 25 | \n",
" 593.601074 | \n",
" 228.712402 | \n",
" 315.298340 | \n",
" -0.127365 | \n",
" 17 | \n",
" 764713 | \n",
" 19.760756 | \n",
" 448.580811 | \n",
" 96 | \n",
" 5.2900 | \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" ID X Y h BLDFIE_WeigAver CECSOL_WeigAver \\\n",
"0 8 6.050019 49.921613 3294.75 1490 12 \n",
"1 12 6.050039 47.995344 2746.25 1523 12 \n",
"2 15 6.050046 49.865317 2229.25 1517 13 \n",
"3 16 6.050048 49.050020 959.00 1526 14 \n",
"4 17 6.050049 48.391359 3346.25 1489 19 \n",
"5 19 6.050053 49.877876 529.00 1531 12 \n",
"\n",
" CHELSA_bio18 CHELSA_bio4 convergence cti devmagnitude eastness \\\n",
"0 1995 5912 22.102139 -297770784 -1.402633 0.309765 \n",
"1 2612 6181 3.549103 -71279992 0.507727 -0.021408 \n",
"2 2191 5901 31.054762 -186807440 -1.375050 -0.126880 \n",
"3 2081 6100 9.933455 -183562672 -0.382834 0.086874 \n",
"4 2486 5966 -6.957157 -273522688 2.989759 0.214769 \n",
"5 2184 5915 -24.278454 -377335296 0.265329 -0.248356 \n",
"\n",
" elev forestheight glad_ard_SVVI_max glad_ard_SVVI_med \\\n",
"0 294.927765 26 -86.729492 -145.584229 \n",
"1 322.920227 26 660.006104 92.722168 \n",
"2 291.412537 7 1028.385498 915.806396 \n",
"3 246.288010 24 -12.283691 -58.179199 \n",
"4 474.409088 24 125.583008 6.154297 \n",
"5 335.534760 25 593.601074 228.712402 \n",
"\n",
" glad_ard_SVVI_min northness ORCDRC_WeigAver outlet_dist_dw_basin \\\n",
"0 -190.062988 0.222435 15 772784 \n",
"1 190.979736 -0.034787 16 784807 \n",
"2 841.586182 0.024677 16 766444 \n",
"3 174.205566 0.094175 10 805730 \n",
"4 128.129150 0.017164 15 950190 \n",
"5 315.298340 -0.127365 17 764713 \n",
"\n",
" SBIO3_Isothermality_5_15cm SBIO4_Temperature_Seasonality_5_15cm \\\n",
"0 20.855963 457.195404 \n",
"1 20.798000 460.501221 \n",
"2 19.941267 454.185089 \n",
"3 19.849365 470.946533 \n",
"4 21.179420 491.398376 \n",
"5 19.760756 448.580811 \n",
"\n",
" treecover hm_sel \n",
"0 86 32.9475 \n",
"1 97 27.4625 \n",
"2 54 22.2925 \n",
"3 78 9.5900 \n",
"4 85 33.4625 \n",
"5 96 5.2900 "
]
},
"execution_count": 52,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"predictors_hm_sel.head(6)"
]
},
{
"cell_type": "code",
"execution_count": 112,
"metadata": {},
"outputs": [],
"source": [
"predictors_hm_sel = predictors_hm_sel.loc[(predictors['h'] < 5000) ]"
]
},
{
"cell_type": "code",
"execution_count": 113,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" ID | \n",
" X | \n",
" Y | \n",
" h | \n",
" BLDFIE_WeigAver | \n",
" CECSOL_WeigAver | \n",
" CHELSA_bio18 | \n",
" CHELSA_bio4 | \n",
" convergence | \n",
" cti | \n",
" devmagnitude | \n",
" eastness | \n",
" elev | \n",
" forestheight | \n",
" glad_ard_SVVI_max | \n",
" glad_ard_SVVI_med | \n",
" glad_ard_SVVI_min | \n",
" northness | \n",
" ORCDRC_WeigAver | \n",
" outlet_dist_dw_basin | \n",
" SBIO3_Isothermality_5_15cm | \n",
" SBIO4_Temperature_Seasonality_5_15cm | \n",
" treecover | \n",
" hm_sel | \n",
"
\n",
" \n",
" \n",
" \n",
" 1 | \n",
" 12 | \n",
" 6.050039 | \n",
" 47.995344 | \n",
" 2746.25 | \n",
" 1523 | \n",
" 12 | \n",
" 2612 | \n",
" 6181 | \n",
" 3.549103 | \n",
" -71279992 | \n",
" 0.507727 | \n",
" -0.021408 | \n",
" 322.920227 | \n",
" 26 | \n",
" 660.006104 | \n",
" 92.722168 | \n",
" 190.979736 | \n",
" -0.034787 | \n",
" 16 | \n",
" 784807 | \n",
" 20.798000 | \n",
" 460.501221 | \n",
" 97 | \n",
" 27.4625 | \n",
"
\n",
" \n",
" 2 | \n",
" 15 | \n",
" 6.050046 | \n",
" 49.865317 | \n",
" 2229.25 | \n",
" 1517 | \n",
" 13 | \n",
" 2191 | \n",
" 5901 | \n",
" 31.054762 | \n",
" -186807440 | \n",
" -1.375050 | \n",
" -0.126880 | \n",
" 291.412537 | \n",
" 7 | \n",
" 1028.385498 | \n",
" 915.806396 | \n",
" 841.586182 | \n",
" 0.024677 | \n",
" 16 | \n",
" 766444 | \n",
" 19.941267 | \n",
" 454.185089 | \n",
" 54 | \n",
" 22.2925 | \n",
"
\n",
" \n",
" 5 | \n",
" 19 | \n",
" 6.050053 | \n",
" 49.877876 | \n",
" 529.00 | \n",
" 1531 | \n",
" 12 | \n",
" 2184 | \n",
" 5915 | \n",
" -24.278454 | \n",
" -377335296 | \n",
" 0.265329 | \n",
" -0.248356 | \n",
" 335.534760 | \n",
" 25 | \n",
" 593.601074 | \n",
" 228.712402 | \n",
" 315.298340 | \n",
" -0.127365 | \n",
" 17 | \n",
" 764713 | \n",
" 19.760756 | \n",
" 448.580811 | \n",
" 96 | \n",
" 5.2900 | \n",
"
\n",
" \n",
" 8 | \n",
" 27 | \n",
" 6.050083 | \n",
" 49.281439 | \n",
" 3921.25 | \n",
" 1488 | \n",
" 13 | \n",
" 2345 | \n",
" 5915 | \n",
" 3.646593 | \n",
" -223499248 | \n",
" 0.383314 | \n",
" 0.062349 | \n",
" 309.142609 | \n",
" 25 | \n",
" 862.362305 | \n",
" 263.612793 | \n",
" 249.693115 | \n",
" -0.068810 | \n",
" 16 | \n",
" 781120 | \n",
" 17.538614 | \n",
" 463.280243 | \n",
" 100 | \n",
" 39.2125 | \n",
"
\n",
" \n",
" 9 | \n",
" 35 | \n",
" 6.050119 | \n",
" 49.928610 | \n",
" 1765.00 | \n",
" 1510 | \n",
" 13 | \n",
" 1976 | \n",
" 5917 | \n",
" -2.138205 | \n",
" -393005696 | \n",
" -1.467515 | \n",
" -0.316702 | \n",
" 301.649567 | \n",
" 20 | \n",
" 248.561035 | \n",
" 164.831299 | \n",
" 237.283447 | \n",
" -0.144407 | \n",
" 19 | \n",
" 773647 | \n",
" 21.324263 | \n",
" 465.046478 | \n",
" 87 | \n",
" 17.6500 | \n",
"
\n",
" \n",
" ... | \n",
" ... | \n",
" ... | \n",
" ... | \n",
" ... | \n",
" ... | \n",
" ... | \n",
" ... | \n",
" ... | \n",
" ... | \n",
" ... | \n",
" ... | \n",
" ... | \n",
" ... | \n",
" ... | \n",
" ... | \n",
" ... | \n",
" ... | \n",
" ... | \n",
" ... | \n",
" ... | \n",
" ... | \n",
" ... | \n",
" ... | \n",
" ... | \n",
"
\n",
" \n",
" 226876 | \n",
" 1267176 | \n",
" 9.949637 | \n",
" 49.887471 | \n",
" 3266.50 | \n",
" 1558 | \n",
" 14 | \n",
" 2074 | \n",
" 6484 | \n",
" 4.993805 | \n",
" -196691680 | \n",
" 1.260540 | \n",
" 0.044238 | \n",
" 328.019165 | \n",
" 26 | \n",
" -144.124023 | \n",
" -145.522949 | \n",
" -14.317627 | \n",
" 0.020914 | \n",
" 7 | \n",
" 857229 | \n",
" 17.376682 | \n",
" 463.421387 | \n",
" 98 | \n",
" 32.6650 | \n",
"
\n",
" \n",
" 226878 | \n",
" 1267180 | \n",
" 9.949658 | \n",
" 49.856387 | \n",
" 497.00 | \n",
" 1515 | \n",
" 17 | \n",
" 1956 | \n",
" 6561 | \n",
" 34.034641 | \n",
" -126274136 | \n",
" -0.959000 | \n",
" 0.047194 | \n",
" 260.889069 | \n",
" 0 | \n",
" 681.798340 | \n",
" 657.745605 | \n",
" 642.011475 | \n",
" 0.050846 | \n",
" 5 | \n",
" 857225 | \n",
" 21.177349 | \n",
" 573.086243 | \n",
" 12 | \n",
" 4.9700 | \n",
"
\n",
" \n",
" 226879 | \n",
" 1267184 | \n",
" 9.949688 | \n",
" 49.362831 | \n",
" 2344.00 | \n",
" 1517 | \n",
" 15 | \n",
" 2264 | \n",
" 6499 | \n",
" 9.173168 | \n",
" 160967872 | \n",
" 0.645957 | \n",
" -0.011381 | \n",
" 447.678040 | \n",
" 23 | \n",
" 282.119385 | \n",
" 79.830811 | \n",
" 10.140381 | \n",
" 0.014716 | \n",
" 7 | \n",
" 824157 | \n",
" 18.283070 | \n",
" 471.167419 | \n",
" 89 | \n",
" 23.4400 | \n",
"
\n",
" \n",
" 226881 | \n",
" 1267189 | \n",
" 9.949701 | \n",
" 49.114458 | \n",
" 2014.50 | \n",
" 1529 | \n",
" 12 | \n",
" 2608 | \n",
" 6632 | \n",
" 27.137199 | \n",
" 104082784 | \n",
" -0.481382 | \n",
" -0.012974 | \n",
" 447.814392 | \n",
" 21 | \n",
" 187.934082 | \n",
" 90.763672 | \n",
" 168.527100 | \n",
" 0.045602 | \n",
" 18 | \n",
" 907894 | \n",
" 18.010750 | \n",
" 473.227966 | \n",
" 72 | \n",
" 20.1450 | \n",
"
\n",
" \n",
" 226882 | \n",
" 1267192 | \n",
" 9.949731 | \n",
" 49.893196 | \n",
" 2891.00 | \n",
" 1566 | \n",
" 15 | \n",
" 2088 | \n",
" 6482 | \n",
" -36.581142 | \n",
" -219142496 | \n",
" 1.348770 | \n",
" 0.060537 | \n",
" 331.815918 | \n",
" 21 | \n",
" -68.830078 | \n",
" -160.909668 | \n",
" 11.658203 | \n",
" -0.046048 | \n",
" 11 | \n",
" 857705 | \n",
" 16.320225 | \n",
" 450.409271 | \n",
" 75 | \n",
" 28.9100 | \n",
"
\n",
" \n",
"
\n",
"
116199 rows × 24 columns
\n",
"
"
],
"text/plain": [
" ID X Y h BLDFIE_WeigAver \\\n",
"1 12 6.050039 47.995344 2746.25 1523 \n",
"2 15 6.050046 49.865317 2229.25 1517 \n",
"5 19 6.050053 49.877876 529.00 1531 \n",
"8 27 6.050083 49.281439 3921.25 1488 \n",
"9 35 6.050119 49.928610 1765.00 1510 \n",
"... ... ... ... ... ... \n",
"226876 1267176 9.949637 49.887471 3266.50 1558 \n",
"226878 1267180 9.949658 49.856387 497.00 1515 \n",
"226879 1267184 9.949688 49.362831 2344.00 1517 \n",
"226881 1267189 9.949701 49.114458 2014.50 1529 \n",
"226882 1267192 9.949731 49.893196 2891.00 1566 \n",
"\n",
" CECSOL_WeigAver CHELSA_bio18 CHELSA_bio4 convergence cti \\\n",
"1 12 2612 6181 3.549103 -71279992 \n",
"2 13 2191 5901 31.054762 -186807440 \n",
"5 12 2184 5915 -24.278454 -377335296 \n",
"8 13 2345 5915 3.646593 -223499248 \n",
"9 13 1976 5917 -2.138205 -393005696 \n",
"... ... ... ... ... ... \n",
"226876 14 2074 6484 4.993805 -196691680 \n",
"226878 17 1956 6561 34.034641 -126274136 \n",
"226879 15 2264 6499 9.173168 160967872 \n",
"226881 12 2608 6632 27.137199 104082784 \n",
"226882 15 2088 6482 -36.581142 -219142496 \n",
"\n",
" devmagnitude eastness elev forestheight glad_ard_SVVI_max \\\n",
"1 0.507727 -0.021408 322.920227 26 660.006104 \n",
"2 -1.375050 -0.126880 291.412537 7 1028.385498 \n",
"5 0.265329 -0.248356 335.534760 25 593.601074 \n",
"8 0.383314 0.062349 309.142609 25 862.362305 \n",
"9 -1.467515 -0.316702 301.649567 20 248.561035 \n",
"... ... ... ... ... ... \n",
"226876 1.260540 0.044238 328.019165 26 -144.124023 \n",
"226878 -0.959000 0.047194 260.889069 0 681.798340 \n",
"226879 0.645957 -0.011381 447.678040 23 282.119385 \n",
"226881 -0.481382 -0.012974 447.814392 21 187.934082 \n",
"226882 1.348770 0.060537 331.815918 21 -68.830078 \n",
"\n",
" glad_ard_SVVI_med glad_ard_SVVI_min northness ORCDRC_WeigAver \\\n",
"1 92.722168 190.979736 -0.034787 16 \n",
"2 915.806396 841.586182 0.024677 16 \n",
"5 228.712402 315.298340 -0.127365 17 \n",
"8 263.612793 249.693115 -0.068810 16 \n",
"9 164.831299 237.283447 -0.144407 19 \n",
"... ... ... ... ... \n",
"226876 -145.522949 -14.317627 0.020914 7 \n",
"226878 657.745605 642.011475 0.050846 5 \n",
"226879 79.830811 10.140381 0.014716 7 \n",
"226881 90.763672 168.527100 0.045602 18 \n",
"226882 -160.909668 11.658203 -0.046048 11 \n",
"\n",
" outlet_dist_dw_basin SBIO3_Isothermality_5_15cm \\\n",
"1 784807 20.798000 \n",
"2 766444 19.941267 \n",
"5 764713 19.760756 \n",
"8 781120 17.538614 \n",
"9 773647 21.324263 \n",
"... ... ... \n",
"226876 857229 17.376682 \n",
"226878 857225 21.177349 \n",
"226879 824157 18.283070 \n",
"226881 907894 18.010750 \n",
"226882 857705 16.320225 \n",
"\n",
" SBIO4_Temperature_Seasonality_5_15cm treecover hm_sel \n",
"1 460.501221 97 27.4625 \n",
"2 454.185089 54 22.2925 \n",
"5 448.580811 96 5.2900 \n",
"8 463.280243 100 39.2125 \n",
"9 465.046478 87 17.6500 \n",
"... ... ... ... \n",
"226876 463.421387 98 32.6650 \n",
"226878 573.086243 12 4.9700 \n",
"226879 471.167419 89 23.4400 \n",
"226881 473.227966 72 20.1450 \n",
"226882 450.409271 75 28.9100 \n",
"\n",
"[116199 rows x 24 columns]"
]
},
"execution_count": 113,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"predictors_hm_sel"
]
},
{
"cell_type": "code",
"execution_count": 114,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" X | \n",
" Y | \n",
" hm_sel | \n",
"
\n",
" \n",
" \n",
" \n",
" 1 | \n",
" 6.050039 | \n",
" 47.995344 | \n",
" 27.4625 | \n",
"
\n",
" \n",
" 2 | \n",
" 6.050046 | \n",
" 49.865317 | \n",
" 22.2925 | \n",
"
\n",
" \n",
" 5 | \n",
" 6.050053 | \n",
" 49.877876 | \n",
" 5.2900 | \n",
"
\n",
" \n",
" 8 | \n",
" 6.050083 | \n",
" 49.281439 | \n",
" 39.2125 | \n",
"
\n",
" \n",
" 9 | \n",
" 6.050119 | \n",
" 49.928610 | \n",
" 17.6500 | \n",
"
\n",
" \n",
" ... | \n",
" ... | \n",
" ... | \n",
" ... | \n",
"
\n",
" \n",
" 226876 | \n",
" 9.949637 | \n",
" 49.887471 | \n",
" 32.6650 | \n",
"
\n",
" \n",
" 226878 | \n",
" 9.949658 | \n",
" 49.856387 | \n",
" 4.9700 | \n",
"
\n",
" \n",
" 226879 | \n",
" 9.949688 | \n",
" 49.362831 | \n",
" 23.4400 | \n",
"
\n",
" \n",
" 226881 | \n",
" 9.949701 | \n",
" 49.114458 | \n",
" 20.1450 | \n",
"
\n",
" \n",
" 226882 | \n",
" 9.949731 | \n",
" 49.893196 | \n",
" 28.9100 | \n",
"
\n",
" \n",
"
\n",
"
116199 rows × 3 columns
\n",
"
"
],
"text/plain": [
" X Y hm_sel\n",
"1 6.050039 47.995344 27.4625\n",
"2 6.050046 49.865317 22.2925\n",
"5 6.050053 49.877876 5.2900\n",
"8 6.050083 49.281439 39.2125\n",
"9 6.050119 49.928610 17.6500\n",
"... ... ... ...\n",
"226876 9.949637 49.887471 32.6650\n",
"226878 9.949658 49.856387 4.9700\n",
"226879 9.949688 49.362831 23.4400\n",
"226881 9.949701 49.114458 20.1450\n",
"226882 9.949731 49.893196 28.9100\n",
"\n",
"[116199 rows x 3 columns]"
]
},
"execution_count": 114,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"x_y_hm_sel = predictors_hm_sel[[\"X\",\"Y\",\"hm_sel\"]]\n",
"x_y_hm_sel"
]
},
{
"cell_type": "code",
"execution_count": 115,
"metadata": {},
"outputs": [],
"source": [
"#Normalize the data\n",
"from sklearn.preprocessing import MinMaxScaler\n",
"scaler = MinMaxScaler()\n",
"data = scaler.fit_transform(x_y_hm_sel)"
]
},
{
"cell_type": "code",
"execution_count": 116,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"(array([4.4490e+03, 2.5580e+03, 2.3750e+03, 2.2710e+03, 2.7280e+03,\n",
" 3.3330e+03, 4.4110e+03, 5.5060e+03, 6.5250e+03, 7.5690e+03,\n",
" 8.9780e+03, 1.0236e+04, 1.1240e+04, 1.0795e+04, 9.7710e+03,\n",
" 7.9490e+03, 5.6670e+03, 3.7270e+03, 2.4290e+03, 1.4340e+03,\n",
" 8.8400e+02, 4.8700e+02, 2.8500e+02, 1.5300e+02, 1.0600e+02,\n",
" 6.5000e+01, 4.1000e+01, 2.4000e+01, 2.9000e+01, 2.2000e+01,\n",
" 1.6000e+01, 2.0000e+01, 1.5000e+01, 1.2000e+01, 1.5000e+01,\n",
" 5.0000e+00, 9.0000e+00, 8.0000e+00, 7.0000e+00, 7.0000e+00,\n",
" 7.0000e+00, 3.0000e+00, 2.0000e+00, 7.0000e+00, 4.0000e+00,\n",
" 2.0000e+00, 4.0000e+00, 6.0000e+00, 1.0000e+00, 2.0000e+00]),\n",
" array([0. , 0.02, 0.04, 0.06, 0.08, 0.1 , 0.12, 0.14, 0.16, 0.18, 0.2 ,\n",
" 0.22, 0.24, 0.26, 0.28, 0.3 , 0.32, 0.34, 0.36, 0.38, 0.4 , 0.42,\n",
" 0.44, 0.46, 0.48, 0.5 , 0.52, 0.54, 0.56, 0.58, 0.6 , 0.62, 0.64,\n",
" 0.66, 0.68, 0.7 , 0.72, 0.74, 0.76, 0.78, 0.8 , 0.82, 0.84, 0.86,\n",
" 0.88, 0.9 , 0.92, 0.94, 0.96, 0.98, 1. ]),\n",
" )"
]
},
"execution_count": 116,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"