Files
cas-pml/SL/aufgaben/template/4_WS/Loesungen/WS 05 Loesung.ipynb
T
2026-05-21 14:16:30 +02:00

194 lines
36 KiB
Plaintext

{
"cells": [
{
"cell_type": "code",
"execution_count": 1,
"metadata": {},
"outputs": [],
"source": [
"## prepare env, read and prepare data\n",
"import pandas as pd\n",
"import numpy as np\n",
"import matplotlib.pyplot as plt\n",
"import seaborn as sns\n",
"\n",
"sns.set()\n",
"\n",
"codepath = '.././2_code' ## for import of user defined module\n",
"datapath = '../../3_data'\n",
"\n",
"from sys import path\n",
"path.insert(1, codepath)\n",
"\n",
"from os import chdir\n",
"chdir(datapath)\n",
"\n",
"from bfh_cas_pml import prep_data\n",
"\n",
"X_train, X_test, y_train, y_test = prep_data('bank_data_prep.csv',\n",
" target='y',\n",
" seed=1234)"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {
"scrolled": true
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"0.8296318831761484\n",
"0.8521448128993002\n",
"0.867964709461515\n",
"0.8795254031031335\n",
"0.8789169455430483\n",
"0.8773958016428354\n",
"0.877700030422878\n",
"0.8780042592029206\n",
"0.8767873440827503\n",
"0.8743535138424094\n",
"0.8743535138424094\n",
"0.8728323699421965\n",
"0.8697900821417706\n",
"0.8697900821417706\n",
"0.8697900821417706\n",
"0.867964709461515\n",
"0.8634012777608762\n",
"0.8634012777608762\n",
"0.8634012777608762\n",
"0.8634012777608762\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"C:\\Users\\werne\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n",
" with pd.option_context('mode.use_inf_as_na', True):\n",
"C:\\Users\\werne\\anaconda3\\Lib\\site-packages\\seaborn\\_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n",
" with pd.option_context('mode.use_inf_as_na', True):\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"best_score = 0.8795254031031335\n",
"best_val = 0.00030000000000000003\n"
]
},
{
"data": {
"image/png": "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PD5kyBBIJJJW3xVqcN999yEpKQknTpzAM888gz179uCf//xno3P8/f2xadMmBAUF4R//+AemT5+OU6dO4Y033sDkyZMBADKZDB9++CFGjRqFd999FzNnzkRmZibWrl1rDDPNcXV1xWeffYa+ffti6dKlSExMxK5duzBv3jy88sorAOpXji1cuBDHjx9HYmIilixZgvbt2xv/rI8ePQqlUom1a9eiR48eeOONN/DUU09h9+7d+Oc//2n8swkLC8Nnn30GiUSCF198EbNnz0ZhYSHee+89jBo1yqQ/PyIxSQQ+sZCIRDRs2DDExsZiyZIlotaxY8cOvPjii/j555/h4+Mjai1E1LY4042IjARBaDJRuTkymazR5F5b9sMPPyA1NRWbNm1CQkJCoyDkiH8eRI6IYYiIjA4dOtSih6++9dZbJg8nWZvs7Gx88skn6Nu3L/7+9783em3Lli3GIaZbWb9+vXF+ExHZHg6TEZFRRUUFLl26dNvzOnTo0GRPHXtUUlLS6JldNxMcHNzsHktEZBsYhoiIiMihcTUZEREROTSGISIiInJoDENERETk0BiGiIiIyKExDBEREZFDYxgiIiIih8YwRERERA7t/wOokHzADGPI8gAAAABJRU5ErkJggg==",
"text/plain": [
"<Figure size 640x480 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"from sklearn.tree import DecisionTreeClassifier\n",
"model = DecisionTreeClassifier()\n",
"\n",
"scores = []\n",
"params = np.arange(0, 0.002, 0.0001)\n",
"\n",
"for param in params:\n",
" model.set_params(min_impurity_decrease=param, random_state=1234)\n",
" model.fit(X_train, y_train)\n",
" scores.append(model.score(X_test, y_test))\n",
" print(model.score(X_test, y_test))\n",
"\n",
"fig = sns.lineplot(x=params, y=scores)\n",
"plt.xlabel('min_impurity_decrease')\n",
"plt.ylabel('accuracy');\n",
"\n",
"print('best_score =', max(scores))\n",
"print('best_val =', params[scores.index(max(scores))])"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"**Fazit:**\n",
"* beste Performance bei min_impurity_decrease=0.0003"
]
}
],
"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.11.7"
},
"toc": {
"base_numbering": "0",
"nav_menu": {},
"number_sections": true,
"sideBar": true,
"skip_h1_title": false,
"title_cell": "WS 08 Klassifikation - DecisionTreeClassifier - solution",
"title_sidebar": "Contents",
"toc_cell": false,
"toc_position": {
"height": "calc(100% - 180px)",
"left": "10px",
"top": "150px",
"width": "165px"
},
"toc_section_display": true,
"toc_window_display": true
},
"varInspector": {
"cols": {
"lenName": 16,
"lenType": 16,
"lenVar": 40
},
"kernels_config": {
"python": {
"delete_cmd_postfix": "",
"delete_cmd_prefix": "del ",
"library": "var_list.py",
"varRefreshCmd": "print(var_dic_list())"
},
"r": {
"delete_cmd_postfix": ") ",
"delete_cmd_prefix": "rm(",
"library": "var_list.r",
"varRefreshCmd": "cat(var_dic_list()) "
}
},
"types_to_exclude": [
"module",
"function",
"builtin_function_or_method",
"instance",
"_Feature"
],
"window_display": false
}
},
"nbformat": 4,
"nbformat_minor": 4
}