{ "cells": [ { "cell_type": "markdown", "id": "d841f273", "metadata": {}, "source": [ "The following are the steps for using AutoML for a regression task:\n", "\n", "_Note: Setting the flag for featurization= 'True' generates represents molecules using 5 representation techniques._ \n", "\n", "1. Requires an input pandas dataframe consisting of two columns:
\n", " * SMILES strings
\n", " * target property values
\n", "\n", "\n", "2. Molecules are represented as:
\n", " * coloumb matrix
\n", " * rdkit morgan fingerprints
\n", " * MACCs
\n", " * rdkit hashed topological torsion
\n", " * rdkit molecular descriptors (all)
\n", "\n", "\n", "\n", "3. Screens through various sklearn regressor models:
\n", " * [MLPRegressor](https://scikit-learn.org/stable/modules/generated/sklearn.neural_network.MLPRegressor.html)
\n", " * [GradientBoostingRegressor](https://scikit-learn.org/stable/modules/generated/sklearn.ensemble.GradientBoostingRegressor.html)
\n", " * [RandomForestRegressor](https://scikit-learn.org/stable/modules/generated/sklearn.ensemble.RandomForestRegressor.html)
\n", " * [Ridge](https://scikit-learn.org/stable/modules/generated/sklearn.linear_model.Ridge.html)
\n", " * [Lasso](https://scikit-learn.org/stable/modules/generated/sklearn.linear_model.Lasso.html)
\n", " * [SVR](https://scikit-learn.org/stable/modules/generated/sklearn.svm.SVR.html)
\n", " * [ElasticNet](https://scikit-learn.org/stable/modules/generated/sklearn.linear_model.ElasticNet.html)
\n", " * [DecisionTreeRegressor](https://scikit-learn.org/stable/modules/generated/sklearn.tree.DecisionTreeRegressor.html)
\n", "\n", "\n", "Yields 'n-best' models, with optimized hyperparamters.\n", "\n", "Returns dataframe of error metrics, machine learning model, algorithm, tuned hyperparameter values and featurization technique." ] }, { "cell_type": "markdown", "id": "2a2ea142", "metadata": {}, "source": [ "# Load your data " ] }, { "cell_type": "code", "execution_count": 1, "id": "3186feee", "metadata": { "scrolled": true }, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "C:\\Users\\nitin\\Documents\\UB\\Hachmann_Group\\chemml_dev_nitin\\nitinmad\\chemml\\chemml\\datasets\\base.py:2: UserWarning: pkg_resources is deprecated as an API. See https://setuptools.pypa.io/en/latest/pkg_resources.html. The pkg_resources package is slated for removal as early as 2025-11-30. Refrain from using this package or pin to Setuptools<81.\n", " import pkg_resources\n" ] } ], "source": [ "import pandas as pd\n", "import numpy as np\n", "from chemml.chem import Molecule\n", "from chemml.datasets import load_organic_density" ] }, { "cell_type": "code", "execution_count": 2, "id": "56240d5a", "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", "
smilesdensity_Kg/m3
361c1scc(n1)c1ncc(s1)c1c(ccc2c1cccc2)c1cncs11328.35
73S1CC(SC(C1)C1CCCC1)c1cocc1c1ccccc11143.80
374N1CNC(NC1)c1sccc1C1(CSCCS1)c1cccs11351.33
155c1nc(c(s1)c1nsnc1)c1csc(n1)c1cccs11466.57
104Oc1ccc2c(c1c1cocc1)c(ccc2)c1ccccn11207.67
394Oc1ccc(s1)N1CNC(NC1)c1cnccn11355.15
377n1csc(n1)C1(CCCC1)c1csc(c1)c1scnc11311.30
124Oc1ccoc1c1ccnc(c1)c1ccc2c(c1)cccc21226.34
68SC1CCC(C1c1cnccn1)C1CSCCS11238.45
450o1ccc(c1)c1sc(cc1c1ccsc1)c1cccc2c1cccc21246.33
9c1ccc(nc1)c1csc(n1)Oc1ccc2c(c1)cccc21250.51
194c1cnc(cn1)c1nccnc1c1ccc(o1)c1nccs11321.35
406C1NC(NC(N1)c1cc(cc2c1cccc2)c1ccccn1)C1CCCC11106.21
84Sc1oc(c(c1)c1cnccn1)N1CNCNC11340.03
371n1ccc(cc1)c1nccc(c1c1cccs1)c1ccccn11190.34
388Sc1ccc2c(c1)c(ccc2)c1cc2ccccc2cc1c1scnc11215.30
495C1NCN(CN1)c1c(cncc1c1ccco1)c1cocc11267.09
30Cc1c(cc2c(c1c1cnccn1)cccc2)c1cscn11213.76
316c1cnc(cn1)C1(CSCC(S1)c1cscn1)c1ccc2c(c1)cccc21282.68
408Sc1cc(c(o1)c1cscc1)S1393.37
490c1nc(c(s1)c1ccco1)Cc1cccc2c1cccc21218.16
491Cc1csc(n1)c1ccc(cn1)c1cccs11271.32
280Sc1ccc(nc1)c1ccsc1c1cccc2c1cccc21227.39
356C1CCC(C1)c1ncc(s1)c1csc(n1)c1nsnc11335.61
76OC1(CCCC1C1CCCC1)c1cnccn11072.32
\n", "
" ], "text/plain": [ " smiles density_Kg/m3\n", "361 c1scc(n1)c1ncc(s1)c1c(ccc2c1cccc2)c1cncs1 1328.35\n", "73 S1CC(SC(C1)C1CCCC1)c1cocc1c1ccccc1 1143.80\n", "374 N1CNC(NC1)c1sccc1C1(CSCCS1)c1cccs1 1351.33\n", "155 c1nc(c(s1)c1nsnc1)c1csc(n1)c1cccs1 1466.57\n", "104 Oc1ccc2c(c1c1cocc1)c(ccc2)c1ccccn1 1207.67\n", "394 Oc1ccc(s1)N1CNC(NC1)c1cnccn1 1355.15\n", "377 n1csc(n1)C1(CCCC1)c1csc(c1)c1scnc1 1311.30\n", "124 Oc1ccoc1c1ccnc(c1)c1ccc2c(c1)cccc2 1226.34\n", "68 SC1CCC(C1c1cnccn1)C1CSCCS1 1238.45\n", "450 o1ccc(c1)c1sc(cc1c1ccsc1)c1cccc2c1cccc2 1246.33\n", "9 c1ccc(nc1)c1csc(n1)Oc1ccc2c(c1)cccc2 1250.51\n", "194 c1cnc(cn1)c1nccnc1c1ccc(o1)c1nccs1 1321.35\n", "406 C1NC(NC(N1)c1cc(cc2c1cccc2)c1ccccn1)C1CCCC1 1106.21\n", "84 Sc1oc(c(c1)c1cnccn1)N1CNCNC1 1340.03\n", "371 n1ccc(cc1)c1nccc(c1c1cccs1)c1ccccn1 1190.34\n", "388 Sc1ccc2c(c1)c(ccc2)c1cc2ccccc2cc1c1scnc1 1215.30\n", "495 C1NCN(CN1)c1c(cncc1c1ccco1)c1cocc1 1267.09\n", "30 Cc1c(cc2c(c1c1cnccn1)cccc2)c1cscn1 1213.76\n", "316 c1cnc(cn1)C1(CSCC(S1)c1cscn1)c1ccc2c(c1)cccc2 1282.68\n", "408 Sc1cc(c(o1)c1cscc1)S 1393.37\n", "490 c1nc(c(s1)c1ccco1)Cc1cccc2c1cccc2 1218.16\n", "491 Cc1csc(n1)c1ccc(cn1)c1cccs1 1271.32\n", "280 Sc1ccc(nc1)c1ccsc1c1cccc2c1cccc2 1227.39\n", "356 C1CCC(C1)c1ncc(s1)c1csc(n1)c1nsnc1 1335.61\n", "76 OC1(CCCC1C1CCCC1)c1cnccn1 1072.32" ] }, "execution_count": 2, "metadata": {}, "output_type": "execute_result" } ], "source": [ "molecules, target, dragon_subset = load_organic_density()\n", "df=pd.concat([molecules, target], axis=1)\n", "df = df.sample(25, random_state=42)\n", "df" ] }, { "cell_type": "markdown", "id": "61cdf76b", "metadata": {}, "source": [ "# Run autoML for a regression task" ] }, { "cell_type": "code", "execution_count": 3, "id": "97133962", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "featurizing molecules in batches of 2 ...\n", "\u001b[1m25/25\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m19s\u001b[0m 758ms/step\n", "Merging batch features ... [DONE]\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "[11:07:28] DEPRECATION WARNING: please use MorganGenerator\n", "[11:07:28] DEPRECATION WARNING: please use MorganGenerator\n", "[11:07:28] DEPRECATION WARNING: please use MorganGenerator\n", "[11:07:28] DEPRECATION WARNING: please use MorganGenerator\n", "[11:07:28] DEPRECATION WARNING: please use MorganGenerator\n", "[11:07:28] DEPRECATION WARNING: please use MorganGenerator\n", "[11:07:28] DEPRECATION WARNING: please use MorganGenerator\n", "[11:07:28] DEPRECATION WARNING: please use MorganGenerator\n", "[11:07:28] DEPRECATION WARNING: please use MorganGenerator\n", "[11:07:28] DEPRECATION WARNING: please use MorganGenerator\n", "[11:07:28] DEPRECATION WARNING: please use MorganGenerator\n", "[11:07:28] DEPRECATION WARNING: please use MorganGenerator\n", "[11:07:28] DEPRECATION WARNING: please use MorganGenerator\n", "[11:07:28] DEPRECATION WARNING: please use MorganGenerator\n", "[11:07:28] DEPRECATION WARNING: please use MorganGenerator\n", "[11:07:28] DEPRECATION WARNING: please use MorganGenerator\n", "[11:07:28] DEPRECATION WARNING: please use MorganGenerator\n", "[11:07:28] DEPRECATION WARNING: please use MorganGenerator\n", "[11:07:28] DEPRECATION WARNING: please use MorganGenerator\n", "[11:07:28] DEPRECATION WARNING: please use MorganGenerator\n", "[11:07:28] DEPRECATION WARNING: please use MorganGenerator\n", "[11:07:28] DEPRECATION WARNING: please use MorganGenerator\n", "[11:07:28] DEPRECATION WARNING: please use MorganGenerator\n", "[11:07:28] DEPRECATION WARNING: please use MorganGenerator\n", "[11:07:28] DEPRECATION WARNING: please use MorganGenerator\n", "[11:07:28] DEPRECATION WARNING: please use TopologicalTorsionGenerator\n", "[11:07:28] DEPRECATION WARNING: please use TopologicalTorsionGenerator\n", "[11:07:28] DEPRECATION WARNING: please use TopologicalTorsionGenerator\n", "[11:07:28] DEPRECATION WARNING: please use TopologicalTorsionGenerator\n", "[11:07:28] DEPRECATION WARNING: please use TopologicalTorsionGenerator\n", "[11:07:28] DEPRECATION WARNING: please use TopologicalTorsionGenerator\n", "[11:07:28] DEPRECATION WARNING: please use TopologicalTorsionGenerator\n", "[11:07:28] DEPRECATION WARNING: please use TopologicalTorsionGenerator\n", "[11:07:28] DEPRECATION WARNING: please use TopologicalTorsionGenerator\n", "[11:07:28] DEPRECATION WARNING: please use TopologicalTorsionGenerator\n", "[11:07:28] DEPRECATION WARNING: please use TopologicalTorsionGenerator\n", "[11:07:28] DEPRECATION WARNING: please use TopologicalTorsionGenerator\n", "[11:07:28] DEPRECATION WARNING: please use TopologicalTorsionGenerator\n", "[11:07:28] DEPRECATION WARNING: please use TopologicalTorsionGenerator\n", "[11:07:28] DEPRECATION WARNING: please use TopologicalTorsionGenerator\n", "[11:07:28] DEPRECATION WARNING: please use TopologicalTorsionGenerator\n", "[11:07:28] DEPRECATION WARNING: please use TopologicalTorsionGenerator\n", "[11:07:28] DEPRECATION WARNING: please use TopologicalTorsionGenerator\n", "[11:07:28] DEPRECATION WARNING: please use TopologicalTorsionGenerator\n", "[11:07:28] DEPRECATION WARNING: please use TopologicalTorsionGenerator\n", "[11:07:28] DEPRECATION WARNING: please use TopologicalTorsionGenerator\n", "[11:07:28] DEPRECATION WARNING: please use TopologicalTorsionGenerator\n", "[11:07:28] DEPRECATION WARNING: please use TopologicalTorsionGenerator\n", "[11:07:28] DEPRECATION WARNING: please use TopologicalTorsionGenerator\n", "[11:07:28] DEPRECATION WARNING: please use TopologicalTorsionGenerator\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "split done!\n", "Single-core complete \n", "\n", "\n", "--- Screening complete for feature set CoulombMatrix, time taken: 24.063 seconds ---\n", "split done!\n", "Single-core complete \n", "\n", "\n", "--- Screening complete for feature set morganfingerprints_radius3, time taken: 26.558 seconds ---\n", "split done!\n", "Single-core complete \n", "\n", "\n", "--- Screening complete for feature set MACCS_radius3, time taken: 20.941 seconds ---\n", "split done!\n", "Single-core complete \n", "\n", "\n", "--- Screening complete for feature set hashedtopologicaltorsion_radius3, time taken: 23.584 seconds ---\n", "split done!\n", "Single-core complete \n", "\n", "\n", "--- Screening complete for feature set rdkit_descriptors, time taken: 19.822 seconds ---\n", "split done!\n", "Single-core complete \n", "\n", "\n", "--- Screening complete for feature set mord_descriptors, time taken: 25.504 seconds ---\n" ] } ], "source": [ "from chemml.autoML import ModelScreener\n", "MS = ModelScreener(df, target=\"density_Kg/m3\", featurization=True, smiles=\"smiles\", \n", " screener_type=\"regressor\", output_file=\"testing.txt\")\n", "scores = MS.screen_models(n_best=10, multi_core=False)" ] }, { "cell_type": "code", "execution_count": 4, "id": "77ceb22b", "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", " \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", "
MEMAEMSERMSEMSLERMSLEMAPEMaxAPERMSPEMPEMaxAEdeltaMaxEr_squaredstdtime(seconds)ModelparametersFeature
200.1583923.54182016.2286704.0284820.0000100.0032130.2815980.4097980.3216400.0084005.0751429.7901370.98845937.4982184.714186ElasticNet{'alpha': 0.04832930238571757, 'copy_X': True,...rdkit_descriptors
182.2106153.72115216.6954924.0860120.0000100.0032250.2926380.4804070.3221720.1789236.0871958.3530000.98812737.4982182.938873SVR{'C': 6.2105263157894735, 'cache_size': 200, '...rdkit_descriptors
174.8007244.80072445.2609666.7276270.0000280.0053210.3766980.9010280.5301600.37669811.41683110.6251380.96781137.4982182.872375Ridge{'alpha': 5.0, 'copy_X': True, 'fit_intercept'...rdkit_descriptors
190.09665310.271165119.06357510.9116260.0000740.0086200.8088931.2323280.865350-0.01265915.26176724.3301250.91532537.4982184.118833Lasso{'alpha': 0.06951927961775611, 'copy_X': True,...rdkit_descriptors
232.00186211.444190195.57878513.9849490.0001230.0110710.8979541.5861121.1036840.18712219.64320033.8066920.86090937.4982188.573116Lasso{'alpha': 0.005455594781168523, 'copy_X': True...mord_descriptors
240.09843415.575122306.23484017.4995670.0001910.0138121.2209971.8983681.3772000.04458123.51033342.0640680.78221237.49821810.132495ElasticNet{'alpha': 0.0026366508987303605, 'copy_X': Tru...mord_descriptors
158.34618018.830843618.27915324.8652200.0003970.0199301.4921183.2172561.9668770.65271940.76553354.5171370.56029337.4982187.560452Lasso{'alpha': 0.02335721469090124, 'copy_X': True,...hashedtopologicaltorsion_radius3
1424.37779824.377798738.72892427.1795680.0004670.0216071.9091812.8663702.1344301.90918135.49856427.8132760.47463237.4982186.243020Ridge{'alpha': 24.6, 'copy_X': True, 'fit_intercept...hashedtopologicaltorsion_radius3
2217.41141317.522432784.64411628.0115000.0005310.0230461.4120993.9038672.2614651.40374148.34744248.5139710.44197837.4982185.094646SVR{'C': 16.63157894736842, 'cache_size': 200, 'c...mord_descriptors
2117.42122817.602028788.27126028.0761690.0005340.0231001.4183203.9127412.2666801.40470948.45734148.7285410.43939837.4982185.041715Ridge{'alpha': 0.1, 'copy_X': True, 'fit_intercept'...mord_descriptors
\n", "
" ], "text/plain": [ " ME MAE MSE RMSE MSLE RMSLE MAPE \\\n", "20 0.158392 3.541820 16.228670 4.028482 0.000010 0.003213 0.281598 \n", "18 2.210615 3.721152 16.695492 4.086012 0.000010 0.003225 0.292638 \n", "17 4.800724 4.800724 45.260966 6.727627 0.000028 0.005321 0.376698 \n", "19 0.096653 10.271165 119.063575 10.911626 0.000074 0.008620 0.808893 \n", "23 2.001862 11.444190 195.578785 13.984949 0.000123 0.011071 0.897954 \n", "24 0.098434 15.575122 306.234840 17.499567 0.000191 0.013812 1.220997 \n", "15 8.346180 18.830843 618.279153 24.865220 0.000397 0.019930 1.492118 \n", "14 24.377798 24.377798 738.728924 27.179568 0.000467 0.021607 1.909181 \n", "22 17.411413 17.522432 784.644116 28.011500 0.000531 0.023046 1.412099 \n", "21 17.421228 17.602028 788.271260 28.076169 0.000534 0.023100 1.418320 \n", "\n", " MaxAPE RMSPE MPE MaxAE deltaMaxE r_squared std \\\n", "20 0.409798 0.321640 0.008400 5.075142 9.790137 0.988459 37.498218 \n", "18 0.480407 0.322172 0.178923 6.087195 8.353000 0.988127 37.498218 \n", "17 0.901028 0.530160 0.376698 11.416831 10.625138 0.967811 37.498218 \n", "19 1.232328 0.865350 -0.012659 15.261767 24.330125 0.915325 37.498218 \n", "23 1.586112 1.103684 0.187122 19.643200 33.806692 0.860909 37.498218 \n", "24 1.898368 1.377200 0.044581 23.510333 42.064068 0.782212 37.498218 \n", "15 3.217256 1.966877 0.652719 40.765533 54.517137 0.560293 37.498218 \n", "14 2.866370 2.134430 1.909181 35.498564 27.813276 0.474632 37.498218 \n", "22 3.903867 2.261465 1.403741 48.347442 48.513971 0.441978 37.498218 \n", "21 3.912741 2.266680 1.404709 48.457341 48.728541 0.439398 37.498218 \n", "\n", " time(seconds) Model \\\n", "20 4.714186 ElasticNet \n", "18 2.938873 SVR \n", "17 2.872375 Ridge \n", "19 4.118833 Lasso \n", "23 8.573116 Lasso \n", "24 10.132495 ElasticNet \n", "15 7.560452 Lasso \n", "14 6.243020 Ridge \n", "22 5.094646 SVR \n", "21 5.041715 Ridge \n", "\n", " parameters \\\n", "20 {'alpha': 0.04832930238571757, 'copy_X': True,... \n", "18 {'C': 6.2105263157894735, 'cache_size': 200, '... \n", "17 {'alpha': 5.0, 'copy_X': True, 'fit_intercept'... \n", "19 {'alpha': 0.06951927961775611, 'copy_X': True,... \n", "23 {'alpha': 0.005455594781168523, 'copy_X': True... \n", "24 {'alpha': 0.0026366508987303605, 'copy_X': Tru... \n", "15 {'alpha': 0.02335721469090124, 'copy_X': True,... \n", "14 {'alpha': 24.6, 'copy_X': True, 'fit_intercept... \n", "22 {'C': 16.63157894736842, 'cache_size': 200, 'c... \n", "21 {'alpha': 0.1, 'copy_X': True, 'fit_intercept'... \n", "\n", " Feature \n", "20 rdkit_descriptors \n", "18 rdkit_descriptors \n", "17 rdkit_descriptors \n", "19 rdkit_descriptors \n", "23 mord_descriptors \n", "24 mord_descriptors \n", "15 hashedtopologicaltorsion_radius3 \n", "14 hashedtopologicaltorsion_radius3 \n", "22 mord_descriptors \n", "21 mord_descriptors " ] }, "execution_count": 4, "metadata": {}, "output_type": "execute_result" } ], "source": [ "scores" ] }, { "cell_type": "markdown", "id": "f3d0ca50", "metadata": {}, "source": [ "# Save scores to csv" ] }, { "cell_type": "code", "execution_count": 5, "id": "2d4f8e8d", "metadata": {}, "outputs": [], "source": [ "scores.to_csv(\"autoML_test.csv\",index=False)" ] } ], "metadata": { "kernelspec": { "display_name": "chemml_dev_env", "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.12.5" }, "widgets": { "application/vnd.jupyter.widget-state+json": { "state": {}, "version_major": 2, "version_minor": 0 } } }, "nbformat": 4, "nbformat_minor": 5 }