RAU_MasterStudy/thesis/old/refs/ANN-ML-checkpoint.ipynb
2025-06-04 20:04:29 +03:00

689 lines
146 KiB
Plaintext

{
"cells": [
{
"cell_type": "code",
"execution_count": 7,
"id": "7fb27b941602401d91542211134fc71a",
"metadata": {},
"outputs": [],
"source": [
"import numpy as np\n",
"import pandas as pd\n",
"import seaborn as sns\n",
"import matplotlib.pyplot as plt\n",
"from sklearn.preprocessing import StandardScaler\n",
"from sklearn.model_selection import train_test_split, cross_val_score, ShuffleSplit\n",
"from sklearn.metrics import accuracy_score, mean_absolute_error\n",
"from sklearn.linear_model import LinearRegression, Ridge, Lasso, LogisticRegression\n",
"from sklearn.svm import SVC, LinearSVC\n",
"from sklearn.tree import DecisionTreeClassifier, ExtraTreeClassifier\n",
"from sklearn.neural_network import MLPClassifier, MLPRegressor\n",
"from sklearn.ensemble import (\n",
" RandomForestClassifier,\n",
" AdaBoostClassifier,\n",
" BaggingClassifier,\n",
" ExtraTreesClassifier,\n",
")\n",
"from sklearn.decomposition import PCA, KernelPCA\n",
"from sklearn.cluster import KMeans, AgglomerativeClustering\n",
"from scipy.cluster.hierarchy import dendrogram, linkage\n",
"from sklearn.feature_selection import SelectKBest, SelectFromModel, f_classif\n",
"# from mlxtend.plotting import plot_decision_regions"
]
},
{
"cell_type": "code",
"execution_count": 8,
"id": "acae54e37e7d407bbb7b55eff062a284",
"metadata": {},
"outputs": [],
"source": [
"# import warnings filter\n",
"from warnings import simplefilter\n",
"\n",
"# ignore all future warnings\n",
"simplefilter(action=\"ignore\", category=FutureWarning)"
]
},
{
"cell_type": "markdown",
"id": "9a63283cbaf04dbcab1f6479b197f3a8",
"metadata": {},
"source": [
"# DataSet"
]
},
{
"cell_type": "code",
"execution_count": 9,
"id": "8dd0d8092fe74a7c96281538738b07e2",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"(33, 32)\n"
]
}
],
"source": [
"df = pd.DataFrame(\n",
" pd.read_csv(\n",
" \"../top_Gads_updated.dat\",\n",
" header=None,\n",
" comment=\"#\",\n",
" sep=\"\\s+\",\n",
" squeeze=True,\n",
" names=[\"material\", \"adsorbate\", \"DF_lower\", \"DF_upper\", \"DF\"],\n",
" )\n",
")\n",
"\n",
"df = df[[\"material\", \"adsorbate\", \"DF\"]]\n",
"aminoacid = df[\"adsorbate\"].unique()\n",
"\n",
"n = {}\n",
"for i in aminoacid:\n",
" n[i] = list(df[df.adsorbate == i][\"DF\"])\n",
"X = pd.DataFrame(n)\n",
"\n",
"X.head(5)\n",
"print(X.shape)\n",
"aminoacids_label = list(df[\"adsorbate\"].unique())\n",
"material_label = list(df[\"material\"].unique())"
]
},
{
"cell_type": "markdown",
"id": "72eea5119410473aa328ad9291626812",
"metadata": {},
"source": [
"# Data Preparation"
]
},
{
"cell_type": "code",
"execution_count": 10,
"id": "8edb47106e1a46a883d545849b8ab81b",
"metadata": {},
"outputs": [],
"source": [
"X.rename(columns={\"C3H6\": \"PRP\", \"C4H6\": \"BUT-2\", \"C4H8\": \"BUT-1\"}, inplace=True)\n",
"X.rename(\n",
" index={\n",
" \"C_amorph-1\": \"C-AM-1\",\n",
" \"C_amorph-2\": \"C-AM-2\",\n",
" \"C_amorph-3\": \"C-AM-3\",\n",
" \"CNT15-COO--10\": \"CNT-COO$^{-}$-high\",\n",
" \"CNT15-COO--3\": \"CNT-COO$^{-}$-low\",\n",
" \"CNT15-COOH-30\": \"CNT-COOH-high\",\n",
" \"CNT15-COOH-3\": \"CNT-COOH-low\",\n",
" \"CNT15-NH2-14\": \"CNT-NH$_{2}$-high\",\n",
" \"CNT15-NH2-2\": \"CNT-NH$_{2}$-low\",\n",
" \"CNT15-NH3+-4\": \"CNT-NH$_{3}^{+}$-high\",\n",
" \"CNT15-NH3+-2\": \"CNT-NH$^{+}_{3}$-low\",\n",
" \"CNT15-OH-14\": \"CNT-OH-high\",\n",
" \"CNT15-OH-4\": \"CNT-OH-low\",\n",
" \"CNT15\": \"CNT\",\n",
" \"Fe2O3-001O\": \"Fe$_{2}$O$_{3}$(001)\",\n",
" \"graphene\": \"GR\",\n",
" \"bi-graphene\": \"bi-GR\",\n",
" \"tri-graphene\": \"tri-GR\",\n",
" \"grapheneoxide\": \"GO\",\n",
" \"redgrapheneoxide\": \"rGO\",\n",
" \"SiO2-Q2\": \"SiO$_{2}$-Q2\",\n",
" \"SiO2-Q4\": \"SiO$_{2}$-Q4\",\n",
" \"TiO2-rut-110\": \"TiO$_{2}$-rut(110)\",\n",
" \"TiO2-ana-101\": \"TiO$_{2}$-ana(101)\",\n",
" \"TiO2-rut-100\": \"TiO$_{2}$-rut(100)\",\n",
" \"TiO2-ana-100\": \"TiO$_{2}$-ana(100)\",\n",
" \"TiO2-ana-101-NB\": \"TiO$_{2}$-ana(101)-NB\",\n",
" \"ZnO-1010\": \"ZnO(10$\\overline{1}}$0)\",\n",
" \"ZnO-1210\": \"ZnO(1$\\overline{2}}$10)\",\n",
" \"ZnS-110\": \"ZnS(110)\",\n",
" \"ZnS-110-coated\": \"ZnS(110)-coated\",\n",
" },\n",
" inplace=True,\n",
")"
]
},
{
"cell_type": "code",
"execution_count": 11,
"id": "10185d26023b46108eb7d9f57d49d2b3",
"metadata": {},
"outputs": [],
"source": [
"main = [\"ASP\", \"VAL\", \"PRO\"]\n",
"aminacid_order = [\n",
" \"ALA\",\n",
" \"ARG\",\n",
" \"ASN\",\n",
" \"ASP\",\n",
" \"CYS\",\n",
" \"CYM\",\n",
" \"GLN\",\n",
" \"GAN\",\n",
" \"GLU\",\n",
" \"HID\",\n",
" \"HIE\",\n",
" \"HIP\",\n",
" \"ILE\",\n",
" \"LEU\",\n",
" \"LYS\",\n",
" \"MET\",\n",
" \"PHE\",\n",
" \"SER\",\n",
" \"THR\",\n",
" \"TRP\",\n",
" \"TYR\",\n",
" \"VAL\",\n",
" \"GLY\",\n",
" \"PRO\",\n",
" \"CHL\",\n",
" \"PHO\",\n",
" \"ETA\",\n",
" \"EST\",\n",
" \"PRP\",\n",
" \"BUT-1\",\n",
" \"BUT-2\",\n",
" \"DGL\",\n",
"]"
]
},
{
"cell_type": "markdown",
"id": "8763a12b2bbd4a93a75aff182afb95dc",
"metadata": {},
"source": [
"# Neural network modelling using MLPRegressor, hidden_layer_sizes=(10),and activation='tanh'"
]
},
{
"cell_type": "code",
"execution_count": 12,
"id": "7623eae2785240b9bd12b16a66d81610",
"metadata": {},
"outputs": [],
"source": [
"def AminoAcid_LR(i):\n",
" X_LR = X[main]\n",
" Y = X[i]\n",
" rs = ShuffleSplit(n_splits=10, test_size=0.3, random_state=0)\n",
" train_score = []\n",
" test_score = []\n",
" train_MAE = []\n",
" test_MAE = []\n",
" for train_index, test_index in rs.split(X_LR):\n",
" Xtrain = X_LR.iloc[list(train_index)]\n",
" Ytrain = Y.iloc[list(train_index)]\n",
" xtest = X_LR.iloc[list(test_index)]\n",
" ytest = Y.iloc[list(test_index)]\n",
" model = MLPRegressor(\n",
" hidden_layer_sizes=(10),\n",
" activation=\"tanh\",\n",
" alpha=0.001,\n",
" solver=\"adam\",\n",
" random_state=10,\n",
" early_stopping=False,\n",
" verbose=False,\n",
" max_iter=2000,\n",
" )\n",
" model.fit(Xtrain, Ytrain)\n",
" Ytrain_pred = model.predict(Xtrain)\n",
" ytest_pred = model.predict(xtest)\n",
" train_score.append(np.round(model.score(Xtrain, Ytrain), 2))\n",
" test_score.append(np.round(model.score(xtest, ytest), 2))\n",
" train_MAE.append(mean_absolute_error(Ytrain, Ytrain_pred))\n",
" test_MAE.append(mean_absolute_error(ytest, ytest_pred))\n",
" return (\n",
" np.round(np.average(train_score), 2),\n",
" np.round(np.std(train_score), 2),\n",
" np.round(np.average(test_score), 2),\n",
" np.round(np.std(test_score), 2),\n",
" np.round(np.average(train_MAE), 2),\n",
" np.round(np.std(train_MAE), 2),\n",
" np.round(np.average(test_MAE), 2),\n",
" np.round(np.std(test_MAE), 2),\n",
" )"
]
},
{
"cell_type": "code",
"execution_count": 6,
"id": "7cdc8c89c7104fffa095e18ddfef8986",
"metadata": {},
"outputs": [],
"source": [
"import warnings\n",
"\n",
"warnings.simplefilter(\"ignore\")\n",
"rest = [i for i in aminacid_order if i not in main]\n",
"with open(\"NN_result.csv\", \"w\") as out_file:\n",
" out_file.write(\n",
" \"#AminoAcid, r2_avg_train, r2_std_train, r2_avg_test, r2_std_test, MAE_avg_train, MAE_std_train, MAE_avg_test, MAE_std_test\"\n",
" + \"\\n\"\n",
" )\n",
" for i in rest:\n",
" (\n",
" r2_avg_train,\n",
" r2_std_train,\n",
" r2_avg_test,\n",
" r2_std_test,\n",
" MAE_avg_train,\n",
" MAE_std_train,\n",
" MAE_avg_test,\n",
" MAE_std_test,\n",
" ) = AminoAcid_LR(i)\n",
" out_file.write(\n",
" \"%s %5.2f %5.2f %5.2f %5.2f %5.2f %5.2f %5.2f %5.2f\\n\"\n",
" % (\n",
" i,\n",
" r2_avg_train,\n",
" r2_std_train,\n",
" r2_avg_test,\n",
" r2_std_test,\n",
" MAE_avg_train,\n",
" MAE_std_train,\n",
" MAE_avg_test,\n",
" MAE_std_test,\n",
" )\n",
" + \"\\n\"\n",
" )"
]
},
{
"cell_type": "code",
"execution_count": 5,
"id": "b118ea5561624da68c537baed56e602f",
"metadata": {},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"/tmp/ipykernel_28684/4046608353.py:4: FutureWarning: The squeeze argument has been deprecated and will be removed in a future version. Append .squeeze(\"columns\") to the call to squeeze.\n",
"\n",
"\n",
" df=pd.DataFrame(pd.read_csv('NN_result.csv',header=None, comment=\"#\",sep='\\s+',\n",
"/tmp/ipykernel_28684/4046608353.py:9: UserWarning: FixedFormatter should only be used together with FixedLocator\n",
" ax[0].set_yticklabels(df.AminoAcid, fontsize=12)\n"
]
},
{
"data": {
"image/png": "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VleQeBI9gzg+QSgS/fOChpEnsCNyK3I4MwkAAAAAAACm0UwCAAAAAACAaY5rJhmGYepxzz33yDAMrVixIuB6hg4dqqOOOkq7du0KuN6MjAz9+te/1tKlS2O5ewAAAAAAAJZy3D2TNm/eXOf5rFmztGHDBq1fv77O9G7dumnFihUaO3aszjjjDB111FG+eY899pjWrl2rpUuXql27dr7pw4cP15QpU+T1erV9+3bNnj1bF198sbxery6++OLo7hgAAAAAAIANOK6Z1KdPnzrPs7KylJSU5Dddkp588kn16tVL1157re8Mox07dmjq1KkaMWKEfv/739cZ36ZNG9968vLy1LdvX+Xk5GjBggU0kwAAAAAAQEJw3GVuoejUqZPuvfdePffcc3rxxRfl9Xp1xRVXKC0tTY888kijy3fo0EFZWVnas2dPDKoFAAAAAACwnuPOTArV2LFjtXz5co0bN07vv/++Xn31Va1cuVJHH310o8tWVFTom2++CXjWEwATDlb6TaqsNyktje+UBRCmAFkTTP0Magj5BEcI4fNRXyifl/r4/ABxKozMsINwcssu7JKfCd9MkqSFCxeqR48euvXWW3XFFVfovPPOCzjO6/WqurpaXq9X5eXlmjp1qo444gjddtttQdddVVWlqqoq33O32x3x+oG4dU6636T6U7xeb2xqiQPkCdBEAbImGPMj4zufyBP4hPD5qK/pS8b35wd1kScJJozMsIP4rv4ndsnPhL7M7bB27dpp7NixkqTbb7896LiHH35YKSkpat68uU444QS9/PLLWrp0qXr37h10meLiYmVmZvoe2dnZEa8fQGIgTwBECnkCIFLIEyAxGV67tLWipKCgQMuWLdP+/fsbHFdUVKSZM2fq66+/VuvWrf3mG4ahkSNHatq0aTp06JD+85//aMaMGfrxxx/1r3/9S126dAm43kCd+uzsbGlVhZSWEd7OAfEuwGmy+8+s+9wup3FKP31+MzMzVVFRoYyM2H9+g+WJVfUg+oxSqytwiBBOya+fQQ0JJ5/smiccnySgMC5ZCeXzUp+d/r7HO/IEMRXnl7mFk1t2Ec38DCVPuMwtBFlZWcrNzZX007e5de3aVf3799f111+vVatWBVzG5XLJ5XLFskwgfqT6ByHHlsGRJ0ATBciaYBIlg8gT+ITw+agvUT4vaBh5kmDCyAw7ILci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zLZt29SpU6ewigzVW2+9pd/97nc67rjj5HK51KZNG+Xl5WnKlCm+Mfn5+TIMI+Cj9qV7paWldeYlJycrKytLw4YN09atW2O6XwAAAAAAAFYL6wbcU6dO1dq1a/Xiiy9Kknr27KmioiLf/A8++EBlZWWaMWNGWEWGYvXq1Tr//POVn5+vu+++W23bttXu3bu1detWPffcc7rvvvt8Yzt16qRnnnnGbx0ul8tv2uzZszVgwAAdOnRI//73vzVz5kz1799fb7/9trp06RLVfQIAAAAAALCLsJpJGRkZ2rJli7Zt2yZJ6tq1q5KTk33zU1NT9dJLLyk3Nze8KkNw9913q2PHjnrllVfUrNnPu/f73/9ed999d52xqamp6tOnj6n1dunSxTe2X79+OvLIIzV69Gg9/fTTmjlzZuR2AAAAAAAAwMbCaiYd1qNHj4DTc3Jy6lwyFgv79u1T69at6zSSDktKCuuqvjoON8j27NkTsXUCAAAAAADYXUSaSV9++aX++te/6sMPP9SBAwf0xBNPSJK+/vprbd++XT179lRqamokNtWovLw8PfHEE/rjH/+oSy65RKeeeqpSUlKCjq+urvablpSU1Gjjafv27ZKkE044IbyCAdhGzQ8/SJIqKyt909LS0qwqB0AEHf58R1rtvIjFcnZS88MPqqysJCcBRFztzOa4DLCnsJtJDz/8sKZMmaKqqipJkmEYvmbSV199pby8PD366KO66qqrwt2UKXfddZc+/PBDPfTQQ3rooYeUkpKi0047TcOGDdOECROUnp7uG/vee+8FbDRdccUVvn04rKamRtXV1b57Jk2ZMkXdunXTmDFjGqynqqrK99pIktvtDnMPAUTLZyMvlySl63LfNK/Xa1U5fsgToOkOf74jrXZexJNI5MlnIy9Xui63VU4CiL1oHJ/Uzmy7HpcBiS6s675WrlypCRMmqGfPnlqxYoXGjRtXZ3737t118skna/ny5eFsJiRHH320XnvtNZWVlemuu+7Sb3/7W3300UeaMWOGevbsqb179/rGdu7cWWVlZX6PW265xW+9o0aNUkpKio444gj17dtXbrdbq1ev1pFHHtlgPcXFxcrMzPQ9srOzI73LABIEeQIgUsgTAJFCngCJyfCG0d4988wz9dlnn+m9995TWlqaZs6cqdtvv10ej8c35vLLL9drr73muyzMCocO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AAAAAAAA4lZIzaSioqIolWGtZcuWadmyZX7T+/btq9dff92CigAAAAAAAOzJMTfgLigoUEFBQaPjtm3bVud5U77asbS0NORlAAAAAAAAnCBizaQ333xTb7/9tioqKpSRkaFTTjlFffv2jdTqAQAAAAAAYANhN5PeeustjR49Wv/73/8k/XSmz+H7KnXp0kWLFy9WXl5euJsBAAAAAACADYTVTPrggw80ePBgVVZWaujQocrPz9cxxxyjPXv2qLS0VGvWrNHQoUO1ZcsWbmQNAAAAAADgAGE1k2bOnKkff/xRr7zyioYMGVJn3g033KB//OMfOvfcc3X77bfrueeeC6tQp6l46KfLAQEACMb7eOj39QPCwfEJgEghTwBnSwpn4Q0bNmj48OF+jaTDBg8erIsuukgbNmwIZzMAAAAAAACwibCaSRUVFcrJyWlwTMeOHVVRURHOZgAAAAAAAGATYTWT2rVrpy1btjQ45q233lK7du3C2QwAAAAAAABsIqx7Jv32t7/Vn//8Z91yyy266aab1KJFC9+8H374QcXFxdqwYYP++Mc/hl2o06xQXx2hZKvLABzjQr1tdQlAxP1Vp1hdgq3wOY8+px2f8J4BrOO0PIklsgvxIKxm0i233KJVq1Zp9uzZWrBggU4//XS1adNGe/bsUVlZmb7++mt16tRJt9xyS6TqBQAAAAAAgIXCaiYdddRReuuttzRt2jQ999xz+vvf/+6b16JFCxUWFmrOnDk66qijwi4UAAAAAAAA1gurmST91FBauHChHn30UX344Ydyu93KyMjQSSedpJSUlEjUCAAAAAAAAJsI6wbctaWkpKhnz57q27evevbsabtGUklJiQzD0NatW33TzjvvPB155JH6/PPP/cZ/8803atu2rfr27auamhpJ0gcffKDLLrtMnTp1UosWLdS6dWudeuqpmjBhgtxud8z2BQAAAAAAwCoRaybFoyeeeELNmjXTlVde6TdvwoQJ+v777/Xkk08qKSlJ//73v9W7d2+9//77uvXWW7VmzRo9+uijOvfcc/XKK6/om2++sWAPAAAAAAAAYivsy9zefPNN3XPPPXrnnXe0c+dOVVdX+40xDCPgdKsdc8wxevjhhzVq1CgtWLBAY8eOlSS99NJLWrp0qR5++GEdf/zxkqQHHnhASUlJKi0tVcuWLX3rGD58uGbNmiWv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GItJRERERERERESkGItJRERERERERESkGItJRERERERERESkGItJRERERERERESkGItJRERERERERESkGItJRERERERERESkGItJRERERERERESkGItJRERERERERESkGItJRERERERERESkGItJRERERERERESkGItJRERERERERESkGItJRERERERERESkGItJRERERERERESkGItJRERERERERESkGItJRERERERERESkGItJRERERERERESkGItJRERERERERESkGItJRERERERERESkGItJRERERERERESkGItJRERERERERESkGItJRERERERERESkGItJRERERERERESkGItJRERERERERESkGItJRERERERERESkGItJRERERERERESkGItJRERERERERESkGItJRERERERERESkGItJRERERERERESkGItJRERERERERESkGItJRERERERERESkGItJRERERERERESkmJOlA3jYiAgAIDc318KREJGhSvbbkv3Y0phPiGwX8wkRGQvzCREZiyH5hMUkM7t27RoAICAgwMKREFFVXbt2DRqNxtJhMJ8Q2QHmEyIyFuYTIjKWvLy8SvMJi0lmVr16dQDA2bNnrSLZGyo3NxcBAQE4d+4cvLy8LB2OwRi/Zdl6/Dk5OahXr552P7Y0W88nhrL1z4+hOF77xnxiWQ/b543jtW/MJ+Zj758tex4fx6aMiCAvLw9+fn6VtmUxycwcHO7dpkqj0dj0h9jLy4vxWxDjt6yS/djS7CWfGMrWPz+G4njtG/OJZT1snzeO174xn5iPvX+27Hl8HFvllBaBrSPjEBERERERERGRTWAxiYiIiIiIiIiIFGMxyczUajXi4+OhVqstHUqVMH7LYvyWZW3xW1s8psbx2jeO17KsLR5T43jtG8drWdYWjzHZ89gA+x4fx2Z8KrGWZ0gSEREREREREZHV45lJRERERERERESkGItJRERERERERESkGItJRERERERERESkGItJRERERERERESkGItJJrBw4UI0aNAArq6uaNeuHbZv315h+7S0NLRr1w6urq5o2LAhFi9ebKZI9TMk/rVr16Jnz56oWbMmvLy8EBISgs2bN5sxWl2Gvv4lfvzxRzg5OeGxxx4zbYCVMDT+/Px8vPXWWwgMDIRarUajRo2QlJRkpmh1GRr/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z0tsbKw2h3h5ecmjjz4qMTExsnXrVm27TZs2yYgRI6RZs2bi6ekp1apVkxYtWsjbb7+t8+TavLw8efHFF8XX11ccHBxs/im2LCbRA8vIyBAA8uSTT+pdXlxcLHXq1BGVSqXziMkHpdFoxNfXVwYNGiSTJk2S2NhY7Y+yyMjIMm3/9a9/iUqlEg8PDxk2bJi8+eabMmrUKGncuLHExsaWaTthwgQBIAEBARIXFyexsbESEBAgAOTVV1/VtlPyKOtPP/1UHB0dxc3NTZ577jmZMmWKjBkzRsLDw0WtVsvLL79cpbE/SDGp5CDn7e0tL730krz66qvSqlUrqVGjhoSFhbGYRFaBucX6couh/RryOt69e1f8/PzE1dVVxo0bJ++//74kJCRIdnZ2lcZBZEmbN2/W++hwQxQVFYmbm5s0aNBAO2/QoEFSvXp1nSKtNRs+fLg88sgjcv36dUuHQmQXmF/+wvxiWSwm0QP77LPPBIBMnDix3DYxMTECQBYsWGDUvhcuXCjPPPOMBAYGiqurq9SoUUM6duwoS5Ys0ZsIU1NTpU+fPlK9enVxcXERf39/ee655+THH3/UaZuUlCTBwcHi7u4u7u7uEhwcLElJSTrbU1JR/umnn2TIkCHi5+cnzs7O4uPjI23btpWpU6fKL7/8UqWxP0gxSUQkJSVF2rZtK+7u7uLj4yODBw+WEydO6P2XPhaTyBKYW6wvtxjar6Gv4+7duyU0NFQ8PT31niVJZEt69uwpLVu2lKKioiqtv2nTJgEgQ4YMEZF7Zxd4enrKCy+8YMwwTerYsWPi6Ogo8+bNs3QoRHaF+YX5xRqoRB7w+clERERERFTGb7/9huTkZLz44ouV3qC/tMWLF2Pv3r1ITk5GQUEBduzYgU6dOpkwUtPZtm0btm/fjjfeeAMuLi6WDofIbjC/ML9YAxaTiIiIiIisRJs2bXD06FG0adMG06dPR3h4uKVDIiI7wfxCxsRiEhERERERERERKeZg6QCIiIiIiIiIiMh2sJhERERERERERESKsZhERERERERERESKsZhERERERERERESKsZhERERERERERESKsZhERERERERERESKsZhERERERERERESKsZhERERERERERESKsZhERERERERERESKsZhERERERERERESKsZhERERERERERESKsZhERERERERERESK/R9/sqls23jDxwAAAABJRU5ErkJggg==\n",
"text/plain": [
"<Figure size 1200x1000 with 4 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"flatui = [\n",
" \"black\",\n",
" \"grey\",\n",
" \"rosybrown\",\n",
" \"darkred\",\n",
" \"indianred\",\n",
" \"salmon\",\n",
" \"red\",\n",
" \"coral\",\n",
" \"tan\",\n",
" \"gold\",\n",
" \"y\",\n",
" \"olive\",\n",
" \"yellow\",\n",
" \"greenyellow\",\n",
" \"darkgreen\",\n",
" \"lime\",\n",
" \"lightseagreen\",\n",
" \"aqua\",\n",
" \"lightsteelblue\",\n",
" \"deepskyblue\",\n",
" \"royalblue\",\n",
" \"slateblue\",\n",
" \"mediumpurple\",\n",
" \"darkviolet\",\n",
" \"violet\",\n",
" \"magenta\",\n",
" \"deeppink\",\n",
" \"pink\",\n",
" \"crimson\",\n",
"]\n",
"fig, ax = plt.subplots(1, 4, figsize=(12, 10), sharey=True)\n",
"fig.subplots_adjust(left=0.06, right=0.95, wspace=0.15)\n",
"df = pd.DataFrame(\n",
" pd.read_csv(\n",
" \"NN_result.csv\",\n",
" header=None,\n",
" comment=\"#\",\n",
" sep=\"\\s+\",\n",
" squeeze=True,\n",
" names=[\n",
" \"AminoAcid\",\n",
" \"r2_avg_train\",\n",
" \"r2_std_train\",\n",
" \"r2_avg_test\",\n",
" \"r2_std_test\",\n",
" \"MAE_avg_train\",\n",
" \"MAE_std_train\",\n",
" \"MAE_avg_test\",\n",
" \"MAE_std_test\",\n",
" ],\n",
" )\n",
")\n",
"ax[0].barh(df.AminoAcid, df.r2_avg_train, xerr=df.r2_std_train, color=flatui)\n",
"ax[0].set_xlabel(\"$R^2$ score Train\", fontsize=14)\n",
"ax[0].set_yticklabels(df.AminoAcid, fontsize=12)\n",
"ax[0].set_xlim(0, 1)\n",
"\n",
"ax[1].barh(df.AminoAcid, df.r2_avg_test, xerr=df.r2_std_test, color=flatui)\n",
"ax[1].set_xlabel(\"$R^2$ score Test\", fontsize=14)\n",
"ax[1].set_xlim(-1, 1)\n",
"\n",
"ax[2].barh(df.AminoAcid, df.MAE_avg_train, xerr=df.MAE_std_train, color=flatui)\n",
"ax[2].set_xlabel(\"MAE (kJ/mol) Train\", fontsize=14)\n",
"ax[2].set_xlim(0, 4)\n",
"\n",
"ax[3].barh(df.AminoAcid, df.MAE_avg_test, xerr=df.MAE_std_test, color=flatui)\n",
"ax[3].set_xlabel(\"MAE (kJ/mol) Test\", fontsize=14)\n",
"ax[2].set_xlim(0, 4)\n",
"\n",
"ax[0].set_ylabel(\"Biomolecules\", fontsize=14)\n",
"plt.savefig(\"NN_result.png\", format=\"png\", dpi=1000, bbox_inches=\"tight\")"
]
},
{
"cell_type": "code",
"execution_count": 9,
"id": "938c804e27f84196a10c8828c723f798",
"metadata": {},
"outputs": [],
"source": [
"main = [\"ASP\", \"VAL\", \"PRO\", \"ETA\", \"PHO\"]"
]
},
{
"cell_type": "code",
"execution_count": 10,
"id": "504fb2a444614c0babb325280ed9130a",
"metadata": {},
"outputs": [],
"source": [
"def AminoAcid_LR(i):\n",
" X_LR = X[main]\n",
" Y = X[i]\n",
" rs = ShuffleSplit(n_splits=20, test_size=0.3, random_state=0)\n",
" train_score = []\n",
" test_score = []\n",
" train_MAE = []\n",
" test_MAE = []\n",
" for train_index, test_index in rs.split(X_LR):\n",
" Xtrain = X_LR.iloc[list(train_index)]\n",
" Ytrain = Y.iloc[list(train_index)]\n",
" xtest = X_LR.iloc[list(test_index)]\n",
" ytest = Y.iloc[list(test_index)]\n",
" model = MLPRegressor(\n",
" hidden_layer_sizes=(10),\n",
" activation=\"tanh\",\n",
" alpha=0.001,\n",
" solver=\"adam\",\n",
" random_state=10,\n",
" early_stopping=False,\n",
" verbose=False,\n",
" max_iter=2000,\n",
" )\n",
" model.fit(Xtrain, Ytrain)\n",
" Ytrain_pred = model.predict(Xtrain)\n",
" ytest_pred = model.predict(xtest)\n",
" train_score.append(np.round(model.score(Xtrain, Ytrain), 2))\n",
" test_score.append(np.round(model.score(xtest, ytest), 2))\n",
" train_MAE.append(mean_absolute_error(Ytrain, Ytrain_pred))\n",
" test_MAE.append(mean_absolute_error(ytest, ytest_pred))\n",
" return (\n",
" np.round(np.average(train_score), 2),\n",
" np.round(np.std(train_score), 2),\n",
" np.round(np.average(test_score), 2),\n",
" np.round(np.std(test_score), 2),\n",
" np.round(np.average(train_MAE), 2),\n",
" np.round(np.std(train_MAE), 2),\n",
" np.round(np.average(test_MAE), 2),\n",
" np.round(np.std(test_MAE), 2),\n",
" )"
]
},
{
"cell_type": "code",
"execution_count": 11,
"id": "59bbdb311c014d738909a11f9e486628",
"metadata": {},
"outputs": [],
"source": [
"import warnings\n",
"\n",
"warnings.simplefilter(\"ignore\")\n",
"rest = [i for i in aminacid_order if i not in main]\n",
"with open(\"NN_result_modify.csv\", \"w\") as out_file:\n",
" out_file.write(\n",
" \"#AminoAcid, r2_avg_train, r2_std_train, r2_avg_test, r2_std_test, MAE_avg_train, MAE_std_train, MAE_avg_test, MAE_std_test\"\n",
" + \"\\n\"\n",
" )\n",
" for i in rest:\n",
" (\n",
" r2_avg_train,\n",
" r2_std_train,\n",
" r2_avg_test,\n",
" r2_std_test,\n",
" MAE_avg_train,\n",
" MAE_std_train,\n",
" MAE_avg_test,\n",
" MAE_std_test,\n",
" ) = AminoAcid_LR(i)\n",
" out_file.write(\n",
" \"%s %5.2f %5.2f %5.2f %5.2f %5.2f %5.2f %5.2f %5.2f\\n\"\n",
" % (\n",
" i,\n",
" r2_avg_train,\n",
" r2_std_train,\n",
" r2_avg_test,\n",
" r2_std_test,\n",
" MAE_avg_train,\n",
" MAE_std_train,\n",
" MAE_avg_test,\n",
" MAE_std_test,\n",
" )\n",
" + \"\\n\"\n",
" )"
]
},
{
"cell_type": "code",
"execution_count": 6,
"id": "b43b363d81ae4b689946ece5c682cd59",
"metadata": {},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"/tmp/ipykernel_28684/3291308028.py:7: FutureWarning: The squeeze argument has been deprecated and will be removed in a future version. Append .squeeze(\"columns\") to the call to squeeze.\n",
"\n",
"\n",
" df=pd.DataFrame(pd.read_csv('NN_result_modify.csv',header=None, comment=\"#\",sep='\\s+',\n",
"/tmp/ipykernel_28684/3291308028.py:12: UserWarning: FixedFormatter should only be used together with FixedLocator\n",
" ax[0].set_yticklabels(df.AminoAcid, fontsize=12)\n"
]
},
{
"data": {
"image/png": "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l5erd+/eysvL0znnnKN9+/appKREa9asUe/evbV582a1bt06WDEDAAAAAADAJAEVk6ZMmaKjR4/q9ddfV69evaosu/vuu/XPf/5TV111lR544AG9+OKLAQVqNVdro9KUZnYYAIAIdq0+MDsExBiuTwAEC/kEsLa4QFZet26d+vfv71VIOqlnz5667rrrtG7dukA2AwAAAAAAgAgRUDGprKxMWVlZNbZp2rSpysrKAtkMAAAAAAAAIkRAxaRGjRpp8+bNNbbZsmWLGjVqFMhmAAAAAAAAECECKib97ne/U0lJie69914dOXKkyrIjR47o/vvv17p16/S73/0uoCABAAAAAAAQGQIagPvee+/VqlWrNH36dM2dO1edOnVSgwYNtG/fPm3dulU//PCDmjVrpnvvvTdY8VpIutkBAPCL2+wAEJNsZgeA07Jabgjk+sRqxwJAYKz29w45DqgsoGLSWWedpS1btmjixIl68cUX9Y9//MOzLCkpSUOHDtWMGTN01llnBRwoAAAAAAAAzBdQMUk6UVCaP3++5syZo08//VQOh0NpaWlq2bKlEhISghEjAAAAAAAAIkTAxaSTEhIS1K5du2B1BwAAAAAAgAgU0ADcAAAAAAAAiC0BF5PeffddXXPNNWrWrJnsdrvi4+O9PnXqBO0GKEOKi4tls9m0bds2n8tLS0tls9mq/RQWFnra5uXlqW3btj772b9/v1d7AAAAAAAAKwuoyvP8889ryJAhcrvdatasmTp16hT2wlEgxowZo0GDBnnNb9y4sQnRAAAAAAAARL6AKj9Tp05VvXr19Nprr+niiy8OVkxhc9555yknJ8fsMAAAAAAAAKJGQI+5ff3117rhhhuispAEAAAAAAAA/wV0Z1JWVpaOHj0arFjC7vjx46qoqPCaH02P6gEAgOAoL6/VWn6vkZKSUpsNRaSqx+x/E1baRwDW5V/eN96YHIhYEFDV5Pbbb9eMGTP0448/6qyzzgpWTGEzadIkTZo0yWv+22+/rcsuuywo23A6nXI6nZ5ph8MRlH4BxB7yCRBaqam1WsvvNdxud202FFTByidVj9n/JiJhHwGERzRfn/iX9403JgciFgRUTBo7dqy++OILde7cWZMnT1b79u2Vlpbms+15550XyKZCYuzYsRo8eLDX/JYtWwZtG0VFRZoyZUrQ+gMQu8gnAIKFfAIg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wYIFVeZ/+eWX2rBhg66//vqw7SMAAAAAAIDZLFNMmj59umw2m5555hnZ7Xav5YmJibr66qtVr149zZ8/Xxs3btSsWbMkSXfddZcOHDigRYsWKT4+vsp6cXFxuvnmm7Vo0SJP8Uk6cVdSZmamevbsGdodAwAAAAAAiCCWeMzN5XJp7dq16tixozIzM0/b/oorrtCIESM0efJkxcXFacGCBXrqqafUokULn+2HDRumoqIivf766+rTp49cLpcWLVqkW265RXFxlqnHAWFxuKLCr/bl5eV+tU9JSfGrPRCpysvL/T5fooG/53S0IPdEjnCcN+H6Peb3CoCZrHAdYpXrjkj8PrBEMWn//v06dOiQmjZtanidRx99VG+++abGjRunnj17atSoUdW2bd68uS6//HItWLBAffr00euvv649e/Zo6NCh2rZtW43bcTqdcjqdnmnGV0Ksu+zFF/1bwc/2brfbv/6jCPkktqSmppodQmj4mwOiRLTlHivnE7+/Z2ojTL/H0fZ7hdhk5XwS68KST0PNCvugyPw+iNnbalJTU3X33XdLkqZMmSKbzVZj+2HDhmnFihU6cOCA5s+fr27duikrK+u02ykqKlJ6errnY+TOKQDwhXwCIFjIJwCChXwCxCZL3JlUv359nXHGGdq5c6df650cWykxMfG0bfv3768xY8Zo1qxZWrlypYqLiw1to6CgQOPGjfNMOxwOEixi2js33OBX+4uefTZEkUQf8klsOXjwoD649Vazwwg6zunIYOV84u/3TG3wewz8j5XzSawLRz4NNfJ16FiimBQfH68ePXrotdde07fffqvGjRsHfRtnnHGGbrjhBhUVFSktLU3XXnutofXsdrvPAcGBWJVcx7+0E4nPB5uFfBJbUlJS/D5fogHndGSwcj4Jx3nD7zHwP1bOJ7HOCtch5OvQscxjbgUFBXK73brtttt09OhRr+XHjh3TypUrA9rGyJEj1a9fP913331KSkoKqC8AAAAAAIBoFP2lxv/Kzc3VX/7yF40aNUodO3bUyJEj1aZNGx07dkzvv/++nnnmGbVt21b9+vWr9TYuuugiLV++PHhBAwAAAAAARBnLFJMk6bbbblOnTp00a9YszZgxQ999950SEhJ0/vnna9CgQRo9erTZIQIAAAAAAEQ1SxWTJKl9+/aGB8fOz89Xfn5+tctLS0tP20f/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gTaXT5T6559/eIkJkY2w1e8nplJUrmYOIjI9Y/KJw13mdurUKaSnp6NXr14QEdy+fRsA0Lt3byxatAhJSUlISEiw2PLUajXUavWTDImILMTWv5QwnxCZljW3+by8PKv1DTx5PrH1fElElmPu7yfMN0S2yeEuc0tKSoKIICUlBc8884zupX0K25IlS4z6Amfq5RERERERERER2TOHOjMpLy8PS5YsQdWqVfHNN9/ozf/5558xa9YsrFu3DlFRURZfHhERERERERGRvXOoYtK6detw+fJlfPzxx2jbtq3e/Hr16mHu3LlITEzUFX9Onz6NlJQUvbZ16tTBmTNnjF4eEREREREREZEjc6hiUmJiItzc3PDaa68ZnO/n54cePXogJSUF165dAwCsX78e69ev12sbHx+PgwcPGrW8ChUqmG4wREREREREREQ2yCGf5mbLtHdHJyLbU1I6tPbTUmw9HjI9Ps3NvKz5FcjWtl9jv5/w6yOR7bD3fFIS5hsiyzEmnzjcDbiJiIiIiIiIiMh8WEwiIiIiIiIiIiLFWEwiIiIiIiIiIiLFHOoG3PbEVq5pJiIi28X7RJCl8fsJEZkK8wmRY+OZSUREREREREREpBiLSUREREREREREpBiLSUREREREREREpBiLSUREREREREREpBiLSUREREREREREpBiLSUREREREREREpBiLSUREREREREREpBiLSUREREREREREpBiLSUREREREREREpBiLSUREREREREREpBiLSUREREREREREpBiLSUREREREREREpBiLSUREREREREREpBiLSUREREREREREpBiLSUREREREREREpBiLSUREREREREREpBiLSUREREREREREpBiLSUREREREREREpBiLSUREREREREREpBiLSUREREREREREpBiLSUREREREREREpBiLSUREREREREREpBiLSUREREREREREpBiLSUREREREREREpBiLSUREREREREREpBiLSUREREREREREpBiLSUREREREREREpBiLSUREREREREREpBiLSUREREREREREpBiLSUREREREREREpBiLSUREREREREREpBiLSUREREREREREpBiLSUREREREREREpJiLtQN42ogIACArK8vKkRCRsbTbrXY7tjbmEyL7xXxCRKbCfEJEpmJMPmExycJu3rwJAAgODrZyJERUWjdv3oRGo7F2GMwnRA6A+YSITIX5hIhMJTs7u8R8wmKShfn6+gIALly4YBPJ3lhZWVkIDg7GxYsX4e3tbe1wjMb4rcve48/MzETlypV127G12Xs+MZa9//0Yi+N1bMwn1vW0/b1xvI6N+cS8HOnvyZHGAjjWeGxlLCKC7OxsBAYGltiWxSQLc3IquE2VRqOx6z94b29vxm9FjN+6tNuxtTlKPjGWvf/9GIvjdWzMJ9b1tP29cbyOjfnEvBzp78mRxgI41nhsYSxKi8C2kXGIiIiIiIiIiMgusJhERERERERERESKsZhkYWq1GvHx8VCr1dYOpVQYv3UxfuuytfhtLR5z43gdG8drXbYWj7lxvI6N47UuW4vnSTnSeBxpLIBjjccex6ISW3mGJBERERERERER2TyemURERERERERERIqxmERERERERERERIqxmERERERERERERIqxmERERERERERERIqxmGQG8+bNQ2hoKNzd3dGkSRNs3bq12PZpaWlo0qQJ3N3d8eyzz2LBggUWitQwY+JftWoVOnbsiPLly8Pb2xthYWHYsGGDBaPVZ+z61/rtt9/g4uKChg0bmjfAEhgbf05ODt59912EhIRArVajatWqSEpKslC0+oyNf+nSpWjQoAE8PT0REBCA1157DTdv3rRQtIWlp6ejS5cuCAwMhEqlwg8//FDieyy9/U6fPh2tWrWCp6cnfHx8FL1HRDB16lQEBgbCw8MDbdu2xZEjR8wap6ncunULgwYNgkajgUajwaBBg3D79u1i3xMTEwOVSlXo1bJlS8sEbCR7318Yy5jxbtmyRe9zVKlU+OOPPywYcenZQz55VGn3nfaoNJ+NvUpISECzZs3g5eUFf39/dO/eHcePH7d2WGYzf/581K9fH97e3rrvpevWrbN2WBaTkJAAlUqFuLg4q8bhKPnEkXKFI+UCR9/ObWU7VoLFJBNbvnw54uLi8O677yIjIwOtW7fGyy+/jAsXLhhsf/bsWXTu3BmtW7dGRkYG3nnnHYwePRorV660cOQFjI0/PT0dHTt2xC+//IJ9+/bhxRdfRJcuXZCRkWHhyAsYG79WZmYmBg8ejPbt21soUsNKE3/fvn2xefNmJCYm4vjx40hOTkatWrUsGPX/GBv/tm3bMHjwYAwdOhRHjhzBihUrsGfPHsTGxlo48gJ37txB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01Ru3rwpAwcOFC8vL/Hy8pKBAwfqPSr+0fHevXtXIiIipHz58uLq6iqVK1eW6OhouXDhguWDV8De9xfGMma8H3/8sVStWlXc3d3lmWeekRdeeEHWrl1rhahLxx7yyaOK+2wcTUmfjSMxNM7H9xGOZMiQIbq/4/Lly0v79u0d6gBTCVs4CHWUfOJIucKRcsHTsJ3bwnashErEDq4lISIiIiIiIiIim8B7JhERERERERERkWIsJhERERERERERkWIsJhERERERERERkWIsJhERERERERERkWIsJhERERERERERkWIsJhERERERERERkWIsJhERERERERERkWIsJpFVJSQkoGnTpvDy8kKFChXQt29fnDt3ztphEZGdY24hImv79NNPoVarcfHiRd20xYsXQ6VSYfHixdYLzEyqVKmCKlWqFJq2aNEiODs74/Dhw9YJyghTp06FSqXCli1brB0KUYmYX+wrvzgqFpPIqtLS0jBq1Cjs2rUL69evx+3bt/Hyyy/j4cOH1g6NiOwYcwuRfTp37hxUKhVUKhUqVaqEvLw8g+0OHz6sa1erVq0ilyciCA0NhUqlQu/evRX1W9SrYcOGisfx999/Y/r06YiNjUVwcLDi9z2uSpUqcHd3L3L+smXLoFKpsHnz5lL3YU6DBg1CaGgoxo8fr6i9tqCj9DV16lTzDoAcCvNLYcwvls8vhopi9szF2gHQ0239+vWFfk9MTETlypVx9OhR1K9f30pR0ePOnTuH0NBQREdHO+R/O8jxMLcQ2TcXFxdcvnwZGzZsQOfOnfXmJyYmwsXFpcQC8ebNm3UHcj/++CP++usvlC9fvsj2VatWxauvvmpwXsWKFRXHP2vWLGRmZmLcuHGK31Maa9asgY+PD9q0aWPWfkrLxcUFcXFxGDVqFLZt24YXXnih2PZt27bVm7ZlyxakpaWhW7duegfchtqX1siRI9G/f39UrlzZZMsk28T8ogzzi357eowQmdBzzz0nAHQvJycnCQoKkp49e8qBAwdKfP/hw4cFgFy8eNEC0dqPR9epkpepnT17VgBIdHS0yZdNpARzi3lYO7c8KjU1VQBIfHy8Wfsh26bd37Rp00Y0Go306tVLr01OTo74+flJ165dBYDUrFmzyOX1799fAMj48eMFgMyaNavYfjt16vTEY8jNzZWKFSvKCy+8oDdv0aJFAkAW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qCjx9fUVNzc3CQoKkl69eslvv/2m1zYpKUmaNWsmnp6e4unpKc2aNZOkpCS95SmpKO/evVv69+8vgYGB4urqKn5+ftK4cWOZNGmSHDt2rFRjf5JikohISkqKNG7cWDw9PcXPz0/69u0rp0+fNvifPhaTyBqYW2wvtxjbr7HrcefOnRIeHi5eXl4Gz5IksicdO3aUunXrSl5eXqnev379egEg/fv3F5GCswu8vLzk1VdfNWWYZnXy5ElxdnaW2bNnWzsUIofC/ML8YgtUIk/4/GQiIiIiIirk+PHjSE5Oxuuvv17iDfoftWDBAuzZswfJycnIzc3Ftm3b0LJlSzNGaj5btmzB1q1b8a9//Qtubm7WDofIYTC/ML/YAhaTiIiIiIhsRKNGjXDixAk0atQIU6ZMQUREhLVDIiIHwfxCpsRiEhERERERERERKeZk7QCIiIiIiIiIiMh+sJhERERERERERESKsZhERERERERERESKsZhERERERERERESKsZhERERERERERESKsZhERERERERERESKsZhERERERERERESKsZhERERERERERESKsZhERERERERERESKsZhERERERERERESKsZhERERERERERESKsZhERERERERERESK/X+nR9ZaiHSMGwAAAABJRU5ErkJggg==\n",
"text/plain": [
"<Figure size 1200x1000 with 4 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"flatui = [\n",
" \"black\",\n",
" \"grey\",\n",
" \"rosybrown\",\n",
" \"darkred\",\n",
" \"indianred\",\n",
" \"salmon\",\n",
" \"red\",\n",
" \"coral\",\n",
" \"tan\",\n",
" \"gold\",\n",
" \"y\",\n",
" \"olive\",\n",
" \"yellow\",\n",
" \"greenyellow\",\n",
" \"darkgreen\",\n",
" \"lime\",\n",
" \"lightseagreen\",\n",
" \"aqua\",\n",
" \"lightsteelblue\",\n",
" \"deepskyblue\",\n",
" \"royalblue\",\n",
" \"slateblue\",\n",
" \"violet\",\n",
" \"magenta\",\n",
" \"deeppink\",\n",
" \"pink\",\n",
" \"crimson\",\n",
"]\n",
"\n",
"fig, ax = plt.subplots(1, 4, figsize=(12, 10), sharey=True)\n",
"fig.subplots_adjust(left=0.06, right=0.95, wspace=0.15)\n",
"df = pd.DataFrame(\n",
" pd.read_csv(\n",
" \"NN_result_modify.csv\",\n",
" header=None,\n",
" comment=\"#\",\n",
" sep=\"\\s+\",\n",
" squeeze=True,\n",
" names=[\n",
" \"AminoAcid\",\n",
" \"r2_avg_train\",\n",
" \"r2_std_train\",\n",
" \"r2_avg_test\",\n",
" \"r2_std_test\",\n",
" \"MAE_avg_train\",\n",
" \"MAE_std_train\",\n",
" \"MAE_avg_test\",\n",
" \"MAE_std_test\",\n",
" ],\n",
" )\n",
")\n",
"ax[0].barh(df.AminoAcid, df.r2_avg_train, xerr=df.r2_std_train, color=flatui)\n",
"ax[0].set_xlabel(\"$R^2$ score Train\", fontsize=14)\n",
"ax[0].set_yticklabels(df.AminoAcid, fontsize=12)\n",
"ax[0].set_xlim(0, 1)\n",
"\n",
"ax[1].barh(df.AminoAcid, df.r2_avg_test, xerr=df.r2_std_test, color=flatui)\n",
"ax[1].set_xlabel(\"$R^2$ score Test\", fontsize=14)\n",
"ax[1].set_xlim(-1, 1)\n",
"ax[2].barh(df.AminoAcid, df.MAE_avg_train, xerr=df.MAE_std_train, color=flatui)\n",
"ax[2].set_xlabel(\"MAE (kJ/mol) Train\", fontsize=14)\n",
"ax[2].set_xlim(0, 4)\n",
"ax[3].barh(df.AminoAcid, df.MAE_avg_test, xerr=df.MAE_std_test, color=flatui)\n",
"ax[3].set_xlabel(\"MAE (kJ/mol) Test\", fontsize=14)\n",
"ax[2].set_xlim(0, 4)\n",
"\n",
"ax[0].set_ylabel(\"Biomolecules\", fontsize=14)\n",
"plt.savefig(\"NN_result_modify.png\", format=\"png\", dpi=1000, bbox_inches=\"tight\")"
]
},
{
"cell_type": "markdown",
"id": "8a65eabff63a45729fe45fb5ade58bdc",
"metadata": {},
"source": [
"# Predicted vs Real vales for testing data set (one of 10)"
]
},
{
"cell_type": "code",
"execution_count": 22,
"id": "c3933fab20d04ec698c2621248eb3be0",
"metadata": {},
"outputs": [],
"source": [
"main = [\"ASP\", \"VAL\", \"PRO\", \"ETA\", \"PHO\"]\n",
"rest = [i for i in aminacid_order if i not in main]\n",
"X_LR = X[main]\n",
"\n",
"\n",
"def Mary_pred(i):\n",
" Y = X[i]\n",
" Xtrain, xtest, Ytrain, ytest = train_test_split(\n",
" X_LR, Y, test_size=0.3, random_state=130\n",
" )\n",
" model = MLPRegressor(\n",
" hidden_layer_sizes=(10),\n",
" activation=\"tanh\",\n",
" alpha=0.1,\n",
" solver=\"adam\",\n",
" random_state=10,\n",
" early_stopping=False,\n",
" verbose=False,\n",
" max_iter=10000,\n",
" )\n",
" model.fit(Xtrain, Ytrain)\n",
" ytest_pred = model.predict(xtest)\n",
" test_score = np.round(model.score(xtest, ytest), 2)\n",
" d = {\n",
" \"Aminoacid\": i,\n",
" \"Predict\": list(ytest_pred),\n",
" \"Real\": list(ytest),\n",
" \"score\": test_score,\n",
" \"Method\": \"NN\",\n",
" }\n",
" return d"
]
},
{
"cell_type": "code",
"execution_count": 23,
"id": "4dd4641cc4064e0191573fe9c69df29b",
"metadata": {},
"outputs": [],
"source": [
"df_list = []\n",
"for i in rest:\n",
" df = pd.DataFrame.from_dict(Mary_pred(i))\n",
" df_list.append(df)\n",
"result = pd.concat(df_list, ignore_index=True)\n",
"result.to_csv(\"NN_ypredict-yreal.csv\")"
]
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3",
"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.8.5"
}
},
"nbformat": 4,
"nbformat_minor": 5
}