684 lines
143 KiB
Plaintext
684 lines
143 KiB
Plaintext
{
|
|
"cells": [
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 2,
|
|
"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 LinearSVC\n",
|
|
"from sklearn.tree import (\n",
|
|
" DecisionTreeClassifier,\n",
|
|
" ExtraTreeClassifier,\n",
|
|
" DecisionTreeRegressor,\n",
|
|
")\n",
|
|
"from sklearn.ensemble import (\n",
|
|
" RandomForestClassifier,\n",
|
|
" AdaBoostClassifier,\n",
|
|
" BaggingClassifier,\n",
|
|
" ExtraTreesClassifier,\n",
|
|
" AdaBoostRegressor,\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": 3,
|
|
"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": 4,
|
|
"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",
|
|
"\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": 5,
|
|
"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": 6,
|
|
"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": [
|
|
"# AdaBoostRegressor modelling using 50 DecisionTreeRegressor(max_depth=5), test_size=0.3 and 10 ShuffleSplit"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 7,
|
|
"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",
|
|
" DTR = DecisionTreeRegressor(max_depth=5)\n",
|
|
" model = AdaBoostRegressor(n_estimators=50, base_estimator=DTR)\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": 7,
|
|
"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(\"AdaBoost_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": "markdown",
|
|
"id": "b118ea5561624da68c537baed56e602f",
|
|
"metadata": {},
|
|
"source": [
|
|
"fig, ax = plt.subplots(len(G0), 2, figsize=(10, 25))\n",
|
|
"fig.subplots_adjust(left=0.06, right=1, wspace=0.2)\n",
|
|
"X_LR=X[main]\n",
|
|
"def Mary_LR():\n",
|
|
" for i in G0:\n",
|
|
" Y=X[i]\n",
|
|
" model= LinearRegression()\n",
|
|
" model.fit(X_LR, Y)\n",
|
|
" ymodel=model.predict(X_LR)\n",
|
|
" print(np.round(cross_val_score(model,X_LR,Y,cv=3).mean(),2))\n",
|
|
" ax[G0.index(i)][0].scatter(Y,ymodel,c='black',label=i)\n",
|
|
" ax[G0.index(i)][0].plot(Y,Y,c='gray',label=np.round(model.score(X_LR,Y),2))\n",
|
|
" ax[G0.index(i)][0].legend()\n",
|
|
" ax[G0.index(i)][1].bar(main,model.coef_, color='b',width=0.5)\n",
|
|
" plt.savefig(\"LR-G0.pdf\")\n",
|
|
"Mary_LR()"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 9,
|
|
"id": "938c804e27f84196a10c8828c723f798",
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"name": "stderr",
|
|
"output_type": "stream",
|
|
"text": [
|
|
"/tmp/ipykernel_5390/1595004092.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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vF6vbr31Vh07Vvlvb6WlpVq1alXA6zt06JDf9UjSZ599Jklq2rSpuWIBAAAAAACimOPOXJKkzMxMPf300xo1apQ6d+6skSNHqn379iotLdU///lPPfvss+rQoYP69+8f0Po2btyosWPH6vrrr9dFF12k008/Xd99952WLl2qtWvX6qabbgrrGVIAAAAAAACRypHNJUm69dZb1aVLF82aNUszZszQ/v37lZCQoHPOOUfXXXedRo8eHfC6unbtquHDh2vjxo16/vnndfDgQSUmJqpdu3aaPXu2Ro4cGcY9AQAAAAAAiFyObS5JUqdOnZSfnx/Q2OzsbGVnZ/ud16xZM02ZMiV0hQEAAADA/2vvvsOaOts/gH/DCjtUBcWKqNRNXeDABW4r7oUbV99Wqz9wtFU70LaKi9baVmtbUDrEVtwD66iIiqUiqKitW2vdWgVcgPj8/vBNXmICJCGL5Pu5rlyXnPOc59zPSXLnnNsziIgshEXec4mIiIiIiIiIiIyDxSUiIiIiIiIiItIZi0tERERERERERKQzi77nkjn7v+xsuLu7mzoMIiIqB6YLYeoQyAJxX4SIyoI5hIiK4plLRERERERERESkMxaXiIiIiIiIiIhIZywuERERERERERGRzlhcIiIiIiIiIiIinfGG3iaSvGwZXBwdTR0GEWmgU2SkqUMgK7dnyRJTh0AGYOrcYsh9EVOPjYgMz9jHM8wrROaNZy4REREREREREZHOWFwiIiIiIiIiIiKdsbhEREREREREREQ6s8ji0tKlSyGRSODv7692/t27dzFz5kw0aNAALi4ukMlkqFevHkaOHInjx48r2q1atQoSiQSOjo64fPmySj8hISHFroOIiIiIiIiIyBpY5A294+LiAAAnT55EWloaWrZsqZj34MEDtGrVCg8ePMDbb7+Nxo0b4/Hjxzhz5gzWr1+Po0ePolGjRkr95eXl4f3338cPP/xg1HEQEREREREREZk7iysupaen49ixYwgNDcW2bdsQGxurVFxau3Ytzp07h99++w0dOnRQWnbq1Kl49uyZSp/du3fH6tWrMX36dDRu3NjgYyAiIiIiIiIiKi8srrgUGxsLAJg/fz7u3buHNWvWYMmSJXB2dgbw/JI4APD29la7vI2N6pWC77zzDo4cOYJ3330XO3bsMFDkREREZKke5+WpTHv48KEJItEP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ERERERERERHpjMUlIiIiIiIiIiLSGYtLRERERERERESkMxaXiIiIiIiIiIhIZywuERERERERERGRzlhcIiIiIiIiIiIinbG4REREREREREREOmNxiYiIiIiIiIiIdMbiEhERERERERER6YzFJSIiIiIiIiIi0hmLS0REREREREREpDMWl4iIiIiIiIiISGcsLhERERERERERkc5YXCIiIiIiIiIiIp2xuERERERERERERDpjcYmIiIiIiIiIiHTG4hIREREREREREemMxSUiIiIiIiIiItIZi0tERERERERERKQzFpeIiIiIiIiIiEhnLC4REREREREREZHOWFwiIiIiIiIiIiKdsbhEREREREREREQ6Y3GJiIiIiIiIiIh0xuISERERERERERHpjMUlIiIiIiIiIiLSGYtLRERERERERESkMxaXiIiIiIiIiIhIZywuERERERERERGRzuxMHYC1EUIAAHJyckwcCREZgvy7Lf+uGwLzCJHlYg4horJgDiGisihLDmFxycju3r0LAPDx8TFxJERkSLm5uZDJZAbpm3mEyPLdvXuXOYSIdMb9ECIqC132Q1hcMrIKFSoAAP7++2+DJXxzkpOTAx8fH1y5cgXu7u6mDsegOFbLpO1YhRDIzc1F1apVDRaTteUROWv63BXFcVvXuLOzs1G9enXF99wQrDWH6JO1fj71jdtRP4puRzc3N+6HGIi1fl45busad1n2Q1hcMjIbm+e3uZLJZFb1IXV3d7ea8XKslkmbsRp6R8ta84icNX3uiuK4rYv8e27Ivq01h+iTtX4+9Y3bUT/k25H7IYZlrZ9Xjtu66LIfwht6ExERERERERGRzlhcIiIiIiIiIiIinbG4ZGRSqRRRUVGQSqWmDsUorGm8HKtlMsexmmNMxsBxc9zWwBjjttZtq0/chvrB7agfxt6O1vq+cdwctzUoy7glwpDPqSQiIiIiIiIiIovGM5eIiIiIiIiIiEhnLC4REREREREREZHOWFwiIiIiIiIiIiKdsbhEREREREREREQ6Y3FJD5YtW4aaNWvC0dERAQEB2L9/f4nt9+3bh4CAADg6OqJWrVr4+uuvVdqsW7cODRo0gFQqRYMGDbBhwwZDha8Vbca6fv16dOnSBZ6ennB3d0dQUBB+/fVXpTarVq2CRCJReT158sTQQymVNmNNTk5WO46//vpL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c8xUfjVv3lyjS1nj4uIghMDo0aOLvQy8UqVK6NmzJ9avX49t27Yp/W/9uXPn1N7MVa6keXJ9+vTBlClTsHv3bvTv37/EtlKpFOvXr8eAAQOwePFiPHv2DDExMcW2v3//PlJSUpS+M4bg7u6Ob7/9FkOHDkXLli0RFhYGT09P7NmzB+np6WjRooXGB65CCOzZswf169fX6KEL+mBjY4OJEyciJiYGjRs3Rq9evZCTk4OkpCT4+vqiatWqRomDzBdzynPMKc9JpVIkJibitddeQ3BwMDp16gR/f38AwN9//439+/ejYsWKioeixMTEYNeuXejQoQNq1aoFR0dHZGRkYM+ePXjllVfQr18/Rd8dO3ZEeno6evXqhXbt2sHBwQFt27ZF27Zt9RK72THdg+rIkr346E91vvjiCwFAjBw5UmmZkl6aPspx2bJlonfv3sLX11c4OjqKihUripYtW4oVK1aIgoIClfaZmZli8ODBonLlysLe3l54e3uL1157TWzdulWpXUFBgVi8eLF49dVXhVQqFW5ubiI4OFhs2rRJpc+ijwctztOnT8WKFStEmzZthLu7u5BKpaJ69eqie/fuYvny5SqP9yyNuseGaxpLYmKiaNasmXB2dhaVKlUSgwcPFufPn1f7aHD5eoo+ZlSIkh+3KX9kPJEumFPMK6cIIcSjR4/EwoULRUBAgHBxcRFOTk6iZs2aom/fvuL7779XbJdTp06JiIgI0bRpU1GxYkUhlUpFrVq1xOjRo8WpU6dU+l24cKGoXbu2sLe3FwBEcHCwVjFT+aXJ97woFHlseGFhoahWrZqwsbERly9fLnG5LVu2CACiV69eSust7aWpbt26iYoVK4r8/Hyl6cV9h/Py8kSvXr0EADFlyhTF9GrVqgk3NzfF3z/++KMAIPbu3at2vSX9Bhf3XZKPXd13PCUlRbz22mvCw8NDODg4iDp16ogPPvhAbR4pbt3JyckCgFiyZInauEqj7rHhQgi1+yZF5efni7lz54ratWsr8uDUqVNFbm6u2ljl6ym6bUvaNkIUv03JfDCnMKe8qLicIoQQ//zzj4iIiFDkDXd3d1G/fn0xfvx4sWfPHkW7HTt2iFGjRom6desKNzc34erqKho0aCDef/99cefOHaU+c3Nzxeuvvy68vb2FjY2N2uMnSyIRQs357EREREREpLWdO3eiW7duWLNmDcLCwnTq49mzZ3B1dUWVKlVw4cIFAMDgwYOxZ88e3Lx5U/FEJnM3atQobN26FRcuXFA88ICItMOc8j/MKeaN91wiIiIiItKTrl27okuXLvj444/x7NkznfrYtWsXHj9+rLjRbH5+Pnbs2IEePXqUm4PAc+fOYfXq1fjggw94EEhUBswpzzGnmD+euUREREREpEenT59GQkICXn/9dbz88ssaL/f111/j8OHDSEhIQH5+Pg4cOIBWrVoZMFLDSU5Oxv79+/Huu+/CwcHB1OEQlWvMKcwp5QGLS0REREREZqBp06Y4c+YMmjZtig8//BBdu3Y1dUhEVI4xp5AxsbhEREREREREREQ64z2XiIiIiIiIiIhIZywuERERERERERGRzlhcIiIiIiIiIiIinbG4REREREREREREOmNxiYiIiIiIiIiIdMbiEhERERERERER6YzFJSIiIiIiIiIi0hmLS0REREREREREpDMWl4iIiIiIiIiISGf/D3PtxlJbvK1ZAAAAAElFTkSuQmCC\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.1)\n",
|
|
"df = pd.DataFrame(\n",
|
|
" pd.read_csv(\n",
|
|
" \"AdaBoost_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(\"R2 score Train\", fontsize=14)\n",
|
|
"ax[0].set_yticklabels(df.AminoAcid, fontsize=12)\n",
|
|
"ax[0].set_xlim(0, 1.05)\n",
|
|
"\n",
|
|
"ax[1].barh(df.AminoAcid, df.r2_avg_test, xerr=df.r2_std_test, color=flatui)\n",
|
|
"ax[1].set_xlabel(\"R2 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",
|
|
"\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[3].set_xlim(0, 4)\n",
|
|
"\n",
|
|
"ax[0].set_ylabel(\"Biomolecules\", fontsize=14)\n",
|
|
"plt.savefig(\"AdaBoost_result.pdf\", format=\"pdf\", dpi=1000, bbox_inches=\"tight\")"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 6,
|
|
"id": "504fb2a444614c0babb325280ed9130a",
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": [
|
|
"# modify the main\n",
|
|
"main = [\"ASP\", \"VAL\", \"PRO\", \"ETA\", \"PHO\"]\n",
|
|
"rest = [i for i in aminacid_order if i not in main]"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 10,
|
|
"id": "59bbdb311c014d738909a11f9e486628",
|
|
"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",
|
|
" DTR = DecisionTreeRegressor(max_depth=5)\n",
|
|
" model = AdaBoostRegressor(n_estimators=50, base_estimator=DTR)\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": "b43b363d81ae4b689946ece5c682cd59",
|
|
"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(\"AdaBoost_modify_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": 6,
|
|
"id": "8a65eabff63a45729fe45fb5ade58bdc",
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"name": "stderr",
|
|
"output_type": "stream",
|
|
"text": [
|
|
"/tmp/ipykernel_28522/836274381.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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Qw0aNNCll17qG3PllVcqKSmp2mvevHl+1/n+++/7HT9q1Kga6yguLlZGRobvlZWVFfJ9BWBv5AgAM8gQAGaQIQAC4fDarNVZUlKiESNGVJveoUMHPfroo+rWrZtKS0vVs2dPzZ49u8rDx4+799579eyzz1bpAufn5+urr77SM888U218Zmammjdv7rcef53+rKwsqVxSuoEdBBBxXgUeky6XSxkZGSovL1d6emhOcnIECIEg71I4qINBjQ/VbQlkSBhY6E60YP+uwo3baeyHDPEjwhkQ6fOc8xihZCZDTN0Wd9zXX3+t559/Xh999JEOHTqkJ554QpL07bffaufOnerQoYNSU1NDsamALV26VG3atFG9evXUuHFjNWnSpNqYli1b+h76faITb507UUpKit/xtXE6nfyaHABTyBEgBIL87p0W7AIWFvcZYqGP0k5/V4gfMZ8hET7tOM8Rr0w3l+bNm6dJkyb5utkOh8PXXPrmm2+Ul5en+fPn64YbbjC7qaC0adMm6EYQAAAAAAAAgmPqmUurV6/WuHHj1KFDB61atUpjxoypMr9du3bq2LGjVq5caWYzAAAAAAAAsChTVy7de++9OuOMM7RhwwalpaXprbfeqjamQ4cOeu2118xsxjIOHz6sLVu2+J2Xm5sb4WoAAAAAAACiz1Rz6Z133tEf/vCHWh8idvrpp2vfvn1mNmMZn3/+ufLy8vzOO3r0qOrVC8kjrAAAAAAAAGKGqdvijh07pqSkpFrHfPvttxF9AFxBQYG8Xm+tz1vKz8+X1+vVoEGD/M5/5JFH9Msf0SstLZXX663xRWMJAAAAAADEI1PNpbPOOkuvv/56jfMrKyu1ceNGdejQwcxmAAAAAAAAYFGmmkvXXHON/vOf/2jGjBnV5nk8Hk2ePFmff/65rr32WjObAQAAAAAAgEWZupdr/PjxWr16te644w49+eSTvtvfhgwZou3bt6usrEy//e1vdd1114WkWAAAAAAAAFiLqeZSUlKSXnrpJU2fPl3z58/X999/L0lasWKF0tPTNXXqVE2fPl0OhyMkxdpJucqVrvRolwEghpEjAMwgQwCYQYYAOJHpp1AnJydr5syZmjFjhv7v//5P3333ndLT09WmTRslJiaGokYAAAAAAABYVMh+4szhcOjss88O1eoAAAAAAAAQA0w90BsAAAAAAADxLagr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++47NWnSRN26ddOxY8ckSR9++KH+8Ic/qGXLlkpJSVGjRo3UuXNnjRs3Ti6XK2L7AgAAAAAAYBWmmkunnnqq38bMiT766CM1adLEzGbC5oknnlC9evV0/fXXV5s3btw4/fjjj1qyZIkSEhL09ttvq0uXLvrggw90++23a926dZo/f74uueQSvfTSS/ruu++isAcAAAAAAADRVc/MwhdeeKFWrVql3bt36/TTT682/4MPPtC6des0YsQIM5sJm9NOO03z5s3TlVdeqQULFmj06NGSpBdeeEHLly/XvHnz9Otf/1qS9OCDDyohIUGlpaVq0KCBbx2DBg3SXXfdVeVB5gAAAAAAAPHC1JVLf/nLX1RZWalu3bpp2bJl2r9/v6Sfbx9buHChevXqJafTqSlTpoSk2HAYMmSIrrrqKk2ePFllZWU6cOCAbrzxRvXt21djxozxjTtw4IDS09NVv359v+txOByRKhkAAAAAAMAyTF251KFDB/3tb3/Ttddeqz/84Q+SJK/Xq/bt28vr9apBgwZ69tln1bp165AUGy5z587Vxo0bNXLkSGVmZuqnn37SokWLqozJy8vT2rVrdc0112j06NHq2rWrUlNTo1QxAADVHanwRLsEUyoU/Wc0GpWWlhbtEiwj3H+H4f474bME7M9oThnJHzIF8cJUc0mSLr30Un3++edasmSJtm7dqu+++07p6ek677zzNGLECDVq1CgUdYbVKaecooULF+riiy+WJD355JNq1qxZlTGTJ0/W9u3btXz5ci1fvlyJiYnq2LGjLr74Yk2YMEGZmZl+1+12u+V2u33vefA3gGCRIwjUNfXfi3YJJvm/OjgWWPn2+EhnSPj/DsP7d2LlzxKIBjt+DzGeU8HnD5mCeGG6uST93Jy55ZZbQrGqqOnfv79yc3N14MABDRs2rNp8p9OpF154QR9++KFeeuklbd++XRs3btTMmTM1f/58vfHGGzrrrLOqLVdcXKzp06dHYhcA2BQ5AsAMMgSAGWQIgEA4vHHSSi0pKdGIESO0bds25eTk+B2Tn5+v/fv36733Autke71ePfjgg5o4caIGDx6sZ599ttoYf53+rKwsPVneXielJxrbGQARdbneCXisy+VSRkaGysvLlZ6eHpLtkyMIVKzfFvc7bYl2CYaF6rYHO2RIuP8Ow/13wi0siGV2yJBIMJpTRvKHTEEsMZMhQV25tGnTpqBWfqILL7zQ8LJW5XA4dMstt+jOO++ssSHldDrldDojXBkAOyFHEKiUtNj8kn9cmvgCHg6RzpBw/x3ydwJElh2/hxjNKfIHqFlQzaX8/HzDv4rm8cT2/5u6d+9eNWnSpNr0PXv2yOVyqUuXLlGoCgAAAAAAILqCai7dfvvthptLVrF+/XqVlZVVm378Yd41GTVqlH744QddccUVat++vRITE/XRRx9pzpw5SkhI0NSpU8NUMQAAAAAAgHUF1VwqKioKUxmRU1MTaOfOnbUuN378eP3tb3/T448/rt27d6uiokKZmZnKy8vT0qVLlZubG45yAQAAAAAALC0kvxYXCwoKClRQUFDrmNLS0hrn/fa3v9Vvf/vb0BYFAAAAAAAQ40LWXHrzzTf1zjvv+J4qfs4556hbt26hWj0AAAAAAAAsyHRzaevWrRo+fLg++eQTSZLX6/U9l6l169ZavHix8vLyzG4GAAAAAAAAFmSqufThhx+qT58+qqioUL9+/ZSfn6/TTjtN+/btU2lpqdatW6d+/fppy5Ytatu2bahqBgAAAAAAgEWYai5Nnz5dP/30k1566SX17du3yrxbb71V//rXv3TJJZfozjvv1DPPPGOqULu5VG8oXenRLgNADCNHAJhBhgAwgwwBcKIEMwtv2LBBgwYNqtZYOq5Pnz664oortGHDBjObAQAAAAAAgEWZai6Vl5crOzu71jEtWrRQeXm5mc0AAAAAAADAokw1l5o2baotW7bUOmbr1q1q2rSpmc0AAAAAAADAokw1l373u9+ptLRUt912m44cOVJl3pEjR3THHXdow4YN+t3vfmeqSAAAAAAAAFiTqQd633bbbVqzZo1mzZqlBQsWqGvXrmrcuLH27dunbdu26dtvv1XLli112223hapeG8mIdgEAAuaNdgE1IEeA0LPq+R4OVsmQeDrmgJ1YJUOCQd4A4WKquXTKKado69atmjJlip555hn985//9M1LSUnRiBEjNHv2bJ1yyimmCwUAAAAAAID1mGouST83mBYuXKj58+fro48+ksvlUnp6us4++2wlJSWFokYAAAAAAABYlOnm0nFJSUnq0KFDqFYHAAAAAACAGGDqgd4AAAAAAACIb6abS2+++aYuu+wytWzZUk6nU4mJidVe9eqF7AKpgJSUlMjhcGj79u1+55eV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mlFkExCcoH4t7tixYzp27FiV916vt87XicvEutmzZ2vbtm3VXo0bN/Y7vri4WBkZGb5XVlZWhCsGEOvIEQBmkCEAzCBDAAQiqCuXysrKan0fD1q2bKmcnJyAxxcWFmrixIm+9y6Xi0AGEBRyBDDvz382s+zB0BUSBaHIkGCOX6wfLwBVxcr3kEBziowCwoMHBYWZ0+mU0+mMdhkAYhg5ApiXnGx82Vh/7kYoMiSY4xfrxwtAVbHyPSTQnCKjgPAI6ra447xerzZu3KgVK1bo008/9U3/9NNPdf3116tz584655xz9Mc//lH79u0LWbEAAAAAAACwlqCvXKqoqFC/fv20efNmST8/rPvee+/VxRdfrLy8PP3www++sTt27NDq1av11ltv6ZRTTglZ0eGyevVqNWjQoNr0QYMG+f77J598oi1btlQb06xZM78P9AYAAAAAALCzoJtL999/v95880395je/Uc+ePbVhwwZNmzZNmzZtUr169bRw4UJ17dpV3333nf7617/queee091336177rknHPWH1MiRI/1OP/GXAv5cw828f/nLXzRjxoyw1AUAAAAAAGBVQTeXnnvuObVo0UJbtmxRUlKSjh49qrZt22rVqlVatmyZrrzySt/YCy64QO3bt9eaNWss1VwqKChQQUGB731RUZGKiopqXSY/P5+fowQAAAAAAPiFoJ+59Nlnn6l///5KSkqSJCUlJalfv36SpN69e1cZ63A41LNnz7j8VTkAAAAAAIB4EHRz6dChQ8rMzKwyrVGjRlX+80SZmZlyu90GywMAAAAAAICVGfq1OIfDUet7AAAAAAAAxIegn7mE0CgsLFd6enq0ywAQw8gRAGaQIQDMIEMAnMhQc+mpp57Sli1bfO8//fRTSdLFF19cbezxeQAAAAAAALAfQ82lTz/91G/TaN26dX7Hc9scAAAAAACAPQXdXNq5c2c46gAAAAAAAEAMCrq51Lx583DUAQAAAAAAgBhk6NfiAAAAAAAAAIlfi4ua117LUFpatKsAEIj8fG+0S/CLHAFqZtXz1krIEHCewAwyJLI4X2F1XLkEAAAAAAAAw2guAQAAAAAAwDCaSwAAAAAAADAsbppLJSUlcjgc2r59u9/5AwYMUHZ2tu99dna2BgwYUGWMw+Go8srIyFB+fr7Wrl0bztIBAAAAAAAsK26aS6EyaNAg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W09+fn6N2wAAAAAAAIgHtnyg96JFiyRJ77//vrZu3arzzjvPN+/gwYPKzc3VwYMHNWXKFHXq1EmHDx/Wxx9/rOeff17vvPOOOnbsWGV9brdb06ZN05NPPhnR/QAAAAAAALA62zWXtm/frnfffVeXXHKJ1q5dq4ULF1ZpLv3973/Xp59+qvXr16tnz55Vlp04caKOHTtWbZ0XXXSRli1bpsmTJ6tTp05h3wcAAAAAAIBYYbvb4hYuXChJuvvuu3X++efrmWee0aFDh3zzDxw4IElq0qSJ3+UTEqofkltvvVWnnnqqpk6dGoaKAQAAAAAAYpetrlw6fPiwli9frnPPPVft27fXyJEjdf311+vvf/+7hg8fLknKy8uTJF177bX685//rO7du+vUU0+tdb0NGjTQtGnTNGHCBK1fv169evUK+74AAIDoOex21zivoqKixnlpaWnhKCem1Hbs/KntePrDMQbsjfwFYpOtmksrVqxQeXm5rrvuOknSlVdeqZtvvlkLFy70NZe6deumO++8UzNmzNBll10mSWrRooX69eunMWPGVHve0nE33nijHnroIU2dOlX//ve/5XA4AqrJ7XbLfUJAulwuM7sIIA6RI0DkDfzTn2qeWcs8r9cbhmrMiXSG1Hrs/AlyvBWPMWBnlsqQGMtfIJ7Y6ra4hQsXKjU1VVdddZUkqX79+ho8eLBee+01ffLJJ75xt912m7744gstWrRIo0ePVv369TV//nx16dJFy5cv97vu5ORkzZgxQ9u3b9ezzz4bcE3FxcXKyMjwvbKyssztJIC4Q44AMIMMAWAGGQIgEA6vTVq8n376qc4880xdccUVevzxx33T33zzTV1yySX605/+pOLi4hqX37Rpk/r376+0tDR98803kqSSkhKNGDFC27ZtU05Ojrxer3JyclReXq4PP/xQffv21f79+/Xee+/VuF5/nf6srCz9o7hYaSkpIdhzAOHW++abAx7rcrmUkZGh8vJypaenh2T75AgQebXdltFz3Lga55m9LcMOGRLsbXG1HU9/uPUFqJndMySc+QvAXIbY5ra4RYsWyev1asWKFVqxYkW1+UuWLNGMGTOUmJjod/kLL7xQv/3tb7Vy5Up98803+tWvflVtjMPh0OzZs9W3b1899thjAdXldDrldDqD2xkAOAE5AkReai3nXKz9AybSGVLbsfMn1o4nEG+slCHkBWBdtmgueTweLVmyRK1atdITTzxRbf6aNWt0//3368UXX9S5556rzMzMar8K5/F49Mknn+ikk07SySefXOO2+vTpo759++rOO+/kklAAAAAAABD3bNFcevHFF7Vnzx7Nnj1b+fn51ea3b99ejzzyiBYuXKiPPvpICxYs0NChQ3XuuecqIyNDX331lZ544gm9//77uv3225WcnFzr9mbPnq0uXbrom2++Ubt27cK0VwAAAAAAANZni+bSwoULlZycrBEjRvid36hRI1122WVasWKFbr75Zn399df65z//qUcffVTff/+9GjRooI4dO+rJJ5/UsGHD6tzeb37zG1199dVatmxZqHcFAAAAAAAgptiiufTCCy/UOWb58uW+X4Lr0aNHQOstKChQQUGB33lPP/20nn766YBrBAAAAAAAsKOEuocAAAAAAAAA/tFcAgAAAAAAgGE0lwAAAAAAAGCYLZ65FIvyx45Venp6tMsAEMPIEQBmkCEAzCBDAJyIK5cAAAAAAABgGM0lAAAAAAAAGEZzCQAAAAAAAIbRXAIAAAAAAIBhNJcAAAAAAABgGL8WFyXFxcVKSUmJdhkAAnDHHXdEuwS/yBEgfKx63ocSGWJ98fB3iNhFhhjHuQ074solAAAAAAAAGEZz6f+1d+dhUdbr/8Dfwzbsgwu4JKKRueaGG4rigmLilguaaZh6Tmn5BZdT6qmwryZulFlZngKl7zlhiQsuoahH3LMQMJMilzRzJxXMBRDv3x/+ZmKcAWYGZhiG9+u65rr0eT7PZ5nPPPfMc/MsRERERERERERkMiaXiIiIiIiIiIjIZDaXXFq5ciUUCgXatGmjd71CodB6eXp6onv37khMTCy1zh9++AGTJ0+Gv78/XFxc4OLigmbNmuHll19Genq6uYZCRERERERERGT1bC65FB8fDwA4efIkjh49qrfMqFGjcOTIERw+fBiffvop8vPzMW7cOHz55Zc6ZVevXo2AgAAcPXoUkZGR2LZtG7Zv346oqCicPHkSnTt3xpkzZ8w6JiIiIiIiIiIia2VTT4tLT0/H8ePHERYWhu3btyMuLg5du3bVKVevXj1069YNABAYGIgePXqgSZMmWL16NcaNG6cpd+jQIUybNg1hYWFISkqCk5OTZl3fvn3x6quvYv369XBxcTH/4IiIiIiIiIiIrJBN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MiQiquEYR4h4gFERlo4hnCsi22LuGMKYQWQbbO6yuPj4eIgIkpKSUKtWLc1L/ZS3hIQEFBcXV1l9RERERERERES2xKbOXCouLkZCQgL8/f3x+eef66zftm0bYmNjkZKSgsGDB1u8PiIiIiIiIiIiW2NTyaWUlBRcunQJS5YsQe/evXXWt2nTBh999BHi4uI0yaAzZ84gKSlJp2yrVq1w9uxZo+sjIiIiIiIiIqpJbCq5FBcXBycnJ7z00kt619etWxfPPfcckpKScPXqVQDAjh07sGPHDp2y0dHROH78uFH11atXr/IGQ0RERERERERUDdjk0+Ksmfru60RUfVT10+JKa4OoJqkpP1dsIYbUlLkiskbVMYYwZhBZj4rEEJu7oTcREREREREREVkOk0tERERERERERGQyJpeIiIiIiIiIiMhkNnVD7+rEnNdBE1HNwDhCRBXBGEJEFcEYQkQl8cwlIiIiIiIiIiIyGZNLRERERERERERkMiaXiIiIiIiIiIjIZEwuERERERERERGRyZhcIiIiIiIiIiIikzG5REREREREREREJmNyiYiIiIiIiIiITMbkEhERERERERERmYzJJSIiIiIiIiIiMhmTS0REREREREREZDIml4iIiIiIiIiIyGRMLhERERERERERkcmYXCIiIiIiIiIiIpMxuURERERERERERCZjcomIiIiIiIiIiEzG5BIREREREREREZmMySUiIiIiIiIiIjIZk0tERERERERERGQyJpeIiIiIiIiIiMhkTC4REREREREREZHJmFwiIiIiIiIiIiKTMblEREREREREREQmY3KJiIiIiIiIiIhMxuQSERERERERERGZjMklIiIiIiIiIiIyGZNLRERERERERERkMiaXiIiIiIiIiIjIZEwuERERERERERGRyZhcIiIiIiIiIiIikzG5REREREREREREJmNyiYiIiIiIiIiITMbkEhERERERERERmYzJJSIiIiIiIiIiMplDVXegphERAEB+fn4V94SIzEG9b6v3dXNgHCGyXYwhRFQRjCFEVBEViSFMLlnYH3/8AQDw9fWt4p4QkTndvn0bKpXKLHUzjhDZPsYQIqoIxhAiqog//vjD6BjC5JKF1a5dGwDw22+/mS3gW5P8/Hz4+vriwoUL8PT0rOrumBXHapuMHauI4Pbt22jYsKHZ+lST4gg/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WbJE/P39xdnZWWrVqiVBQUGyfft2nTptYV5FRG7duiUuLi7yr3/9S2991jqv6se9l/aZrKr9lTHkEcYQxhA1a51XxpCqV9ljtdbPmojxY9X32fTz89MqY63zKlL547WVuTXku1DEcnNbVt9tVXmx31bpGzMAWbNmTVV3zawmTZqk+Yx7e3tLv379amRiScT45JJC5P/f2ZCIiIiIiIiIiMhIvOcSERERERERERGZjMklIiIiIiIiIiIyGZNLRERERERERERkMiaXiIiIiIiIiIjIZEwuERERERERERGRyZhcIiIiIiIiIiIikzG5REREREREREREJmNyiYiMlpaWBoVCgfnz51d1V4iIiKzO8uXLoVQqceHCBc2ytWvXQqFQYO3atVXXMTNp0qQJmjRporVszZo1sLe3x4kTJ6qmU0aYP38+FAoF0tLSqrorRHoxplSvmFJTMblEZnHu3DkoFAqtl6OjI5544gmEh4cjPT1dZxsRQUpKCqZOnYq2bdtCpVLB1dUV7dq1w6JFi3D//v0qGIn1Uid4DH317t27qrtMZDLGFPOzhpgyceJEKBQKnDt3rtLrJutXcj9/4oknUFxcrLfciRMnNOVatGhRan0igqZNm0KhUGDUqFEGtVvaq3379gaP48aNG3j33XcxZcoU+Pr6Grzd45o0aQJnZ+dS169btw4KhQJ79uwxuQ1zmjBhApo2bYrZs2cbVF6d4DH0xT9wUXkYU7Qxplg+puhLktkyh6ruANk2f39/jB8/HgBw584dHDt2DOvXr8fmzZuxe/du9OrVS1O2oKAAgwYNglKpRO/evREaGor79+9j586d+Oc//4nNmzdj3759cHFxqarhWJUmTZogOjpaa9m5c+eQkJCAdu3aYfjw4TrlK0uXLl3w008/oW7dupVWJ5EhGFPMpypjClFJDg4OuHTpEnbu3IlBgwbprI+Li4ODgwMePHhQZj179uzRHORt2bIF169fh7e3d6nlS8aXx9WvX9/g/sfGxiIvLw+zZs0yeBtTJCcnw8vLSyvuWRMHBwdERUVh+vTpOHjwIIKCgsosry9hnZaWhn379mHYsGE6B+OVmeB+7bXXMHbsWDRu3LjS6iTrwZhiGMYU3fJkJCEyg19//VUASGhoqM66mJgYASC9evXSWl5YWCjvvvuu3Lx5U2f5kCFDBIAsXbrUnN2u9vbu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\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",
|
|
"fig, ax = plt.subplots(1, 4, figsize=(12, 10), sharey=True)\n",
|
|
"fig.subplots_adjust(left=0.06, right=0.95, wspace=0.1)\n",
|
|
"df = pd.DataFrame(\n",
|
|
" pd.read_csv(\n",
|
|
" \"AdaBoost_modify_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(\"R2 score Train\", fontsize=14)\n",
|
|
"ax[0].set_xlim(0, 1.05)\n",
|
|
"ax[0].set_yticklabels(df.AminoAcid, fontsize=12)\n",
|
|
"\n",
|
|
"ax[1].barh(df.AminoAcid, df.r2_avg_test, xerr=df.r2_std_test, color=flatui)\n",
|
|
"ax[1].set_xlabel(\"R2 score Test\", fontsize=14)\n",
|
|
"ax[1].set_xlim(0, 1.05)\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[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[3].set_xlim(0, 4)\n",
|
|
"\n",
|
|
"ax[0].set_ylabel(\"Biomolecules\", fontsize=14)\n",
|
|
"plt.savefig(\"AdaBoost_modify_result.png\", format=\"png\", dpi=1000, bbox_inches=\"tight\")"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"id": "c3933fab20d04ec698c2621248eb3be0",
|
|
"metadata": {},
|
|
"source": [
|
|
"# Predicted vs Real vales for testing data set (one of 10)"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 13,
|
|
"id": "4dd4641cc4064e0191573fe9c69df29b",
|
|
"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=110\n",
|
|
" )\n",
|
|
" DTR = DecisionTreeRegressor(max_depth=5, random_state=1)\n",
|
|
" model = AdaBoostRegressor(n_estimators=50, base_estimator=DTR, random_state=1)\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\": \"AdaBoost\",\n",
|
|
" }\n",
|
|
" return d"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 14,
|
|
"id": "8309879909854d7188b41380fd92a7c3",
|
|
"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(\"AdaBoost_ypredict-yreal-110.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
|
|
}
|