442 lines
178 KiB
Plaintext
Raw Permalink Normal View History

2025-02-08 13:43:03 +04:00
{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Начало лабораторной работы ##"
]
},
{
"cell_type": "code",
2025-02-08 13:46:59 +04:00
"execution_count": 9,
2025-02-08 13:43:03 +04:00
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Index(['HeartDisease', 'BMI', 'Smoking', 'AlcoholDrinking', 'Stroke',\n",
" 'PhysicalHealth', 'MentalHealth', 'DiffWalking', 'Sex', 'AgeCategory',\n",
" 'Race', 'Diabetic', 'PhysicalActivity', 'GenHealth', 'SleepTime',\n",
" 'Asthma', 'KidneyDisease', 'SkinCancer'],\n",
" dtype='object')\n",
2025-02-08 13:46:59 +04:00
"Минимальное значение BMI: 12.48\n",
2025-02-08 13:43:03 +04:00
"Максимальное значение BMI: 75.82\n",
"Минимальное значение Sleep Time: 1.0\n",
2025-02-08 13:46:59 +04:00
"Максимальное значение Sleep Time: 20.0\n",
2025-02-08 13:43:03 +04:00
"Минимальное значение Physical Health: 0.0\n",
"Максимальное значение Physical Health: 30.0\n"
]
}
],
"source": [
"import pandas as pd \n",
2025-02-08 13:46:59 +04:00
"df = pd.read_csv(\"..//static//csv//heart_2020_cleaned.csv\").head(5000)\n",
2025-02-08 13:43:03 +04:00
"print(df.columns)\n",
"\n",
"min_bmi = df['BMI'].min()\n",
"max_bmi = df['BMI'].max()\n",
"\n",
"print(f\"Минимальное значение BMI: {min_bmi}\")\n",
"print(f\"Максимальное значение BMI: {max_bmi}\")\n",
"\n",
"min_sleep = df['SleepTime'].min()\n",
"max_sleep = df['SleepTime'].max()\n",
"\n",
"print(f\"Минимальное значение Sleep Time: {min_sleep}\")\n",
"print(f\"Максимальное значение Sleep Time: {max_sleep}\")\n",
"\n",
"min_physical_health = df['PhysicalHealth'].min()\n",
"max_physical_health = df['PhysicalHealth'].max()\n",
"\n",
"print(f\"Минимальное значение Physical Health: {min_physical_health}\")\n",
"print(f\"Максимальное значение Physical Health: {max_physical_health}\")"
]
},
{
"cell_type": "code",
2025-02-08 13:46:59 +04:00
"execution_count": 10,
2025-02-08 13:43:03 +04:00
"metadata": {},
"outputs": [],
"source": [
"import numpy as np\n",
"from skfuzzy import control as ctrl\n",
"\n",
"bmi = ctrl.Antecedent(np.arange(12, 95, 0.1), \"bmi\")\n",
"sleep = ctrl.Antecedent(np.arange(1, 24, 0.1), \"sleep\") ## sleep\n",
"phys = ctrl.Consequent(np.arange(0, 30, 0.1), \"phys\") ## physical health"
]
},
{
"cell_type": "code",
2025-02-08 13:46:59 +04:00
"execution_count": 11,
2025-02-08 13:43:03 +04:00
"metadata": {},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"c:\\storage\\university\\3 course\\AIM\\AIM-PIbd-32-Chubykina-P-P\\aimenv\\Lib\\site-packages\\skfuzzy\\control\\fuzzyvariable.py:125: UserWarning: FigureCanvasAgg is non-interactive, and thus cannot be shown\n",
" fig.show()\n"
]
},
{
"data": {
"image/png": "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
"text/plain": [
"<Figure size 640x480 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"image/png": "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
"text/plain": [
"<Figure size 640x480 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"image/png": "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
"text/plain": [
"<Figure size 640x480 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"import numpy as np\n",
"import skfuzzy as fuzz\n",
"from skfuzzy import control as ctrl \n",
"\n",
"bmi[\"low\"] = fuzz.zmf(bmi.universe, 12, 20) \n",
"bmi[\"average\"] = fuzz.trapmf(bmi.universe, [18, 22, 24, 28]) \n",
"bmi[\"high\"] = fuzz.smf(bmi.universe, 25, 30) \n",
"\n",
"sleep[\"low\"] = fuzz.zmf(sleep.universe, 5, 7) \n",
"sleep[\"average\"] = fuzz.trapmf(sleep.universe, [6, 7, 8, 9])\n",
"sleep[\"high\"] = fuzz.smf(sleep.universe, 8, 11) \n",
"\n",
"phys[\"low\"] = fuzz.zmf(phys.universe, 0, 10) \n",
"phys[\"average\"] = fuzz.trapmf(phys.universe, [5, 10, 15, 20]) \n",
"phys[\"high\"] = fuzz.smf(phys.universe, 15, 30) \n",
"\n",
"bmi.view()\n",
"sleep.view()\n",
"phys.view()"
]
},
{
"cell_type": "code",
2025-02-08 13:46:59 +04:00
"execution_count": 12,
2025-02-08 13:43:03 +04:00
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"(<Figure size 640x480 with 1 Axes>, <Axes: >)"
]
},
2025-02-08 13:46:59 +04:00
"execution_count": 12,
2025-02-08 13:43:03 +04:00
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
2025-02-08 13:46:59 +04:00
"image/png": "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
2025-02-08 13:43:03 +04:00
"text/plain": [
"<Figure size 640x480 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"rule1 = ctrl.Rule(bmi[\"low\"] & sleep[\"high\"], phys[\"high\"])\n",
"rule2 = ctrl.Rule(bmi[\"low\"] & sleep[\"average\"], phys[\"high\"])\n",
"rule3 = ctrl.Rule(bmi[\"low\"] & sleep[\"low\"], phys[\"average\"])\n",
"rule4 = ctrl.Rule(bmi[\"average\"] & sleep[\"high\"], phys[\"high\"])\n",
"rule5 = ctrl.Rule(bmi[\"average\"] & sleep[\"average\"], phys[\"average\"])\n",
"rule6 = ctrl.Rule(bmi[\"average\"] & sleep[\"low\"], phys[\"average\"])\n",
"rule7 = ctrl.Rule(bmi[\"high\"] & sleep[\"high\"], phys[\"average\"])\n",
"rule8 = ctrl.Rule(bmi[\"high\"] & sleep[\"average\"], phys[\"low\"])\n",
"rule9 = ctrl.Rule(bmi[\"high\"] & sleep[\"low\"], phys[\"low\"])\n",
"\n",
"rule1.view()"
]
},
{
"cell_type": "code",
2025-02-08 13:46:59 +04:00
"execution_count": 13,
2025-02-08 13:43:03 +04:00
"metadata": {},
"outputs": [],
"source": [
"phys_ctrl = ctrl.ControlSystem(\n",
" [\n",
" rule1,\n",
" rule2,\n",
" rule3,\n",
" rule4,\n",
" rule5,\n",
" rule6,\n",
" rule7,\n",
" rule8,\n",
" rule9,\n",
" ]\n",
")\n",
"\n",
"physes = ctrl.ControlSystemSimulation(phys_ctrl)"
]
},
{
"cell_type": "code",
2025-02-08 13:46:59 +04:00
"execution_count": 14,
2025-02-08 13:43:03 +04:00
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"=============\n",
" Antecedents \n",
"=============\n",
"Antecedent: bmi = 22\n",
" - low : 0.0\n",
" - average : 0.9999999999999911\n",
" - high : 0.0\n",
"Antecedent: sleep = 12\n",
" - low : 0.0\n",
" - average : 0.0\n",
" - high : 1.0\n",
"\n",
"=======\n",
" Rules \n",
"=======\n",
"RULE #0:\n",
" IF bmi[low] AND sleep[high] THEN phys[high]\n",
"\tAND aggregation function : fmin\n",
"\tOR aggregation function : fmax\n",
"\n",
" Aggregation (IF-clause):\n",
" - bmi[low] : 0.0\n",
" - sleep[high] : 1.0\n",
" bmi[low] AND sleep[high] = 0.0\n",
" Activation (THEN-clause):\n",
" phys[high] : 0.0\n",
"\n",
"RULE #1:\n",
" IF bmi[low] AND sleep[average] THEN phys[high]\n",
"\tAND aggregation function : fmin\n",
"\tOR aggregation function : fmax\n",
"\n",
" Aggregation (IF-clause):\n",
" - bmi[low] : 0.0\n",
" - sleep[average] : 0.0\n",
" bmi[low] AND sleep[average] = 0.0\n",
" Activation (THEN-clause):\n",
" phys[high] : 0.0\n",
"\n",
"RULE #2:\n",
" IF bmi[low] AND sleep[low] THEN phys[average]\n",
"\tAND aggregation function : fmin\n",
"\tOR aggregation function : fmax\n",
"\n",
" Aggregation (IF-clause):\n",
" - bmi[low] : 0.0\n",
" - sleep[low] : 0.0\n",
" bmi[low] AND sleep[low] = 0.0\n",
" Activation (THEN-clause):\n",
" phys[average] : 0.0\n",
"\n",
"RULE #3:\n",
" IF bmi[average] AND sleep[high] THEN phys[high]\n",
"\tAND aggregation function : fmin\n",
"\tOR aggregation function : fmax\n",
"\n",
" Aggregation (IF-clause):\n",
" - bmi[average] : 0.9999999999999911\n",
" - sleep[high] : 1.0\n",
" bmi[average] AND sleep[high] = 0.9999999999999911\n",
" Activation (THEN-clause):\n",
" phys[high] : 0.9999999999999911\n",
"\n",
"RULE #4:\n",
" IF bmi[average] AND sleep[average] THEN phys[average]\n",
"\tAND aggregation function : fmin\n",
"\tOR aggregation function : fmax\n",
"\n",
" Aggregation (IF-clause):\n",
" - bmi[average] : 0.9999999999999911\n",
" - sleep[average] : 0.0\n",
" bmi[average] AND sleep[average] = 0.0\n",
" Activation (THEN-clause):\n",
" phys[average] : 0.0\n",
"\n",
"RULE #5:\n",
" IF bmi[average] AND sleep[low] THEN phys[average]\n",
"\tAND aggregation function : fmin\n",
"\tOR aggregation function : fmax\n",
"\n",
" Aggregation (IF-clause):\n",
" - bmi[average] : 0.9999999999999911\n",
" - sleep[low] : 0.0\n",
" bmi[average] AND sleep[low] = 0.0\n",
" Activation (THEN-clause):\n",
" phys[average] : 0.0\n",
"\n",
"RULE #6:\n",
" IF bmi[high] AND sleep[high] THEN phys[average]\n",
"\tAND aggregation function : fmin\n",
"\tOR aggregation function : fmax\n",
"\n",
" Aggregation (IF-clause):\n",
" - bmi[high] : 0.0\n",
" - sleep[high] : 1.0\n",
" bmi[high] AND sleep[high] = 0.0\n",
" Activation (THEN-clause):\n",
" phys[average] : 0.0\n",
"\n",
"RULE #7:\n",
" IF bmi[high] AND sleep[average] THEN phys[low]\n",
"\tAND aggregation function : fmin\n",
"\tOR aggregation function : fmax\n",
"\n",
" Aggregation (IF-clause):\n",
" - bmi[high] : 0.0\n",
" - sleep[average] : 0.0\n",
" bmi[high] AND sleep[average] = 0.0\n",
" Activation (THEN-clause):\n",
" phys[low] : 0.0\n",
"\n",
"RULE #8:\n",
" IF bmi[high] AND sleep[low] THEN phys[low]\n",
"\tAND aggregation function : fmin\n",
"\tOR aggregation function : fmax\n",
"\n",
" Aggregation (IF-clause):\n",
" - bmi[high] : 0.0\n",
" - sleep[low] : 0.0\n",
" bmi[high] AND sleep[low] = 0.0\n",
" Activation (THEN-clause):\n",
" phys[low] : 0.0\n",
"\n",
"\n",
"==============================\n",
" Intermediaries and Conquests \n",
"==============================\n",
"Consequent: phys = 25.566444064197764\n",
" low:\n",
" Accumulate using accumulation_max : 0.0\n",
" average:\n",
" Accumulate using accumulation_max : 0.0\n",
" high:\n",
" Accumulate using accumulation_max : 0.9999999999999911\n",
"\n"
]
},
{
"data": {
"text/plain": [
"np.float64(25.566444064197764)"
]
},
2025-02-08 13:46:59 +04:00
"execution_count": 14,
2025-02-08 13:43:03 +04:00
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"physes.input[\"bmi\"] = 22\n",
"physes.input[\"sleep\"] = 12\n",
"physes.compute()\n",
"physes.print_state()\n",
"physes.output[\"phys\"]"
]
},
{
"cell_type": "code",
2025-02-08 13:46:59 +04:00
"execution_count": 15,
2025-02-08 13:43:03 +04:00
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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
"text/plain": [
"<Figure size 640x480 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"phys.view(sim=physes)"
]
},
{
"cell_type": "code",
2025-02-08 13:46:59 +04:00
"execution_count": 16,
2025-02-08 13:43:03 +04:00
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
2025-02-08 13:46:59 +04:00
"MSE: 120.98321121780054\n",
"R2 Score: -0.6706221555036584\n"
2025-02-08 13:43:03 +04:00
]
}
],
"source": [
"from sklearn.metrics import mean_squared_error, r2_score\n",
"\n",
"true_values = df['PhysicalHealth'].values\n",
"\n",
"predicted_values = []\n",
"\n",
"for bmi_value, sleep_value in zip(df['BMI'], df['SleepTime']):\n",
" physes.input[\"bmi\"] = bmi_value\n",
" physes.input[\"sleep\"] = sleep_value\n",
" physes.compute()\n",
" predicted_values.append(physes.output[\"phys\"])\n",
"\n",
"mse = mean_squared_error(true_values, predicted_values)\n",
"r2 = r2_score(true_values, predicted_values)\n",
"\n",
"print(f\"MSE: {mse}\")\n",
"print(f\"R2 Score: {r2}\")"
]
}
],
"metadata": {
"kernelspec": {
"display_name": "aimenv",
"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"
}
},
"nbformat": 4,
"nbformat_minor": 2
}