{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Example: Imbalanced datasets\n", "------------------------------\n", "\n", "This example shows how ATOM can help you handle imbalanced datasets. We will evaluate the performance of three different Random Forest models: one trained directly on the imbalanced dataset, one trained on an oversampled dataset and the last one trained on an undersampled dataset." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Load the data" ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "UserWarning: The pandas version installed (1.5.3) does not match the supported pandas version in Modin (1.5.2). This may cause undesired side effects!\n" ] } ], "source": [ "# Import packages\n", "from atom import ATOMClassifier\n", "from sklearn.datasets import make_classification" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [], "source": [ "# Create a mock imbalanced dataset\n", "X, y = make_classification(\n", " n_samples=5000,\n", " n_features=30,\n", " n_informative=20,\n", " weights=(0.95,),\n", " random_state=1,\n", ")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Run the pipeline" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "<< ================== ATOM ================== >>\n", "Algorithm task: binary classification.\n", "\n", "Dataset stats ==================== >>\n", "Shape: (5000, 31)\n", "Train set size: 4000\n", "Test set size: 1000\n", "-------------------------------------\n", "Memory: 1.24 MB\n", "Scaled: False\n", "Outlier values: 570 (0.5%)\n", "\n" ] } ], "source": [ "# Initialize atom\n", "atom = ATOMClassifier(X, y, test_size=0.2, verbose=2, random_state=1)" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\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", " \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", " \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", " \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", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
x0x1x2x3x4x5x6x7x8x9...x21x22x23x24x25x26x27x28x29target
0-0.535760-2.4260451.2568360.374501-3.241958-1.239468-0.208750-6.0159953.6986690.112512...0.044302-1.93572710.8703530.286755-2.4165070.556990-1.5226353.7192011.4491350
1-3.311935-3.149920-0.801252-2.644414-0.704889-3.3122560.7145152.9923455.0569103.036775...2.2243590.451273-1.822108-1.4358010.036132-1.3645831.2156635.2321611.4087980
23.8211991.328129-1.000720-13.1516970.2542531.263636-1.0884514.924264-1.225646-6.974824...3.5412221.686667-13.763703-1.3212561.6776870.774966-5.0676894.663386-1.7141860
35.9311263.3388300.5459062.296355-3.9410883.527252-0.1587703.138381-0.927460-1.642079...-3.6344427.853176-8.4575980.000490-2.612756-1.1382060.4971504.351289-0.3217480
4-2.829472-1.227185-0.7518923.056106-1.988920-2.219184-0.0758825.790102-2.7866712.023458...4.0579541.178564-15.0281871.627140-1.093587-0.4226551.7770116.660638-2.5537230
\n", "

5 rows × 31 columns

\n", "
" ], "text/plain": [ " x0 x1 x2 x3 x4 x5 x6 \\\n", "0 -0.535760 -2.426045 1.256836 0.374501 -3.241958 -1.239468 -0.208750 \n", "1 -3.311935 -3.149920 -0.801252 -2.644414 -0.704889 -3.312256 0.714515 \n", "2 3.821199 1.328129 -1.000720 -13.151697 0.254253 1.263636 -1.088451 \n", "3 5.931126 3.338830 0.545906 2.296355 -3.941088 3.527252 -0.158770 \n", "4 -2.829472 -1.227185 -0.751892 3.056106 -1.988920 -2.219184 -0.075882 \n", "\n", " x7 x8 x9 ... x21 x22 x23 x24 \\\n", "0 -6.015995 3.698669 0.112512 ... 0.044302 -1.935727 10.870353 0.286755 \n", "1 2.992345 5.056910 3.036775 ... 2.224359 0.451273 -1.822108 -1.435801 \n", "2 4.924264 -1.225646 -6.974824 ... 3.541222 1.686667 -13.763703 -1.321256 \n", "3 3.138381 -0.927460 -1.642079 ... -3.634442 7.853176 -8.457598 0.000490 \n", "4 5.790102 -2.786671 2.023458 ... 4.057954 1.178564 -15.028187 1.627140 \n", "\n", " x25 x26 x27 x28 x29 target \n", "0 -2.416507 0.556990 -1.522635 3.719201 1.449135 0 \n", "1 0.036132 -1.364583 1.215663 5.232161 1.408798 0 \n", "2 1.677687 0.774966 -5.067689 4.663386 -1.714186 0 \n", "3 -2.612756 -1.138206 0.497150 4.351289 -0.321748 0 \n", "4 -1.093587 -0.422655 1.777011 6.660638 -2.553723 0 \n", "\n", "[5 rows x 31 columns]" ] }, "execution_count": 4, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Let's have a look at the data. Note that, since the input wasn't\n", "# a dataframe, atom has given default names to the columns.\n", "atom.head()" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Fitting FeatureSelector...\n", "Performing feature selection ...\n", " --> rfe selected 12 features from the dataset.\n", " --> Dropping feature x1 (rank 8).\n", " --> Dropping feature x2 (rank 11).\n", " --> Dropping feature x4 (rank 3).\n", " --> Dropping feature x6 (rank 16).\n", " --> Dropping feature x7 (rank 14).\n", " --> Dropping feature x10 (rank 19).\n", " --> Dropping feature x12 (rank 13).\n", " --> Dropping feature x13 (rank 12).\n", " --> Dropping feature x14 (rank 9).\n", " --> Dropping feature x16 (rank 10).\n", " --> Dropping feature x18 (rank 17).\n", " --> Dropping feature x19 (rank 2).\n", " --> Dropping feature x20 (rank 4).\n", " --> Dropping feature x22 (rank 7).\n", " --> Dropping feature x23 (rank 5).\n", " --> Dropping feature x24 (rank 18).\n", " --> Dropping feature x25 (rank 6).\n", " --> Dropping feature x26 (rank 15).\n" ] } ], "source": [ "# Let's start reducing the number of features\n", "atom.feature_selection(\"RFE\", solver=\"RF\", n_features=12)" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\n", "Training ========================= >>\n", "Models: RF\n", "Metric: balanced_accuracy\n", "\n", "\n", "Results for RandomForest:\n", "Fit ---------------------------------------------\n", "Train evaluation --> balanced_accuracy: 1.0\n", "Test evaluation --> balanced_accuracy: 0.5556\n", "Time elapsed: 1.266s\n", "-------------------------------------------------\n", "Total time: 1.266s\n", "\n", "\n", "Final results ==================== >>\n", "Total time: 1.268s\n", "-------------------------------------\n", "RandomForest --> balanced_accuracy: 0.5556 ~\n" ] } ], "source": [ "# Fit a model directly on the imbalanced data\n", "atom.run(\"RF\", metric=\"ba\")" ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "Branch(master)" ] }, "execution_count": 7, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# The transformer and the models have been added to the branch\n", "atom.branch" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Oversampling" ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "New branch oversample successfully created.\n" ] } ], "source": [ "# Create a new branch for oversampling\n", "atom.branch = \"oversample\"" ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Oversampling with SMOTE...\n", " --> Adding 3570 samples to class 1.\n" ] } ], "source": [ "# Perform oversampling of the minority class\n", "atom.balance(strategy=\"smote\")" ] }, { "cell_type": "code", "execution_count": 10, "metadata": { "scrolled": true }, "outputs": [ { "data": { "text/html": [ "
\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", "
datasettraintest
047313785946
13839378554
\n", "
" ], "text/plain": [ " dataset train test\n", "0 4731 3785 946\n", "1 3839 3785 54" ] }, "execution_count": 10, "metadata": {}, "output_type": "execute_result" } ], "source": [ "atom.classes # Check the balanced training set!" ] }, { "cell_type": "code", "execution_count": 11, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\n", "Training ========================= >>\n", "Models: RF_os\n", "Metric: balanced_accuracy\n", "\n", "\n", "Results for RandomForest:\n", "Fit ---------------------------------------------\n", "Train evaluation --> balanced_accuracy: 1.0\n", "Test evaluation --> balanced_accuracy: 0.7672\n", "Time elapsed: 2.286s\n", "-------------------------------------------------\n", "Total time: 2.286s\n", "\n", "\n", "Final results ==================== >>\n", "Total time: 2.288s\n", "-------------------------------------\n", "RandomForest --> balanced_accuracy: 0.7672 ~\n" ] } ], "source": [ "# Train another model on the new branch. Add a tag after \n", "# the model's acronym to distinguish it from the first model\n", "atom.run(\"rf_os\") # os for oversample" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Undersampling" ] }, { "cell_type": "code", "execution_count": 12, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "New branch undersample successfully created.\n" ] } ], "source": [ "# Create the undersampling branch\n", "# Split from master to not adopt the oversmapling transformer\n", "atom.branch = \"undersample_from_master\"" ] }, { "cell_type": "code", "execution_count": 13, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\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", "
datasettraintest
047313785946
126921554
\n", "
" ], "text/plain": [ " dataset train test\n", "0 4731 3785 946\n", "1 269 215 54" ] }, "execution_count": 13, "metadata": {}, "output_type": "execute_result" } ], "source": [ "atom.classes # In this branch, the data is still imbalanced" ] }, { "cell_type": "code", "execution_count": 14, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Undersampling with NearMiss...\n", " --> Removing 3570 samples from class 0.\n" ] } ], "source": [ "# Perform undersampling of the majority class\n", "atom.balance(strategy=\"NearMiss\")" ] }, { "cell_type": "code", "execution_count": 15, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\n", "Training ========================= >>\n", "Models: RF_us\n", "Metric: balanced_accuracy\n", "\n", "\n", "Results for RandomForest:\n", "Fit ---------------------------------------------\n", "Train evaluation --> balanced_accuracy: 1.0\n", "Test evaluation --> balanced_accuracy: 0.6706\n", "Time elapsed: 0.211s\n", "-------------------------------------------------\n", "Total time: 0.211s\n", "\n", "\n", "Final results ==================== >>\n", "Total time: 0.212s\n", "-------------------------------------\n", "RandomForest --> balanced_accuracy: 0.6706 ~\n" ] } ], "source": [ "atom.run(\"rf_us\")" ] }, { "cell_type": "code", "execution_count": 16, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "Branch(undersample)" ] }, "execution_count": 16, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Check that the branch only contains the desired transformers \n", "atom.branch" ] }, { "cell_type": "code", "execution_count": 17, "metadata": { "collapsed": false, "jupyter": { "outputs_hidden": false } }, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "# Visualize the complete pipeline\n", "atom.plot_pipeline()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Analyze the results" ] }, { "cell_type": "code", "execution_count": 18, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\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", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
accuracyaverage_precisionbalanced_accuracyf1jaccardmatthews_corrcoefprecisionrecallroc_auc
RF0.9520.65620.55560.20000.11110.32521.0000.11110.9107
RF_os0.9560.62150.76720.57690.40540.55420.6000.55560.9251
RF_us0.5090.36870.67060.15780.08570.15450.0870.85190.8258
\n", "
" ], "text/plain": [ " accuracy average_precision balanced_accuracy f1 jaccard \\\n", "RF 0.952 0.6562 0.5556 0.2000 0.1111 \n", "RF_os 0.956 0.6215 0.7672 0.5769 0.4054 \n", "RF_us 0.509 0.3687 0.6706 0.1578 0.0857 \n", "\n", " matthews_corrcoef precision recall roc_auc \n", "RF 0.3252 1.000 0.1111 0.9107 \n", "RF_os 0.5542 0.600 0.5556 0.9251 \n", "RF_us 0.1545 0.087 0.8519 0.8258 " ] }, "execution_count": 18, "metadata": {}, "output_type": "execute_result" } ], "source": [ "atom.evaluate()" ] }, { "cell_type": "code", "execution_count": 19, "metadata": {}, "outputs": [ { "data": { "text/html": [ " \n", " " ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "application/vnd.plotly.v1+json": { "config": { "plotlyServerURL": "https://plot.ly" }, "data": [ { "hovertemplate": "(%{x}, %{y})RF - test", "legendgroup": "RF", "legendgrouptitle": { "font": { "size": 16 }, "text": "RF" }, "line": { "color": "rgb(0, 98, 98)", "width": 2 }, "marker": { "color": "rgb(0, 98, 98)", "line": { "color": "rgba(255, 255, 255, 0.9)", "width": 1 }, "size": 8, "symbol": "circle" }, "mode": "lines", "name": "test", "showlegend": true, "type": "scatter", "x": [ 1, 0.9814814814814815, 0.9629629629629629, 0.9259259259259259, 0.9074074074074074, 0.8518518518518519, 0.8333333333333334, 0.8333333333333334, 0.8333333333333334, 0.8333333333333334, 0.8333333333333334, 0.8333333333333334, 0.8148148148148148, 0.8148148148148148, 0.7777777777777778, 0.7777777777777778, 0.7407407407407407, 0.7407407407407407, 0.7222222222222222, 0.7037037037037037, 0.6851851851851852, 0.6481481481481481, 0.5925925925925926, 0.5555555555555556, 0.5370370370370371, 0.5370370370370371, 0.5, 0.46296296296296297, 0.46296296296296297, 0.4444444444444444, 0.4074074074074074, 0.3888888888888889, 0.37037037037037035, 0.35185185185185186, 0.35185185185185186, 0.3148148148148148, 0.2962962962962963, 0.2777777777777778, 0.25925925925925924, 0.2222222222222222, 0.16666666666666666, 0.12962962962962962, 0.1111111111111111, 0.07407407407407407, 0.05555555555555555, 0.037037037037037035, 0.018518518518518517, 0 ], "xaxis": "x", "y": [ 0.054, 0.07076101468624833, 0.09252669039145907, 0.10989010989010989, 0.1320754716981132, 0.1503267973856209, 0.1717557251908397, 0.1939655172413793, 0.21951219512195122, 0.24725274725274726, 0.26785714285714285, 0.3103448275862069, 0.3308270676691729, 0.36666666666666664, 0.38181818181818183, 0.40384615384615385, 0.43010752688172044, 0.4878048780487805, 0.4936708860759494, 0.5, 0.5285714285714286, 0.5303030303030303, 0.5423728813559322, 0.625, 0.6590909090909091, 0.7435897435897436, 0.75, 0.7352941176470589, 0.7575757575757576, 0.8, 0.7857142857142857, 0.84, 0.9090909090909091, 0.9047619047619048, 0.95, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ], "yaxis": "y" }, { "hovertemplate": "(%{x}, %{y})RF_os - test", "legendgroup": "RF_os", "legendgrouptitle": { "font": { "size": 16 }, "text": "RF_os" }, "line": { "color": "rgb(56, 166, 165)", "width": 2 }, "marker": { "color": "rgb(56, 166, 165)", "line": { "color": "rgba(255, 255, 255, 0.9)", "width": 1 }, "size": 8, "symbol": "circle" }, "mode": "lines", "name": "test", "showlegend": true, "type": "scatter", "x": [ 1, 1, 0.9814814814814815, 0.9814814814814815, 0.9814814814814815, 0.9814814814814815, 0.9814814814814815, 0.9629629629629629, 0.9629629629629629, 0.9629629629629629, 0.9629629629629629, 0.9629629629629629, 0.9629629629629629, 0.9444444444444444, 0.9259259259259259, 0.9074074074074074, 0.8703703703703703, 0.8703703703703703, 0.8703703703703703, 0.8703703703703703, 0.8703703703703703, 0.8518518518518519, 0.8148148148148148, 0.8148148148148148, 0.7962962962962963, 0.7777777777777778, 0.7777777777777778, 0.7777777777777778, 0.7407407407407407, 0.7407407407407407, 0.7222222222222222, 0.6851851851851852, 0.6851851851851852, 0.6851851851851852, 0.6851851851851852, 0.6666666666666666, 0.6481481481481481, 0.6481481481481481, 0.6296296296296297, 0.6296296296296297, 0.6296296296296297, 0.6296296296296297, 0.6296296296296297, 0.6296296296296297, 0.6296296296296297, 0.6296296296296297, 0.6296296296296297, 0.6111111111111112, 0.5925925925925926, 0.5740740740740741, 0.5555555555555556, 0.5555555555555556, 0.5185185185185185, 0.5, 0.48148148148148145, 0.48148148148148145, 0.46296296296296297, 0.4444444444444444, 0.4444444444444444, 0.4444444444444444, 0.4074074074074074, 0.4074074074074074, 0.3888888888888889, 0.37037037037037035, 0.35185185185185186, 0.3333333333333333, 0.3333333333333333, 0.3148148148148148, 0.2962962962962963, 0.2777777777777778, 0.2777777777777778, 0.25925925925925924, 0.24074074074074073, 0.2037037037037037, 0.18518518518518517, 0.14814814814814814, 0.1111111111111111, 0.09259259259259259, 0.037037037037037035, 0 ], "xaxis": "x", "y": [ 0.054, 0.05856832971800434, 0.06370192307692307, 0.07123655913978495, 0.07737226277372262, 0.08660130718954248, 0.09532374100719425, 0.10379241516966067, 0.11279826464208242, 0.12560386473429952, 0.13829787234042554, 0.15028901734104047, 0.1625, 0.16887417218543047, 0.18050541516245489, 0.1891891891891892, 0.2, 0.21076233183856502, 0.22705314009661837, 0.23979591836734693, 0.2554347826086957, 0.26136363636363635, 0.2634730538922156, 0.275, 0.2792207792207792, 0.2857142857142857, 0.3, 0.32061068702290074, 0.3252032520325203, 0.3305785123966942, 0.33620689655172414, 0.3425925925925926, 0.3523809523809524, 0.3627450980392157, 0.37, 0.3673469387755102, 0.3684210526315789, 0.3977272727272727, 0.4, 0.40476190476190477, 0.43037974683544306, 0.4594594594594595, 0.4722222222222222, 0.4857142857142857, 0.5, 0.5074626865671642, 0.5483870967741935, 0.5689655172413793, 0.5614035087719298, 0.5740740740740741, 0.6, 0.6122448979591837, 0.6222222222222222, 0.6585365853658537, 0.65, 0.6666666666666666, 0.6578947368421053, 0.6486486486486487, 0.7058823529411765, 0.7272727272727273, 0.7333333333333333, 0.7586206896551724, 0.75, 0.8, 0.8260869565217391, 0.8181818181818182, 0.9, 0.8947368421052632, 0.9411764705882353, 0.9375, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ], "yaxis": "y" }, { "hovertemplate": "(%{x}, %{y})RF_us - test", "legendgroup": "RF_us", "legendgrouptitle": { "font": { "size": 16 }, "text": "RF_us" }, "line": { "color": "rgb(115, 175, 72)", "width": 2 }, "marker": { "color": "rgb(115, 175, 72)", "line": { "color": "rgba(255, 255, 255, 0.9)", "width": 1 }, "size": 8, "symbol": "circle" }, "mode": "lines", "name": "test", "showlegend": true, "type": "scatter", "x": [ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0.9814814814814815, 0.9814814814814815, 0.9814814814814815, 0.9814814814814815, 0.9814814814814815, 0.9814814814814815, 0.9629629629629629, 0.9629629629629629, 0.9629629629629629, 0.9629629629629629, 0.9629629629629629, 0.9629629629629629, 0.9629629629629629, 0.9629629629629629, 0.9629629629629629, 0.9629629629629629, 0.9629629629629629, 0.9444444444444444, 0.9444444444444444, 0.9444444444444444, 0.9444444444444444, 0.9259259259259259, 0.9074074074074074, 0.8888888888888888, 0.8888888888888888, 0.8888888888888888, 0.8888888888888888, 0.8703703703703703, 0.8703703703703703, 0.8703703703703703, 0.8703703703703703, 0.8703703703703703, 0.8703703703703703, 0.8703703703703703, 0.8518518518518519, 0.8518518518518519, 0.8518518518518519, 0.8518518518518519, 0.8518518518518519, 0.8518518518518519, 0.8518518518518519, 0.8518518518518519, 0.8518518518518519, 0.8518518518518519, 0.8333333333333334, 0.8333333333333334, 0.8148148148148148, 0.7962962962962963, 0.7777777777777778, 0.7407407407407407, 0.7407407407407407, 0.7407407407407407, 0.7407407407407407, 0.7037037037037037, 0.6851851851851852, 0.6851851851851852, 0.6666666666666666, 0.6481481481481481, 0.6111111111111112, 0.5740740740740741, 0.5370370370370371, 0.5185185185185185, 0.5, 0.48148148148148145, 0.4444444444444444, 0.3888888888888889, 0.3888888888888889, 0.37037037037037035, 0.37037037037037035, 0.37037037037037035, 0.2962962962962963, 0.2037037037037037, 0.16666666666666666, 0.12962962962962962, 0.12962962962962962, 0.1111111111111111, 0.1111111111111111, 0.1111111111111111, 0.09259259259259259, 0.07407407407407407, 0.05555555555555555, 0.018518518518518517, 0 ], "xaxis": "x", "y": [ 0.054, 0.05421686746987952, 0.05454545454545454, 0.054933875890132246, 0.055441478439425054, 0.05572755417956656, 0.056016597510373446, 0.05619146722164412, 0.05672268907563025, 0.057203389830508475, 0.057692307692307696, 0.05806451612903226, 0.058315334773218146, 0.05888767720828789, 0.05934065934065934, 0.05947136563876652, 0.060066740823136816, 0.06002265005662514, 0.06077981651376147, 0.06113033448673587, 0.06177156177156177, 0.0624263839811543, 0.06302021403091558, 0.06257521058965103, 0.06295399515738499, 0.06349206349206349, 0.0647571606475716, 0.06540880503144654, 0.06649616368286446, 0.06718346253229975, 0.06842105263157895, 0.06914893617021277, 0.07017543859649122, 0.07133058984910837, 0.07112970711297072, 0.07172995780590717, 0.07275320970042796, 0.07380607814761216, 0.07396449704142012, 0.07324364723467862, 0.07261724659606657, 0.07465007776049767, 0.07643312101910828, 0.07766990291262135, 0.07755775577557755, 0.07859531772575251, 0.07993197278911565, 0.08145580589254767, 0.08274647887323944, 0.0852994555353902, 0.08687615526802218, 0.08695652173913043, 0.08984375, 0.09236947791164658, 0.0968421052631579, 0.10065645514223195, 0.10430839002267574, 0.10747663551401869, 0.11057692307692307, 0.116751269035533, 0.12073490813648294, 0.1232876712328767, 0.1278409090909091, 0.13538461538461538, 0.14052287581699346, 0.14334470989761092, 0.14336917562724014, 0.1520912547528517, 0.1646090534979424, 0.17391304347826086, 0.18181818181818182, 0.19072164948453607, 0.20218579234972678, 0.20930232558139536, 0.22151898734177214, 0.23404255319148937, 0.2421875, 0.26126126126126126, 0.2828282828282828, 0.2967032967032967, 0.3333333333333333, 0.35294117647058826, 0.3387096774193548, 0.3684210526315789, 0.4166666666666667, 0.47619047619047616, 0.5128205128205128, 0.5, 0.5, 0.5294117647058824, 0.5384615384615384, 0.6363636363636364, 0.75, 0.8571428571428571, 1, 1, 1, 1, 1, 1 ], "yaxis": "y" } ], "layout": { "font": { "size": 12 }, "height": 600, "hoverlabel": { "font": { "size": 16 } }, "legend": { "bgcolor": "rgba(255, 255, 255, 0.5)", "font": { "size": 16 }, "groupclick": "toggleitem", "traceorder": "grouped", "x": 0.01, "xanchor": "left", "y": 0.01, "yanchor": "bottom" }, "margin": { "b": 50, "l": 50, "pad": 0, "r": 0, "t": 35 }, "shapes": [ { "layer": "below", "line": { "color": "black", "dash": "dash", "width": 1 }, "opacity": 0.6, "type": "line", "x0": 0, "x1": 1, "xref": "x domain", "y0": 0.054, "y1": 0.054, "yref": "y" } ], "showlegend": true, "template": { "data": { "bar": [ { "error_x": { "color": "#2a3f5f" }, "error_y": { "color": "#2a3f5f" }, "marker": { "line": { "color": "#E5ECF6", "width": 0.5 }, "pattern": { "fillmode": "overlay", "size": 10, "solidity": 0.2 } }, "type": "bar" } ], "barpolar": [ { "marker": { "line": { "color": "#E5ECF6", "width": 0.5 }, "pattern": { "fillmode": "overlay", "size": 10, "solidity": 0.2 } }, "type": "barpolar" } ], "carpet": [ { "aaxis": { "endlinecolor": "#2a3f5f", "gridcolor": "white", "linecolor": "white", "minorgridcolor": "white", "startlinecolor": "#2a3f5f" }, "baxis": { "endlinecolor": "#2a3f5f", "gridcolor": "white", "linecolor": "white", "minorgridcolor": "white", "startlinecolor": "#2a3f5f" }, "type": "carpet" } ], "choropleth": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "type": "choropleth" } ], "contour": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ], "type": "contour" } ], "contourcarpet": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "type": "contourcarpet" } ], "heatmap": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ], "type": "heatmap" } ], "heatmapgl": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ], "type": "heatmapgl" } ], "histogram": [ { "marker": { "pattern": { "fillmode": "overlay", "size": 10, "solidity": 0.2 } }, "type": "histogram" } ], "histogram2d": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ], "type": "histogram2d" } ], "histogram2dcontour": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ], "type": "histogram2dcontour" } ], "mesh3d": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "type": "mesh3d" } ], "parcoords": [ { "line": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "parcoords" } ], "pie": [ { "automargin": true, "type": "pie" } ], "scatter": [ { "fillpattern": { "fillmode": "overlay", "size": 10, "solidity": 0.2 }, "type": "scatter" } ], "scatter3d": [ { "line": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scatter3d" } ], "scattercarpet": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scattercarpet" } ], "scattergeo": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scattergeo" } ], "scattergl": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scattergl" } ], "scattermapbox": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scattermapbox" } ], "scatterpolar": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scatterpolar" } ], "scatterpolargl": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scatterpolargl" } ], "scatterternary": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scatterternary" } ], "surface": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ], "type": "surface" } ], "table": [ { "cells": { "fill": { "color": "#EBF0F8" }, "line": { "color": "white" } }, "header": { "fill": { "color": "#C8D4E3" }, "line": { "color": "white" } }, "type": "table" } ] }, "layout": { "annotationdefaults": { "arrowcolor": "#2a3f5f", "arrowhead": 0, "arrowwidth": 1 }, "autotypenumbers": "strict", "coloraxis": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "colorscale": { "diverging": [ [ 0, "#8e0152" ], [ 0.1, "#c51b7d" ], [ 0.2, "#de77ae" ], [ 0.3, "#f1b6da" ], [ 0.4, "#fde0ef" ], [ 0.5, "#f7f7f7" ], [ 0.6, "#e6f5d0" ], [ 0.7, "#b8e186" ], [ 0.8, "#7fbc41" ], [ 0.9, "#4d9221" ], [ 1, "#276419" ] ], "sequential": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ], "sequentialminus": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ] }, "colorway": [ "#636efa", "#EF553B", "#00cc96", "#ab63fa", "#FFA15A", "#19d3f3", "#FF6692", "#B6E880", "#FF97FF", "#FECB52" ], "font": { "color": "#2a3f5f" }, "geo": { "bgcolor": "white", "lakecolor": "white", "landcolor": "#E5ECF6", "showlakes": true, "showland": true, "subunitcolor": "white" }, "hoverlabel": { "align": "left" }, "hovermode": "closest", "mapbox": { "style": "light" }, "paper_bgcolor": "white", "plot_bgcolor": "#E5ECF6", "polar": { "angularaxis": { "gridcolor": "white", "linecolor": "white", "ticks": "" }, "bgcolor": "#E5ECF6", "radialaxis": { "gridcolor": "white", "linecolor": "white", "ticks": "" } }, "scene": { "xaxis": { "backgroundcolor": "#E5ECF6", "gridcolor": "white", "gridwidth": 2, "linecolor": "white", "showbackground": true, "ticks": "", "zerolinecolor": "white" }, "yaxis": { "backgroundcolor": "#E5ECF6", "gridcolor": "white", "gridwidth": 2, "linecolor": "white", "showbackground": true, "ticks": "", "zerolinecolor": "white" }, "zaxis": { "backgroundcolor": "#E5ECF6", "gridcolor": "white", "gridwidth": 2, "linecolor": "white", "showbackground": true, "ticks": "", "zerolinecolor": "white" } }, "shapedefaults": { "line": { "color": "#2a3f5f" } }, "ternary": { "aaxis": { "gridcolor": "white", "linecolor": "white", "ticks": "" }, "baxis": { "gridcolor": "white", "linecolor": "white", "ticks": "" }, "bgcolor": "#E5ECF6", "caxis": { "gridcolor": "white", "linecolor": "white", "ticks": "" } }, "title": { "x": 0.05 }, "xaxis": { "automargin": true, "gridcolor": "white", "linecolor": "white", "ticks": "", "title": { "standoff": 15 }, "zerolinecolor": "white", "zerolinewidth": 2 }, "yaxis": { "automargin": true, "gridcolor": "white", "linecolor": "white", "ticks": "", "title": { "standoff": 15 }, "zerolinecolor": "white", "zerolinewidth": 2 } } }, "title": { "font": { "size": 24 }, "pad": { "b": 15, "t": 15 }, "x": 0.5, "xanchor": "center", "xref": "paper", "y": 1, "yanchor": "top" }, "width": 900, "xaxis": { "anchor": "y", "automargin": true, "autorange": true, "domain": [ 0, 1 ], "range": [ 0, 1 ], "title": { "font": { "size": 16 }, "text": "Recall" }, "type": "linear" }, "yaxis": { "anchor": "x", "automargin": true, "autorange": true, "domain": [ 0, 1 ], "range": [ 0.0014444444444444426, 1.0525555555555555 ], "title": { "font": { "size": 16 }, "text": "Precision" }, "type": "linear" } } }, "text/html": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "atom.plot_prc()" ] }, { "cell_type": "code", "execution_count": 20, "metadata": {}, "outputs": [ { "data": { "application/vnd.plotly.v1+json": { "config": { "plotlyServerURL": "https://plot.ly" }, "data": [ { "hovertemplate": "(%{x}, %{y})RF - test", "legendgroup": "RF", "legendgrouptitle": { "font": { "size": 16 }, "text": "RF" }, "line": { "color": "rgb(0, 98, 98)", "width": 2 }, "marker": { "color": "rgb(0, 98, 98)", "line": { "color": "rgba(255, 255, 255, 0.9)", "width": 1 }, "size": 8, "symbol": "circle" }, "mode": "lines", "name": "test", "showlegend": true, "type": "scatter", "x": [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.0010570824524312897, 0.0021141649048625794, 0.0021141649048625794, 0.006342494714587738, 0.006342494714587738, 0.008456659619450317, 0.009513742071881607, 0.009513742071881607, 0.010570824524312896, 0.015856236786469344, 0.019027484143763214, 0.02854122621564482, 0.03276955602536998, 0.03488372093023256, 0.040169133192389, 0.04439746300211417, 0.056025369978858354, 0.06553911205073996, 0.07188160676532769, 0.080338266384778, 0.09408033826638477, 0.10570824524312897, 0.13002114164904863, 0.14482029598308668, 0.16913319238900634, 0.19767441860465115, 0.22938689217758984, 0.2748414376321353, 0.3403805496828753, 0.4281183932346723, 0.5391120507399577, 0.7357293868921776, 1 ], "xaxis": "x", "y": [ 0, 0.018518518518518517, 0.07407407407407407, 0.1111111111111111, 0.12962962962962962, 0.16666666666666666, 0.2222222222222222, 0.25925925925925924, 0.3148148148148148, 0.35185185185185186, 0.35185185185185186, 0.37037037037037035, 0.4074074074074074, 0.4444444444444444, 0.46296296296296297, 0.46296296296296297, 0.5, 0.5370370370370371, 0.5370370370370371, 0.5555555555555556, 0.5925925925925926, 0.6481481481481481, 0.6851851851851852, 0.7037037037037037, 0.7407407407407407, 0.7407407407407407, 0.7777777777777778, 0.7777777777777778, 0.8148148148148148, 0.8148148148148148, 0.8333333333333334, 0.8333333333333334, 0.8333333333333334, 0.8333333333333334, 0.8333333333333334, 0.8333333333333334, 0.8518518518518519, 0.9074074074074074, 0.9259259259259259, 0.9629629629629629, 0.9814814814814815, 1 ], "yaxis": "y" }, { "hovertemplate": "(%{x}, %{y})RF_os - test", "legendgroup": "RF_os", "legendgrouptitle": { "font": { "size": 16 }, "text": "RF_os" }, "line": { "color": "rgb(56, 166, 165)", "width": 2 }, "marker": { "color": "rgb(56, 166, 165)", "line": { "color": "rgba(255, 255, 255, 0.9)", "width": 1 }, "size": 8, "symbol": "circle" }, "mode": "lines", "name": "test", "showlegend": true, "type": "scatter", "x": [ 0, 0, 0, 0, 0, 0, 0, 0, 0.0010570824524312897, 0.0010570824524312897, 0.0021141649048625794, 0.0021141649048625794, 0.004228329809725159, 0.004228329809725159, 0.005285412262156448, 0.007399577167019027, 0.007399577167019027, 0.008456659619450317, 0.009513742071881607, 0.010570824524312896, 0.013742071881606765, 0.013742071881606765, 0.014799154334038054, 0.014799154334038054, 0.017970401691331923, 0.0200845665961945, 0.021141649048625793, 0.024312896405919663, 0.026427061310782242, 0.026427061310782242, 0.02959830866807611, 0.03488372093023256, 0.035940803382663845, 0.042283298097251586, 0.052854122621564484, 0.05391120507399577, 0.056025369978858354, 0.06342494714587738, 0.06553911205073996, 0.06659619450317125, 0.06871035940803383, 0.07505285412262157, 0.08139534883720931, 0.08562367864693446, 0.08773784355179703, 0.09408033826638477, 0.10359408033826638, 0.1109936575052854, 0.11733615221987315, 0.1226215644820296, 0.13002114164904863, 0.13742071881606766, 0.14482029598308668, 0.15750528541226216, 0.16913319238900634, 0.18604651162790697, 0.19873150105708245, 0.2219873150105708, 0.23995771670190275, 0.2653276955602537, 0.2832980972515856, 0.3107822410147992, 0.34249471458773784, 0.38266384778012685, 0.4323467230443975, 0.47463002114164904, 0.5317124735729387, 0.5909090909090909, 0.6680761099365751, 0.7304439746300211, 0.8234672304439746, 0.9175475687103594, 1 ], "xaxis": "x", "y": [ 0, 0.037037037037037035, 0.09259259259259259, 0.1111111111111111, 0.18518518518518517, 0.2037037037037037, 0.24074074074074073, 0.2777777777777778, 0.2777777777777778, 0.2962962962962963, 0.3148148148148148, 0.3333333333333333, 0.3333333333333333, 0.35185185185185186, 0.37037037037037035, 0.3888888888888889, 0.4074074074074074, 0.4074074074074074, 0.4444444444444444, 0.4444444444444444, 0.4444444444444444, 0.48148148148148145, 0.48148148148148145, 0.5, 0.5185185185185185, 0.5555555555555556, 0.5555555555555556, 0.5740740740740741, 0.5925925925925926, 0.6111111111111112, 0.6296296296296297, 0.6296296296296297, 0.6296296296296297, 0.6296296296296297, 0.6296296296296297, 0.6296296296296297, 0.6481481481481481, 0.6481481481481481, 0.6666666666666666, 0.6851851851851852, 0.6851851851851852, 0.6851851851851852, 0.7222222222222222, 0.7407407407407407, 0.7407407407407407, 0.7777777777777778, 0.7777777777777778, 0.7777777777777778, 0.7962962962962963, 0.8148148148148148, 0.8148148148148148, 0.8518518518518519, 0.8703703703703703, 0.8703703703703703, 0.8703703703703703, 0.8703703703703703, 0.8703703703703703, 0.9074074074074074, 0.9259259259259259, 0.9444444444444444, 0.9629629629629629, 0.9629629629629629, 0.9629629629629629, 0.9629629629629629, 0.9629629629629629, 0.9629629629629629, 0.9814814814814815, 0.9814814814814815, 0.9814814814814815, 0.9814814814814815, 0.9814814814814815, 1, 1 ], "yaxis": "y" }, { "hovertemplate": "(%{x}, %{y})RF_us - test", "legendgroup": "RF_us", "legendgrouptitle": { "font": { "size": 16 }, "text": "RF_us" }, "line": { "color": "rgb(115, 175, 72)", "width": 2 }, "marker": { "color": "rgb(115, 175, 72)", "line": { "color": "rgba(255, 255, 255, 0.9)", "width": 1 }, "size": 8, "symbol": "circle" }, "mode": "lines", "name": "test", "showlegend": true, "type": "scatter", "x": [ 0, 0, 0, 0, 0.0021141649048625794, 0.004228329809725159, 0.006342494714587738, 0.008456659619450317, 0.011627906976744186, 0.016913319238900635, 0.0200845665961945, 0.023255813953488372, 0.02959830866807611, 0.03805496828752643, 0.04334038054968287, 0.046511627906976744, 0.05496828752642706, 0.06765327695560254, 0.07505285412262157, 0.08668076109936575, 0.10253699788583509, 0.11416490486257928, 0.13002114164904863, 0.14376321353065538, 0.1543340380549683, 0.16596194503171247, 0.18076109936575052, 0.20084566596194503, 0.21458773784355178, 0.2357293868921776, 0.2526427061310782, 0.2653276955602537, 0.27801268498942916, 0.29704016913319237, 0.32452431289640593, 0.3382663847780127, 0.35412262156448204, 0.3678646934460888, 0.39112050739957716, 0.40380549682875266, 0.4175475687103594, 0.43446088794926, 0.45348837209302323, 0.47780126849894294, 0.492600422832981, 0.5105708245243129, 0.5221987315010571, 0.53276955602537, 0.5507399577167019, 0.5602536997885835, 0.5718816067653277, 0.5824524312896406, 0.5909090909090909, 0.6025369978858351, 0.6131078224101479, 0.6289640591966174, 0.6479915433403806, 0.6553911205073996, 0.6617336152219874, 0.6765327695560254, 0.6976744186046512, 0.7040169133192389, 0.7156448202959831, 0.7283298097251586, 0.7399577167019028, 0.7484143763213531, 0.7632135306553911, 0.7716701902748414, 0.7854122621564482, 0.7938689217758985, 0.8107822410147991, 0.8181818181818182, 0.8234672304439746, 0.8329809725158562, 0.8414376321353065, 0.8604651162790697, 0.8657505285412262, 0.8773784355179705, 0.8932346723044398, 0.9027484143763214, 0.904862579281184, 0.912262156448203, 0.9217758985200846, 0.9260042283298098, 0.9323467230443975, 0.9492600422832981, 0.9587737843551797, 0.9619450317124736, 0.9725158562367865, 0.9820295983086681, 0.9894291754756871, 0.9957716701902748, 1 ], "xaxis": "x", "y": [ 0, 0.018518518518518517, 0.05555555555555555, 0.1111111111111111, 0.1111111111111111, 0.12962962962962962, 0.12962962962962962, 0.16666666666666666, 0.2037037037037037, 0.2962962962962963, 0.37037037037037035, 0.37037037037037035, 0.37037037037037035, 0.3888888888888889, 0.3888888888888889, 0.4444444444444444, 0.48148148148148145, 0.5, 0.5185185185185185, 0.5370370370370371, 0.5740740740740741, 0.6111111111111112, 0.6481481481481481, 0.6666666666666666, 0.6851851851851852, 0.6851851851851852, 0.7037037037037037, 0.7407407407407407, 0.7407407407407407, 0.7407407407407407, 0.7407407407407407, 0.7777777777777778, 0.7962962962962963, 0.8148148148148148, 0.8333333333333334, 0.8333333333333334, 0.8518518518518519, 0.8518518518518519, 0.8518518518518519, 0.8518518518518519, 0.8518518518518519, 0.8518518518518519, 0.8518518518518519, 0.8518518518518519, 0.8518518518518519, 0.8518518518518519, 0.8703703703703703, 0.8703703703703703, 0.8703703703703703, 0.8703703703703703, 0.8703703703703703, 0.8703703703703703, 0.8703703703703703, 0.8888888888888888, 0.8888888888888888, 0.8888888888888888, 0.8888888888888888, 0.9074074074074074, 0.9259259259259259, 0.9444444444444444, 0.9444444444444444, 0.9444444444444444, 0.9629629629629629, 0.9629629629629629, 0.9629629629629629, 0.9629629629629629, 0.9629629629629629, 0.9629629629629629, 0.9629629629629629, 0.9629629629629629, 0.9629629629629629, 0.9629629629629629, 0.9629629629629629, 0.9814814814814815, 0.9814814814814815, 0.9814814814814815, 0.9814814814814815, 0.9814814814814815, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ], "yaxis": "y" } ], "layout": { "font": { "size": 12 }, "height": 600, "hoverlabel": { "font": { "size": 16 } }, "legend": { "bgcolor": "rgba(255, 255, 255, 0.5)", "font": { "size": 16 }, "groupclick": "toggleitem", "traceorder": "grouped", "x": 0.99, "xanchor": "right", "y": 0.01, "yanchor": "bottom" }, "margin": { "b": 50, "l": 50, "pad": 0, "r": 0, "t": 35 }, "shapes": [ { "layer": "below", "line": { "color": "black", "dash": "dash", "width": 1 }, "opacity": 0.6, "type": "line", "x0": 0, "x1": 1, "xref": "x domain", "y0": 0, "y1": 1, "yref": "y domain" } ], "showlegend": true, "template": { "data": { "bar": [ { "error_x": { "color": "#2a3f5f" }, "error_y": { "color": "#2a3f5f" }, "marker": { "line": { "color": "#E5ECF6", "width": 0.5 }, "pattern": { "fillmode": "overlay", "size": 10, "solidity": 0.2 } }, "type": "bar" } ], "barpolar": [ { "marker": { "line": { "color": "#E5ECF6", "width": 0.5 }, "pattern": { "fillmode": "overlay", "size": 10, "solidity": 0.2 } }, "type": "barpolar" } ], "carpet": [ { "aaxis": { "endlinecolor": "#2a3f5f", "gridcolor": "white", "linecolor": "white", "minorgridcolor": "white", "startlinecolor": "#2a3f5f" }, "baxis": { "endlinecolor": "#2a3f5f", "gridcolor": "white", "linecolor": "white", "minorgridcolor": "white", "startlinecolor": "#2a3f5f" }, "type": "carpet" } ], "choropleth": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "type": "choropleth" } ], "contour": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ], "type": "contour" } ], "contourcarpet": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "type": "contourcarpet" } ], "heatmap": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ], "type": "heatmap" } ], "heatmapgl": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ], "type": "heatmapgl" } ], "histogram": [ { "marker": { "pattern": { "fillmode": "overlay", "size": 10, "solidity": 0.2 } }, "type": "histogram" } ], "histogram2d": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ], "type": "histogram2d" } ], "histogram2dcontour": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ], "type": "histogram2dcontour" } ], "mesh3d": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "type": "mesh3d" } ], "parcoords": [ { "line": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "parcoords" } ], "pie": [ { "automargin": true, "type": "pie" } ], "scatter": [ { "fillpattern": { "fillmode": "overlay", "size": 10, "solidity": 0.2 }, "type": "scatter" } ], "scatter3d": [ { "line": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scatter3d" } ], "scattercarpet": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scattercarpet" } ], "scattergeo": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scattergeo" } ], "scattergl": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scattergl" } ], "scattermapbox": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scattermapbox" } ], "scatterpolar": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scatterpolar" } ], "scatterpolargl": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scatterpolargl" } ], "scatterternary": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scatterternary" } ], "surface": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ], "type": "surface" } ], "table": [ { "cells": { "fill": { "color": "#EBF0F8" }, "line": { "color": "white" } }, "header": { "fill": { "color": "#C8D4E3" }, "line": { "color": "white" } }, "type": "table" } ] }, "layout": { "annotationdefaults": { "arrowcolor": "#2a3f5f", "arrowhead": 0, "arrowwidth": 1 }, "autotypenumbers": "strict", "coloraxis": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "colorscale": { "diverging": [ [ 0, "#8e0152" ], [ 0.1, "#c51b7d" ], [ 0.2, "#de77ae" ], [ 0.3, "#f1b6da" ], [ 0.4, "#fde0ef" ], [ 0.5, "#f7f7f7" ], [ 0.6, "#e6f5d0" ], [ 0.7, "#b8e186" ], [ 0.8, "#7fbc41" ], [ 0.9, "#4d9221" ], [ 1, "#276419" ] ], "sequential": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ], "sequentialminus": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ] }, "colorway": [ "#636efa", "#EF553B", "#00cc96", "#ab63fa", "#FFA15A", "#19d3f3", "#FF6692", "#B6E880", "#FF97FF", "#FECB52" ], "font": { "color": "#2a3f5f" }, "geo": { "bgcolor": "white", "lakecolor": "white", "landcolor": "#E5ECF6", "showlakes": true, "showland": true, "subunitcolor": "white" }, "hoverlabel": { "align": "left" }, "hovermode": "closest", "mapbox": { "style": "light" }, "paper_bgcolor": "white", "plot_bgcolor": "#E5ECF6", "polar": { "angularaxis": { "gridcolor": "white", "linecolor": "white", "ticks": "" }, "bgcolor": "#E5ECF6", "radialaxis": { "gridcolor": "white", "linecolor": "white", "ticks": "" } }, "scene": { "xaxis": { "backgroundcolor": "#E5ECF6", "gridcolor": "white", "gridwidth": 2, "linecolor": "white", "showbackground": true, "ticks": "", "zerolinecolor": "white" }, "yaxis": { "backgroundcolor": "#E5ECF6", "gridcolor": "white", "gridwidth": 2, "linecolor": "white", "showbackground": true, "ticks": "", "zerolinecolor": "white" }, "zaxis": { "backgroundcolor": "#E5ECF6", "gridcolor": "white", "gridwidth": 2, "linecolor": "white", "showbackground": true, "ticks": "", "zerolinecolor": "white" } }, "shapedefaults": { "line": { "color": "#2a3f5f" } }, "ternary": { "aaxis": { "gridcolor": "white", "linecolor": "white", "ticks": "" }, "baxis": { "gridcolor": "white", "linecolor": "white", "ticks": "" }, "bgcolor": "#E5ECF6", "caxis": { "gridcolor": "white", "linecolor": "white", "ticks": "" } }, "title": { "x": 0.05 }, "xaxis": { "automargin": true, "gridcolor": "white", "linecolor": "white", "ticks": "", "title": { "standoff": 15 }, "zerolinecolor": "white", "zerolinewidth": 2 }, "yaxis": { "automargin": true, "gridcolor": "white", "linecolor": "white", "ticks": "", "title": { "standoff": 15 }, "zerolinecolor": "white", "zerolinewidth": 2 } } }, "title": { "font": { "size": 24 }, "pad": { "b": 15, "t": 15 }, "x": 0.5, "xanchor": "center", "xref": "paper", "y": 1, "yanchor": "top" }, "width": 900, "xaxis": { "anchor": "y", "automargin": true, "domain": [ 0, 1 ], "range": [ -0.03, 1.03 ], "title": { "font": { "size": 16 }, "text": "FPR" }, "type": "linear" }, "yaxis": { "anchor": "x", "automargin": true, "domain": [ 0, 1 ], "range": [ -0.03, 1.03 ], "title": { "font": { "size": 16 }, "text": "TPR" }, "type": "linear" } } }, "text/html": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "atom.plot_roc()" ] } ], "metadata": { "kernelspec": { "display_name": "Python 3 (ipykernel)", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.10.2" }, "toc": { "base_numbering": 1, "nav_menu": {}, "number_sections": true, "sideBar": true, "skip_h1_title": false, "title_cell": "Table of Contents", "title_sidebar": "Contents", "toc_cell": false, "toc_position": {}, "toc_section_display": true, "toc_window_display": false } }, "nbformat": 4, "nbformat_minor": 4 }