coal_materials/.ipynb_checkpoints/未命名-checkpoint.ipynb

286 lines
923 KiB
Plaintext
Raw Normal View History

2024-06-18 10:19:35 +08:00
{
"cells": [
{
"cell_type": "code",
"execution_count": 1,
"id": "798076ab-a8f3-47d4-a221-00b465568f41",
"metadata": {},
"outputs": [],
"source": [
"from statistics import mean\n",
"import matplotlib.pyplot as plt\n",
"from sklearn.metrics import explained_variance_score,r2_score,median_absolute_error,mean_squared_error,mean_absolute_error\n",
"from scipy import stats\n",
"import numpy as np\n",
"plt.rcParams[\"font.sans-serif\"] = [\"SimHei\"] # 设置字体\n",
"plt.rcParams[\"font.size\"] = 16\n",
"plt.rcParams[\"axes.unicode_minus\"] = False # 正常显示负号"
]
},
{
"cell_type": "code",
"execution_count": 7,
"id": "697bdeac-4ca7-4cf9-ad01-2ee00b4c7c72",
"metadata": {},
"outputs": [],
"source": [
"def scatter_out_1(x,y): ## x,y为两个需要做对比分析的两个量。\n",
" # ==========计算评价指标==========\n",
" BIAS = mean(x - y)\n",
" MSE = mean_squared_error(x, y)\n",
" RMSE = np.power(MSE, 0.5)\n",
" R2 = r2_score(x, y)\n",
" MAE = mean_absolute_error(x, y)\n",
" EV = explained_variance_score(x, y)\n",
" print('==========算法评价指标==========')\n",
" print('BIAS:', '%.3f' % (BIAS))\n",
" print('Explained Variance(EV):', '%.3f' % (EV))\n",
" print('Mean Absolute Error(MAE):', '%.3f' % (MAE))\n",
" print('Mean squared error(MSE):', '%.3f' % (MSE))\n",
" print('Root Mean Squard Error(RMSE):', '%.3f' % (RMSE))\n",
" print('R_squared:', '%.3f' % (R2))\n",
" # ===========Calculate the point density==========\n",
" xy = np.vstack([x, y])\n",
" z = stats.gaussian_kde(xy)(xy)\n",
" # ===========Sort the points by density, so that the densest points are plotted last===========\n",
" idx = z.argsort()\n",
" x, y, z = x[idx], y[idx], z[idx]\n",
" def best_fit_slope_and_intercept(xs, ys):\n",
" m = (((mean(xs) * mean(ys)) - mean(xs * ys)) / ((mean(xs) * mean(xs)) - mean(xs * xs)))\n",
" b = mean(ys) - m * mean(xs)\n",
" return m, b\n",
" m, b = best_fit_slope_and_intercept(x, y)\n",
" regression_line = []\n",
" for a in x:\n",
" regression_line.append((m * a) + b)\n",
" fig,ax=plt.subplots(figsize=(12,9),dpi=600)\n",
" scatter=ax.scatter(x,y,marker='o',c=z, edgecolors='b',s=15,label='LST',cmap='Spectral_r')\n",
" cbar=plt.colorbar(scatter,shrink=1,orientation='vertical',extend='both',pad=0.015,aspect=30,label='frequency', )\n",
" plt.plot([0,35],[0,35],'black',lw=1.5) # 画的1:1线线的颜色为black线宽为0.8\n",
" plt.plot(x,regression_line,'red',lw=1.5) # 预测与实测数据之间的回归线\n",
" plt.axis([0,35,0,35]) # 设置线的范围\n",
" plt.title(\"总孔体积拟合结果 $10^2 cm^3/g$\", fontdict={\"fontsize\":16})\n",
" plt.xlabel('预测值', fontdict={\"fontsize\":16})\n",
" plt.ylabel('真实值', fontdict={\"fontsize\":16})\n",
" plt.text(0.5,34, '$N=%.f$' % len(y), fontdict={\"fontsize\":16}) # text的位置需要根据x,y的大小范围进行调整。\n",
" plt.text(0.5,33, '$R^2=%.3f$' % R2, fontdict={\"fontsize\":16})\n",
" plt.text(0.5,32, '$BIAS=%.4f$' % BIAS, fontdict={\"fontsize\":16})\n",
" plt.text(0.5,31, '$RMSE=%.3f$' % RMSE, fontdict={\"fontsize\":16})\n",
" plt.xlim(0,35) # 设置x坐标轴的显示范围\n",
" plt.ylim(0,35) # 设置y坐标轴的显示范围\n",
" plt.savefig('./总孔体积.png',dpi=300, bbox_inches='tight',pad_inches=0)\n",
" plt.show()"
]
},
{
"cell_type": "code",
"execution_count": 8,
"id": "9e1279b5-4b18-4f57-bdc0-197ba84cda33",
"metadata": {},
"outputs": [],
"source": [
"import pandas as pd"
]
},
{
"cell_type": "code",
"execution_count": 9,
"id": "2d5bcdf5-cc45-40b7-8000-a0e41b18ef93",
"metadata": {},
"outputs": [],
"source": [
"df = pd.read_csv('./rst/总孔体积_比表.csv')"
]
},
{
"cell_type": "code",
"execution_count": 10,
"id": "8908a8b3-6bd5-4d71-b012-cbdd690b6a31",
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>真实值</th>\n",
" <th>预测值</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>count</th>\n",
" <td>184.000000</td>\n",
" <td>184.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>mean</th>\n",
" <td>267.871020</td>\n",
" <td>272.776239</td>\n",
" </tr>\n",
" <tr>\n",
" <th>std</th>\n",
" <td>696.475264</td>\n",
" <td>693.395059</td>\n",
" </tr>\n",
" <tr>\n",
" <th>min</th>\n",
" <td>0.060000</td>\n",
" <td>0.069085</td>\n",
" </tr>\n",
" <tr>\n",
" <th>25%</th>\n",
" <td>0.539250</td>\n",
" <td>0.570501</td>\n",
" </tr>\n",
" <tr>\n",
" <th>50%</th>\n",
" <td>0.877000</td>\n",
" <td>0.889113</td>\n",
" </tr>\n",
" <tr>\n",
" <th>75%</th>\n",
" <td>1.673250</td>\n",
" <td>1.551479</td>\n",
" </tr>\n",
" <tr>\n",
" <th>max</th>\n",
" <td>3322.000000</td>\n",
" <td>3225.575700</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" 真实值 预测值\n",
"count 184.000000 184.000000\n",
"mean 267.871020 272.776239\n",
"std 696.475264 693.395059\n",
"min 0.060000 0.069085\n",
"25% 0.539250 0.570501\n",
"50% 0.877000 0.889113\n",
"75% 1.673250 1.551479\n",
"max 3322.000000 3225.575700"
]
},
"execution_count": 17,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"df.describe()"
]
},
{
"cell_type": "code",
"execution_count": 11,
"id": "d6bfbaae-a201-4963-be4e-4731a3fe8a37",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"==========算法评价指标==========\n",
"BIAS: 0.049\n",
"Explained Variance(EV): 0.921\n",
"Mean Absolute Error(MAE): 0.622\n",
"Mean squared error(MSE): 3.797\n",
"Root Mean Squard Error(RMSE): 1.949\n",
"R_squared: 0.921\n"
]
},
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAFroAABKjCAYAAACL1YfNAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy88F64QAAAACXBIWXMAAFxGAABcRgEUlENBAAEAAElEQVR4nOzdeZyN9f//8eeZfTWWsZYlIVkqIpKiqGzZU2Rto7IUkUgkWygVZUkJUbbsa0JIpuwhUcmWfTD7es7vj37mm08x13XOuc45M/O4327nhpnX+3o/5zhzNuN52RwOh0MAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACASX7eDgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAICciaJrAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOIWiawAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADiFomsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4haJrAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOIWiawAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADiFomsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4haJrAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOIWiawAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADiFomsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4haJrAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOIWiawAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADiFomsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4haJrAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOIWiawAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADiFomsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4haJrAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOIWiawAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADiFomsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4haJrAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOIWiawAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADiFomsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4haJrAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOIWiawAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADiFomsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4haJrAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOIWiawAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADiFomsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4haJrAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOIWiawAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADiFomsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4haJrAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOIWiawAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADiFomsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4haJrAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOIWiawAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADiFomsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4haJrAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOIWiawAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADiFomsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4haJrAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOIWiawAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADiFomsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4haJrAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOIWiawAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADiFomsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4haJrAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOIWiawAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADiFomsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4haJrAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOIWiawAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADiFomsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4haJrAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOIWiawAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADiFomsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4haJrAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOIWiawAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADiFomsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4haJrAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOIWiawAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADglwNsBAAAAAAAAAAAAAAAAAAAAAAAAkPukpaVpz5492r17tw4cOKDDhw/r1KlTOnPmjBITE5WamqqgoCCFhIQoKipKJUqU0M0336zKlSvrjjvu0H333aciRYp4+8sA4GEOh0N//PGHDh48qKNHj2ZdTpw4obi4OCUkJCghIUFJSUkKDAxUcHCwIiMjVaxYMRUvXly33XabKlWqpFq1aqlSpUqy2Wze/pIAAAAAAAAAAAAAAACAXM/mcDgc3g4BAAAAAAAAAAAAAAAAAAAAAACAnM1utysmJkbffPON1q9fr59++kkpKSlOH89ms6lq1apq2bKlOnbsqPLly7sxLQBfcerUKW3ZskU7d+7Uzp07tWvXLl25csUtxy5UqJAaN26sdu3aqVGjRgoMDHTLcQEAAAAAAAAAAAAAAABci6JrAAAAAAAAAAAAAAAAAAAAAAAAOCUjI0PffPONFi1apGXLlun8+fOW7fXwww/r9ddf14MPPmjZHgCsd/HiRW3cuFEbNmzQhg0b9Ouvv3pk3xIlSuill15Sr169FBkZ6ZE9AQAAAAAAAAAAAAAAgLyComsAAAAAAAAAAAAAAAAAAAAAAACYsnPnTs2YMUPz58+3tNz6vzRt2lQffvihypYt69F9AbhH1apVtX//fq/tX6RIEY0cOVLPPvus1zIAAAAAAAAAAAAAAAAAuY2ftwMAAAAAAAAAAAAAAAAAAAAAAAAgZ1i8eLGqV6+uGjVq6KOPPvJ4ybUkrVy5UlWqVNG
"text/plain": [
"<Figure size 7200x5400 with 2 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"scatter_out_1(df['预测值'].values/100, df['真实值'].values/100)"
]
},
{
"cell_type": "code",
"execution_count": 12,
"id": "6e95d4f4-eb89-4263-8f81-f1694ad7e97f",
"metadata": {},
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAABA4AAAMmCAYAAAB1hsOVAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy88F64QAAAACXBIWXMAAA9hAAAPYQGoP6dpAAEAAElEQVR4nOzdeVhU9f4H8PcwA8OOCOK+m/uaS9ctbbFrprlbmrfcM7NSM3evaW6pqZWKS5lmWf7MrDS1TNOuirumuC+IpIiKsg7Men5/DOcwwywMMMCBeb+exwfmzHfOORDEnM/5LApBEAQQEREREREREdnhVdwnQERERERERETyxcABERERERERETnEwAEREREREREROcTAARERERERERE5xMABERERERERETnEwAEREREREREROcTAARERERERERE5xMABERERERERETnEwAEREXk8jUYDo9FY3KdBMnD27FkcPXoUjx8/LtbzMBgMxXbs1NRUJCUlQa/XF9s5EBGRvDBwQEREHm/8+PFo3Lgx1q1bB5PJVGjHWb9+Pdq1a4f169dDp9MV2nHk5NNPP0VMTIzd59atW4e5c+fiwoULRXxWjvXv3x9t27bFyZMnHa4xGo2IjIxEQkKC1fY7d+5g5cqV+PHHHwv0c3Tp0iXUrl0bX3/9tVsCWlu3bsXs2bPx6NEjl9Y//fTTCA0NxU8//VTgYxMRUemgKu4TICIiKk7Hjh3DF198AZPJhMTERHh5uR5T1+l00Gq1ePz4MYxGI2rWrOl0/bp163D06FFotVq88cYbBT31POnQoQMEQYCPjw+USqXTtX369MGYMWMKfMzo6GiMGzcO48aNw1dffYUhQ4ZYPf/FF1/g+PHjaNy4MRo1auRwP/Pnz8f06dMLdC63b99G1apVc13n6+sLAAgODna4Zvjw4di4cSMuX76MTz/9VNr+zz//YOzYsQgICEBaWlq+z/X999/H7du3MW7cOPTq1cvpubjiyy+/xG+//YY1a9bg2rVrCAgIcLrez88PAODv75+n41y4cAGNGzfO93mKzpw5g+bNmxd4P0RE5D4MHBARkce6d+8eBgwYIN0dnjp1KqZOnZqvffXs2dPpHdqDBw/i6NGjUCqV+OKLL3K9eBcJgiAFKIxGI0JDQ23WLF68GJMmTbL7+nr16uHy5cuIjo5GcnKyS8d0FjQYPnw4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
"text/plain": [
"<Figure size 1200x900 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"samples = np.random.choice(df.index.values, 50, replace=False)\n",
"plt.figure(figsize=(12, 9))\n",
"plt.plot(range(len(samples)), df.iloc[samples]['预测值'].values, 'o-', label='预测值')\n",
"plt.plot(range(len(samples)), df.iloc[samples]['真实值'].values, '*-', label='真实值')\n",
"plt.xlabel('预测值 $(10^2 cm^3/g)$', fontdict={\"fontsize\":16})\n",
"plt.ylabel('真实值 $(10^2 cm^3/g)$', fontdict={\"fontsize\":16})\n",
"plt.title('氮气吸附量拟合结果')\n",
"plt.legend(loc='best')\n",
"plt.show()"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "37c6c196-acb0-43c3-a234-c05a2f44dda4",
"metadata": {},
"outputs": [],
"source": []
}
],
"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.8.16"
}
},
"nbformat": 4,
"nbformat_minor": 5
}