1458 lines
185 KiB
Plaintext
1458 lines
185 KiB
Plaintext
{
|
||
"cells": [
|
||
{
|
||
"cell_type": "markdown",
|
||
"metadata": {
|
||
"id": "wwHZs5pbv5lw"
|
||
},
|
||
"source": [
|
||
"# Практическая работа №3\n",
|
||
"## по предмету \"Системы искусственного интеллекта\"\n",
|
||
"\n",
|
||
"Целью практической работы является изучение методов регрессии.\n",
|
||
"\n",
|
||
"В данно работе вам необходимо:\n",
|
||
"1. используя библиотеку sklearn, обучить линейную регрессию без использования регуляризации\n",
|
||
"2. изучить работу класса Lasso для регуляризации, подобрать наилучший параметр для данного набора данных.\n",
|
||
"3. изучить работу класса Ridge для регуляризации, подобрать наилучший параметр альфа для данного набора данных."
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 1,
|
||
"metadata": {
|
||
"id": "EP_MhQGkw5sW"
|
||
},
|
||
"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>brand</th>\n",
|
||
" <th>processor_brand</th>\n",
|
||
" <th>processor_name</th>\n",
|
||
" <th>processor_gnrtn</th>\n",
|
||
" <th>ram_gb</th>\n",
|
||
" <th>ram_type</th>\n",
|
||
" <th>ssd</th>\n",
|
||
" <th>hdd</th>\n",
|
||
" <th>os</th>\n",
|
||
" <th>os_bit</th>\n",
|
||
" <th>graphic_card_gb</th>\n",
|
||
" <th>weight</th>\n",
|
||
" <th>warranty</th>\n",
|
||
" <th>Touchscreen</th>\n",
|
||
" <th>msoffice</th>\n",
|
||
" <th>Price</th>\n",
|
||
" <th>rating</th>\n",
|
||
" <th>Number of Ratings</th>\n",
|
||
" <th>Number of Reviews</th>\n",
|
||
" </tr>\n",
|
||
" </thead>\n",
|
||
" <tbody>\n",
|
||
" <tr>\n",
|
||
" <th>0</th>\n",
|
||
" <td>ASUS</td>\n",
|
||
" <td>Intel</td>\n",
|
||
" <td>Core i3</td>\n",
|
||
" <td>10th</td>\n",
|
||
" <td>4 GB</td>\n",
|
||
" <td>DDR4</td>\n",
|
||
" <td>0 GB</td>\n",
|
||
" <td>1024 GB</td>\n",
|
||
" <td>Windows</td>\n",
|
||
" <td>64-bit</td>\n",
|
||
" <td>0 GB</td>\n",
|
||
" <td>Casual</td>\n",
|
||
" <td>No warranty</td>\n",
|
||
" <td>No</td>\n",
|
||
" <td>No</td>\n",
|
||
" <td>34649</td>\n",
|
||
" <td>2 stars</td>\n",
|
||
" <td>3</td>\n",
|
||
" <td>0</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>1</th>\n",
|
||
" <td>Lenovo</td>\n",
|
||
" <td>Intel</td>\n",
|
||
" <td>Core i3</td>\n",
|
||
" <td>10th</td>\n",
|
||
" <td>4 GB</td>\n",
|
||
" <td>DDR4</td>\n",
|
||
" <td>0 GB</td>\n",
|
||
" <td>1024 GB</td>\n",
|
||
" <td>Windows</td>\n",
|
||
" <td>64-bit</td>\n",
|
||
" <td>0 GB</td>\n",
|
||
" <td>Casual</td>\n",
|
||
" <td>No warranty</td>\n",
|
||
" <td>No</td>\n",
|
||
" <td>No</td>\n",
|
||
" <td>38999</td>\n",
|
||
" <td>3 stars</td>\n",
|
||
" <td>65</td>\n",
|
||
" <td>5</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>2</th>\n",
|
||
" <td>Lenovo</td>\n",
|
||
" <td>Intel</td>\n",
|
||
" <td>Core i3</td>\n",
|
||
" <td>10th</td>\n",
|
||
" <td>4 GB</td>\n",
|
||
" <td>DDR4</td>\n",
|
||
" <td>0 GB</td>\n",
|
||
" <td>1024 GB</td>\n",
|
||
" <td>Windows</td>\n",
|
||
" <td>64-bit</td>\n",
|
||
" <td>0 GB</td>\n",
|
||
" <td>Casual</td>\n",
|
||
" <td>No warranty</td>\n",
|
||
" <td>No</td>\n",
|
||
" <td>No</td>\n",
|
||
" <td>39999</td>\n",
|
||
" <td>3 stars</td>\n",
|
||
" <td>8</td>\n",
|
||
" <td>1</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>3</th>\n",
|
||
" <td>ASUS</td>\n",
|
||
" <td>Intel</td>\n",
|
||
" <td>Core i5</td>\n",
|
||
" <td>10th</td>\n",
|
||
" <td>8 GB</td>\n",
|
||
" <td>DDR4</td>\n",
|
||
" <td>512 GB</td>\n",
|
||
" <td>0 GB</td>\n",
|
||
" <td>Windows</td>\n",
|
||
" <td>32-bit</td>\n",
|
||
" <td>2 GB</td>\n",
|
||
" <td>Casual</td>\n",
|
||
" <td>No warranty</td>\n",
|
||
" <td>No</td>\n",
|
||
" <td>No</td>\n",
|
||
" <td>69990</td>\n",
|
||
" <td>3 stars</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>4</th>\n",
|
||
" <td>ASUS</td>\n",
|
||
" <td>Intel</td>\n",
|
||
" <td>Celeron Dual</td>\n",
|
||
" <td>Not Available</td>\n",
|
||
" <td>4 GB</td>\n",
|
||
" <td>DDR4</td>\n",
|
||
" <td>0 GB</td>\n",
|
||
" <td>512 GB</td>\n",
|
||
" <td>Windows</td>\n",
|
||
" <td>64-bit</td>\n",
|
||
" <td>0 GB</td>\n",
|
||
" <td>Casual</td>\n",
|
||
" <td>No warranty</td>\n",
|
||
" <td>No</td>\n",
|
||
" <td>No</td>\n",
|
||
" <td>26990</td>\n",
|
||
" <td>3 stars</td>\n",
|
||
" <td>0</td>\n",
|
||
" <td>0</td>\n",
|
||
" </tr>\n",
|
||
" </tbody>\n",
|
||
"</table>\n",
|
||
"</div>"
|
||
],
|
||
"text/plain": [
|
||
" brand processor_brand processor_name processor_gnrtn ram_gb ram_type \\\n",
|
||
"0 ASUS Intel Core i3 10th 4 GB DDR4 \n",
|
||
"1 Lenovo Intel Core i3 10th 4 GB DDR4 \n",
|
||
"2 Lenovo Intel Core i3 10th 4 GB DDR4 \n",
|
||
"3 ASUS Intel Core i5 10th 8 GB DDR4 \n",
|
||
"4 ASUS Intel Celeron Dual Not Available 4 GB DDR4 \n",
|
||
"\n",
|
||
" ssd hdd os os_bit graphic_card_gb weight warranty \\\n",
|
||
"0 0 GB 1024 GB Windows 64-bit 0 GB Casual No warranty \n",
|
||
"1 0 GB 1024 GB Windows 64-bit 0 GB Casual No warranty \n",
|
||
"2 0 GB 1024 GB Windows 64-bit 0 GB Casual No warranty \n",
|
||
"3 512 GB 0 GB Windows 32-bit 2 GB Casual No warranty \n",
|
||
"4 0 GB 512 GB Windows 64-bit 0 GB Casual No warranty \n",
|
||
"\n",
|
||
" Touchscreen msoffice Price rating Number of Ratings Number of Reviews \n",
|
||
"0 No No 34649 2 stars 3 0 \n",
|
||
"1 No No 38999 3 stars 65 5 \n",
|
||
"2 No No 39999 3 stars 8 1 \n",
|
||
"3 No No 69990 3 stars 0 0 \n",
|
||
"4 No No 26990 3 stars 0 0 "
|
||
]
|
||
},
|
||
"execution_count": 1,
|
||
"metadata": {},
|
||
"output_type": "execute_result"
|
||
}
|
||
],
|
||
"source": [
|
||
"import pandas as pd\n",
|
||
"\n",
|
||
"df = pd.read_csv('AISP2.csv')\n",
|
||
"\n",
|
||
"df.head()"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 2,
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"data": {
|
||
"text/plain": [
|
||
"Price 1.000000\n",
|
||
"ssd 0.628272\n",
|
||
"ram_gb 0.518323\n",
|
||
"graphic_card_gb 0.459986\n",
|
||
"processor_name_Core i7 0.377777\n",
|
||
"processor_name_Core i9 0.359096\n",
|
||
"brand_APPLE 0.312112\n",
|
||
"os_Mac 0.312112\n",
|
||
"processor_name_M1 0.274581\n",
|
||
"processor_brand_M1 0.274581\n",
|
||
"processor_name_Ryzen 9 0.253506\n",
|
||
"weight_Casual 0.247878\n",
|
||
"processor_gnrtn_12th 0.219060\n",
|
||
"Touchscreen_Yes 0.189126\n",
|
||
"ram_type_LPDDR3 0.181314\n",
|
||
"ram_type_LPDDR4X 0.173809\n",
|
||
"ram_type_DDR5 0.168689\n",
|
||
"processor_gnrtn_10th 0.164034\n",
|
||
"os_DOS 0.140780\n",
|
||
"brand_MSI 0.123952\n",
|
||
"msoffice_No 0.105752\n",
|
||
"warranty_3 years 0.080610\n",
|
||
"processor_name_Ryzen 7 0.061872\n",
|
||
"ram_type_DDR3 0.042006\n",
|
||
"processor_gnrtn_8th 0.040292\n",
|
||
"warranty_1 year 0.033312\n",
|
||
"brand_ASUS 0.032036\n",
|
||
"ram_type_LPDDR4 0.028034\n",
|
||
"processor_gnrtn_9th 0.021192\n",
|
||
"os_bit_32-bit 0.018458\n",
|
||
"processor_brand_AMD -0.001583\n",
|
||
"weight_Gaming -0.012524\n",
|
||
"os_bit_64-bit -0.018458\n",
|
||
"processor_gnrtn_4th -0.018769\n",
|
||
"processor_name_Core i5 -0.023218\n",
|
||
"brand_acer -0.024663\n",
|
||
"warranty_2 years -0.029339\n",
|
||
"brand_HP -0.030649\n",
|
||
"rating -0.033528\n",
|
||
"brand_Avita -0.033819\n",
|
||
"brand_Lenovo -0.039079\n",
|
||
"warranty_No warranty -0.045241\n",
|
||
"processor_gnrtn_7th -0.045656\n",
|
||
"processor_gnrtn_11th -0.085683\n",
|
||
"processor_brand_Intel -0.103966\n",
|
||
"processor_gnrtn_Not Available -0.105722\n",
|
||
"msoffice_Yes -0.105752\n",
|
||
"processor_name_Pentium Quad -0.111755\n",
|
||
"processor_name_Ryzen 5 -0.114138\n",
|
||
"Number of Ratings -0.140392\n",
|
||
"Number of Reviews -0.148738\n",
|
||
"processor_name_Ryzen 3 -0.150211\n",
|
||
"brand_DELL -0.166272\n",
|
||
"Touchscreen_No -0.189126\n",
|
||
"processor_name_Celeron Dual -0.200490\n",
|
||
"weight_ThinNlight -0.250425\n",
|
||
"hdd -0.252699\n",
|
||
"ram_type_DDR4 -0.270184\n",
|
||
"os_Windows -0.337929\n",
|
||
"processor_name_Core i3 -0.377232\n",
|
||
"Name: Price, dtype: float64"
|
||
]
|
||
},
|
||
"execution_count": 2,
|
||
"metadata": {},
|
||
"output_type": "execute_result"
|
||
}
|
||
],
|
||
"source": [
|
||
"df['ram_gb'] = df['ram_gb'].str.replace(' GB', '').astype(float)\n",
|
||
"df['ssd'] = df['ssd'].str.replace(' GB', '').astype(float)\n",
|
||
"df['hdd'] = df['hdd'].str.replace(' GB', '').astype(float)\n",
|
||
"df['graphic_card_gb'] = df['graphic_card_gb'].str.replace(' GB', '').astype(float)\n",
|
||
"df['rating'] = df['rating'].str.replace(' stars', '').str.replace(' star', '').astype(float)\n",
|
||
"\n",
|
||
"df = pd.get_dummies(df, \n",
|
||
" columns=['brand', 'processor_brand', 'processor_name', 'ram_type', \n",
|
||
" 'os', 'os_bit', 'Touchscreen', 'msoffice', 'warranty', 'processor_gnrtn', 'weight'])\n",
|
||
"\n",
|
||
"df.corr(numeric_only=True)['Price'].sort_values(ascending=False)"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 3,
|
||
"metadata": {},
|
||
"outputs": [],
|
||
"source": [
|
||
"from sklearn.model_selection import train_test_split\n",
|
||
"\n",
|
||
"y = df['Price']\n",
|
||
"\n",
|
||
"X = df.drop('Price', axis=1)\n",
|
||
"\n",
|
||
"X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 4,
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"data": {
|
||
"text/html": [
|
||
"<style>#sk-container-id-1 {\n",
|
||
" /* Definition of color scheme common for light and dark mode */\n",
|
||
" --sklearn-color-text: #000;\n",
|
||
" --sklearn-color-text-muted: #666;\n",
|
||
" --sklearn-color-line: gray;\n",
|
||
" /* Definition of color scheme for unfitted estimators */\n",
|
||
" --sklearn-color-unfitted-level-0: #fff5e6;\n",
|
||
" --sklearn-color-unfitted-level-1: #f6e4d2;\n",
|
||
" --sklearn-color-unfitted-level-2: #ffe0b3;\n",
|
||
" --sklearn-color-unfitted-level-3: chocolate;\n",
|
||
" /* Definition of color scheme for fitted estimators */\n",
|
||
" --sklearn-color-fitted-level-0: #f0f8ff;\n",
|
||
" --sklearn-color-fitted-level-1: #d4ebff;\n",
|
||
" --sklearn-color-fitted-level-2: #b3dbfd;\n",
|
||
" --sklearn-color-fitted-level-3: cornflowerblue;\n",
|
||
"\n",
|
||
" /* Specific color for light theme */\n",
|
||
" --sklearn-color-text-on-default-background: var(--sg-text-color, var(--theme-code-foreground, var(--jp-content-font-color1, black)));\n",
|
||
" --sklearn-color-background: var(--sg-background-color, var(--theme-background, var(--jp-layout-color0, white)));\n",
|
||
" --sklearn-color-border-box: var(--sg-text-color, var(--theme-code-foreground, var(--jp-content-font-color1, black)));\n",
|
||
" --sklearn-color-icon: #696969;\n",
|
||
"\n",
|
||
" @media (prefers-color-scheme: dark) {\n",
|
||
" /* Redefinition of color scheme for dark theme */\n",
|
||
" --sklearn-color-text-on-default-background: var(--sg-text-color, var(--theme-code-foreground, var(--jp-content-font-color1, white)));\n",
|
||
" --sklearn-color-background: var(--sg-background-color, var(--theme-background, var(--jp-layout-color0, #111)));\n",
|
||
" --sklearn-color-border-box: var(--sg-text-color, var(--theme-code-foreground, var(--jp-content-font-color1, white)));\n",
|
||
" --sklearn-color-icon: #878787;\n",
|
||
" }\n",
|
||
"}\n",
|
||
"\n",
|
||
"#sk-container-id-1 {\n",
|
||
" color: var(--sklearn-color-text);\n",
|
||
"}\n",
|
||
"\n",
|
||
"#sk-container-id-1 pre {\n",
|
||
" padding: 0;\n",
|
||
"}\n",
|
||
"\n",
|
||
"#sk-container-id-1 input.sk-hidden--visually {\n",
|
||
" border: 0;\n",
|
||
" clip: rect(1px 1px 1px 1px);\n",
|
||
" clip: rect(1px, 1px, 1px, 1px);\n",
|
||
" height: 1px;\n",
|
||
" margin: -1px;\n",
|
||
" overflow: hidden;\n",
|
||
" padding: 0;\n",
|
||
" position: absolute;\n",
|
||
" width: 1px;\n",
|
||
"}\n",
|
||
"\n",
|
||
"#sk-container-id-1 div.sk-dashed-wrapped {\n",
|
||
" border: 1px dashed var(--sklearn-color-line);\n",
|
||
" margin: 0 0.4em 0.5em 0.4em;\n",
|
||
" box-sizing: border-box;\n",
|
||
" padding-bottom: 0.4em;\n",
|
||
" background-color: var(--sklearn-color-background);\n",
|
||
"}\n",
|
||
"\n",
|
||
"#sk-container-id-1 div.sk-container {\n",
|
||
" /* jupyter's `normalize.less` sets `[hidden] { display: none; }`\n",
|
||
" but bootstrap.min.css set `[hidden] { display: none !important; }`\n",
|
||
" so we also need the `!important` here to be able to override the\n",
|
||
" default hidden behavior on the sphinx rendered scikit-learn.org.\n",
|
||
" See: https://github.com/scikit-learn/scikit-learn/issues/21755 */\n",
|
||
" display: inline-block !important;\n",
|
||
" position: relative;\n",
|
||
"}\n",
|
||
"\n",
|
||
"#sk-container-id-1 div.sk-text-repr-fallback {\n",
|
||
" display: none;\n",
|
||
"}\n",
|
||
"\n",
|
||
"div.sk-parallel-item,\n",
|
||
"div.sk-serial,\n",
|
||
"div.sk-item {\n",
|
||
" /* draw centered vertical line to link estimators */\n",
|
||
" background-image: linear-gradient(var(--sklearn-color-text-on-default-background), var(--sklearn-color-text-on-default-background));\n",
|
||
" background-size: 2px 100%;\n",
|
||
" background-repeat: no-repeat;\n",
|
||
" background-position: center center;\n",
|
||
"}\n",
|
||
"\n",
|
||
"/* Parallel-specific style estimator block */\n",
|
||
"\n",
|
||
"#sk-container-id-1 div.sk-parallel-item::after {\n",
|
||
" content: \"\";\n",
|
||
" width: 100%;\n",
|
||
" border-bottom: 2px solid var(--sklearn-color-text-on-default-background);\n",
|
||
" flex-grow: 1;\n",
|
||
"}\n",
|
||
"\n",
|
||
"#sk-container-id-1 div.sk-parallel {\n",
|
||
" display: flex;\n",
|
||
" align-items: stretch;\n",
|
||
" justify-content: center;\n",
|
||
" background-color: var(--sklearn-color-background);\n",
|
||
" position: relative;\n",
|
||
"}\n",
|
||
"\n",
|
||
"#sk-container-id-1 div.sk-parallel-item {\n",
|
||
" display: flex;\n",
|
||
" flex-direction: column;\n",
|
||
"}\n",
|
||
"\n",
|
||
"#sk-container-id-1 div.sk-parallel-item:first-child::after {\n",
|
||
" align-self: flex-end;\n",
|
||
" width: 50%;\n",
|
||
"}\n",
|
||
"\n",
|
||
"#sk-container-id-1 div.sk-parallel-item:last-child::after {\n",
|
||
" align-self: flex-start;\n",
|
||
" width: 50%;\n",
|
||
"}\n",
|
||
"\n",
|
||
"#sk-container-id-1 div.sk-parallel-item:only-child::after {\n",
|
||
" width: 0;\n",
|
||
"}\n",
|
||
"\n",
|
||
"/* Serial-specific style estimator block */\n",
|
||
"\n",
|
||
"#sk-container-id-1 div.sk-serial {\n",
|
||
" display: flex;\n",
|
||
" flex-direction: column;\n",
|
||
" align-items: center;\n",
|
||
" background-color: var(--sklearn-color-background);\n",
|
||
" padding-right: 1em;\n",
|
||
" padding-left: 1em;\n",
|
||
"}\n",
|
||
"\n",
|
||
"\n",
|
||
"/* Toggleable style: style used for estimator/Pipeline/ColumnTransformer box that is\n",
|
||
"clickable and can be expanded/collapsed.\n",
|
||
"- Pipeline and ColumnTransformer use this feature and define the default style\n",
|
||
"- Estimators will overwrite some part of the style using the `sk-estimator` class\n",
|
||
"*/\n",
|
||
"\n",
|
||
"/* Pipeline and ColumnTransformer style (default) */\n",
|
||
"\n",
|
||
"#sk-container-id-1 div.sk-toggleable {\n",
|
||
" /* Default theme specific background. It is overwritten whether we have a\n",
|
||
" specific estimator or a Pipeline/ColumnTransformer */\n",
|
||
" background-color: var(--sklearn-color-background);\n",
|
||
"}\n",
|
||
"\n",
|
||
"/* Toggleable label */\n",
|
||
"#sk-container-id-1 label.sk-toggleable__label {\n",
|
||
" cursor: pointer;\n",
|
||
" display: flex;\n",
|
||
" width: 100%;\n",
|
||
" margin-bottom: 0;\n",
|
||
" padding: 0.5em;\n",
|
||
" box-sizing: border-box;\n",
|
||
" text-align: center;\n",
|
||
" align-items: start;\n",
|
||
" justify-content: space-between;\n",
|
||
" gap: 0.5em;\n",
|
||
"}\n",
|
||
"\n",
|
||
"#sk-container-id-1 label.sk-toggleable__label .caption {\n",
|
||
" font-size: 0.6rem;\n",
|
||
" font-weight: lighter;\n",
|
||
" color: var(--sklearn-color-text-muted);\n",
|
||
"}\n",
|
||
"\n",
|
||
"#sk-container-id-1 label.sk-toggleable__label-arrow:before {\n",
|
||
" /* Arrow on the left of the label */\n",
|
||
" content: \"▸\";\n",
|
||
" float: left;\n",
|
||
" margin-right: 0.25em;\n",
|
||
" color: var(--sklearn-color-icon);\n",
|
||
"}\n",
|
||
"\n",
|
||
"#sk-container-id-1 label.sk-toggleable__label-arrow:hover:before {\n",
|
||
" color: var(--sklearn-color-text);\n",
|
||
"}\n",
|
||
"\n",
|
||
"/* Toggleable content - dropdown */\n",
|
||
"\n",
|
||
"#sk-container-id-1 div.sk-toggleable__content {\n",
|
||
" display: none;\n",
|
||
" text-align: left;\n",
|
||
" /* unfitted */\n",
|
||
" background-color: var(--sklearn-color-unfitted-level-0);\n",
|
||
"}\n",
|
||
"\n",
|
||
"#sk-container-id-1 div.sk-toggleable__content.fitted {\n",
|
||
" /* fitted */\n",
|
||
" background-color: var(--sklearn-color-fitted-level-0);\n",
|
||
"}\n",
|
||
"\n",
|
||
"#sk-container-id-1 div.sk-toggleable__content pre {\n",
|
||
" margin: 0.2em;\n",
|
||
" border-radius: 0.25em;\n",
|
||
" color: var(--sklearn-color-text);\n",
|
||
" /* unfitted */\n",
|
||
" background-color: var(--sklearn-color-unfitted-level-0);\n",
|
||
"}\n",
|
||
"\n",
|
||
"#sk-container-id-1 div.sk-toggleable__content.fitted pre {\n",
|
||
" /* unfitted */\n",
|
||
" background-color: var(--sklearn-color-fitted-level-0);\n",
|
||
"}\n",
|
||
"\n",
|
||
"#sk-container-id-1 input.sk-toggleable__control:checked~div.sk-toggleable__content {\n",
|
||
" /* Expand drop-down */\n",
|
||
" display: block;\n",
|
||
" width: 100%;\n",
|
||
" overflow: visible;\n",
|
||
"}\n",
|
||
"\n",
|
||
"#sk-container-id-1 input.sk-toggleable__control:checked~label.sk-toggleable__label-arrow:before {\n",
|
||
" content: \"▾\";\n",
|
||
"}\n",
|
||
"\n",
|
||
"/* Pipeline/ColumnTransformer-specific style */\n",
|
||
"\n",
|
||
"#sk-container-id-1 div.sk-label input.sk-toggleable__control:checked~label.sk-toggleable__label {\n",
|
||
" color: var(--sklearn-color-text);\n",
|
||
" background-color: var(--sklearn-color-unfitted-level-2);\n",
|
||
"}\n",
|
||
"\n",
|
||
"#sk-container-id-1 div.sk-label.fitted input.sk-toggleable__control:checked~label.sk-toggleable__label {\n",
|
||
" background-color: var(--sklearn-color-fitted-level-2);\n",
|
||
"}\n",
|
||
"\n",
|
||
"/* Estimator-specific style */\n",
|
||
"\n",
|
||
"/* Colorize estimator box */\n",
|
||
"#sk-container-id-1 div.sk-estimator input.sk-toggleable__control:checked~label.sk-toggleable__label {\n",
|
||
" /* unfitted */\n",
|
||
" background-color: var(--sklearn-color-unfitted-level-2);\n",
|
||
"}\n",
|
||
"\n",
|
||
"#sk-container-id-1 div.sk-estimator.fitted input.sk-toggleable__control:checked~label.sk-toggleable__label {\n",
|
||
" /* fitted */\n",
|
||
" background-color: var(--sklearn-color-fitted-level-2);\n",
|
||
"}\n",
|
||
"\n",
|
||
"#sk-container-id-1 div.sk-label label.sk-toggleable__label,\n",
|
||
"#sk-container-id-1 div.sk-label label {\n",
|
||
" /* The background is the default theme color */\n",
|
||
" color: var(--sklearn-color-text-on-default-background);\n",
|
||
"}\n",
|
||
"\n",
|
||
"/* On hover, darken the color of the background */\n",
|
||
"#sk-container-id-1 div.sk-label:hover label.sk-toggleable__label {\n",
|
||
" color: var(--sklearn-color-text);\n",
|
||
" background-color: var(--sklearn-color-unfitted-level-2);\n",
|
||
"}\n",
|
||
"\n",
|
||
"/* Label box, darken color on hover, fitted */\n",
|
||
"#sk-container-id-1 div.sk-label.fitted:hover label.sk-toggleable__label.fitted {\n",
|
||
" color: var(--sklearn-color-text);\n",
|
||
" background-color: var(--sklearn-color-fitted-level-2);\n",
|
||
"}\n",
|
||
"\n",
|
||
"/* Estimator label */\n",
|
||
"\n",
|
||
"#sk-container-id-1 div.sk-label label {\n",
|
||
" font-family: monospace;\n",
|
||
" font-weight: bold;\n",
|
||
" display: inline-block;\n",
|
||
" line-height: 1.2em;\n",
|
||
"}\n",
|
||
"\n",
|
||
"#sk-container-id-1 div.sk-label-container {\n",
|
||
" text-align: center;\n",
|
||
"}\n",
|
||
"\n",
|
||
"/* Estimator-specific */\n",
|
||
"#sk-container-id-1 div.sk-estimator {\n",
|
||
" font-family: monospace;\n",
|
||
" border: 1px dotted var(--sklearn-color-border-box);\n",
|
||
" border-radius: 0.25em;\n",
|
||
" box-sizing: border-box;\n",
|
||
" margin-bottom: 0.5em;\n",
|
||
" /* unfitted */\n",
|
||
" background-color: var(--sklearn-color-unfitted-level-0);\n",
|
||
"}\n",
|
||
"\n",
|
||
"#sk-container-id-1 div.sk-estimator.fitted {\n",
|
||
" /* fitted */\n",
|
||
" background-color: var(--sklearn-color-fitted-level-0);\n",
|
||
"}\n",
|
||
"\n",
|
||
"/* on hover */\n",
|
||
"#sk-container-id-1 div.sk-estimator:hover {\n",
|
||
" /* unfitted */\n",
|
||
" background-color: var(--sklearn-color-unfitted-level-2);\n",
|
||
"}\n",
|
||
"\n",
|
||
"#sk-container-id-1 div.sk-estimator.fitted:hover {\n",
|
||
" /* fitted */\n",
|
||
" background-color: var(--sklearn-color-fitted-level-2);\n",
|
||
"}\n",
|
||
"\n",
|
||
"/* Specification for estimator info (e.g. \"i\" and \"?\") */\n",
|
||
"\n",
|
||
"/* Common style for \"i\" and \"?\" */\n",
|
||
"\n",
|
||
".sk-estimator-doc-link,\n",
|
||
"a:link.sk-estimator-doc-link,\n",
|
||
"a:visited.sk-estimator-doc-link {\n",
|
||
" float: right;\n",
|
||
" font-size: smaller;\n",
|
||
" line-height: 1em;\n",
|
||
" font-family: monospace;\n",
|
||
" background-color: var(--sklearn-color-background);\n",
|
||
" border-radius: 1em;\n",
|
||
" height: 1em;\n",
|
||
" width: 1em;\n",
|
||
" text-decoration: none !important;\n",
|
||
" margin-left: 0.5em;\n",
|
||
" text-align: center;\n",
|
||
" /* unfitted */\n",
|
||
" border: var(--sklearn-color-unfitted-level-1) 1pt solid;\n",
|
||
" color: var(--sklearn-color-unfitted-level-1);\n",
|
||
"}\n",
|
||
"\n",
|
||
".sk-estimator-doc-link.fitted,\n",
|
||
"a:link.sk-estimator-doc-link.fitted,\n",
|
||
"a:visited.sk-estimator-doc-link.fitted {\n",
|
||
" /* fitted */\n",
|
||
" border: var(--sklearn-color-fitted-level-1) 1pt solid;\n",
|
||
" color: var(--sklearn-color-fitted-level-1);\n",
|
||
"}\n",
|
||
"\n",
|
||
"/* On hover */\n",
|
||
"div.sk-estimator:hover .sk-estimator-doc-link:hover,\n",
|
||
".sk-estimator-doc-link:hover,\n",
|
||
"div.sk-label-container:hover .sk-estimator-doc-link:hover,\n",
|
||
".sk-estimator-doc-link:hover {\n",
|
||
" /* unfitted */\n",
|
||
" background-color: var(--sklearn-color-unfitted-level-3);\n",
|
||
" color: var(--sklearn-color-background);\n",
|
||
" text-decoration: none;\n",
|
||
"}\n",
|
||
"\n",
|
||
"div.sk-estimator.fitted:hover .sk-estimator-doc-link.fitted:hover,\n",
|
||
".sk-estimator-doc-link.fitted:hover,\n",
|
||
"div.sk-label-container:hover .sk-estimator-doc-link.fitted:hover,\n",
|
||
".sk-estimator-doc-link.fitted:hover {\n",
|
||
" /* fitted */\n",
|
||
" background-color: var(--sklearn-color-fitted-level-3);\n",
|
||
" color: var(--sklearn-color-background);\n",
|
||
" text-decoration: none;\n",
|
||
"}\n",
|
||
"\n",
|
||
"/* Span, style for the box shown on hovering the info icon */\n",
|
||
".sk-estimator-doc-link span {\n",
|
||
" display: none;\n",
|
||
" z-index: 9999;\n",
|
||
" position: relative;\n",
|
||
" font-weight: normal;\n",
|
||
" right: .2ex;\n",
|
||
" padding: .5ex;\n",
|
||
" margin: .5ex;\n",
|
||
" width: min-content;\n",
|
||
" min-width: 20ex;\n",
|
||
" max-width: 50ex;\n",
|
||
" color: var(--sklearn-color-text);\n",
|
||
" box-shadow: 2pt 2pt 4pt #999;\n",
|
||
" /* unfitted */\n",
|
||
" background: var(--sklearn-color-unfitted-level-0);\n",
|
||
" border: .5pt solid var(--sklearn-color-unfitted-level-3);\n",
|
||
"}\n",
|
||
"\n",
|
||
".sk-estimator-doc-link.fitted span {\n",
|
||
" /* fitted */\n",
|
||
" background: var(--sklearn-color-fitted-level-0);\n",
|
||
" border: var(--sklearn-color-fitted-level-3);\n",
|
||
"}\n",
|
||
"\n",
|
||
".sk-estimator-doc-link:hover span {\n",
|
||
" display: block;\n",
|
||
"}\n",
|
||
"\n",
|
||
"/* \"?\"-specific style due to the `<a>` HTML tag */\n",
|
||
"\n",
|
||
"#sk-container-id-1 a.estimator_doc_link {\n",
|
||
" float: right;\n",
|
||
" font-size: 1rem;\n",
|
||
" line-height: 1em;\n",
|
||
" font-family: monospace;\n",
|
||
" background-color: var(--sklearn-color-background);\n",
|
||
" border-radius: 1rem;\n",
|
||
" height: 1rem;\n",
|
||
" width: 1rem;\n",
|
||
" text-decoration: none;\n",
|
||
" /* unfitted */\n",
|
||
" color: var(--sklearn-color-unfitted-level-1);\n",
|
||
" border: var(--sklearn-color-unfitted-level-1) 1pt solid;\n",
|
||
"}\n",
|
||
"\n",
|
||
"#sk-container-id-1 a.estimator_doc_link.fitted {\n",
|
||
" /* fitted */\n",
|
||
" border: var(--sklearn-color-fitted-level-1) 1pt solid;\n",
|
||
" color: var(--sklearn-color-fitted-level-1);\n",
|
||
"}\n",
|
||
"\n",
|
||
"/* On hover */\n",
|
||
"#sk-container-id-1 a.estimator_doc_link:hover {\n",
|
||
" /* unfitted */\n",
|
||
" background-color: var(--sklearn-color-unfitted-level-3);\n",
|
||
" color: var(--sklearn-color-background);\n",
|
||
" text-decoration: none;\n",
|
||
"}\n",
|
||
"\n",
|
||
"#sk-container-id-1 a.estimator_doc_link.fitted:hover {\n",
|
||
" /* fitted */\n",
|
||
" background-color: var(--sklearn-color-fitted-level-3);\n",
|
||
"}\n",
|
||
"\n",
|
||
".estimator-table summary {\n",
|
||
" padding: .5rem;\n",
|
||
" font-family: monospace;\n",
|
||
" cursor: pointer;\n",
|
||
"}\n",
|
||
"\n",
|
||
".estimator-table details[open] {\n",
|
||
" padding-left: 0.1rem;\n",
|
||
" padding-right: 0.1rem;\n",
|
||
" padding-bottom: 0.3rem;\n",
|
||
"}\n",
|
||
"\n",
|
||
".estimator-table .parameters-table {\n",
|
||
" margin-left: auto !important;\n",
|
||
" margin-right: auto !important;\n",
|
||
"}\n",
|
||
"\n",
|
||
".estimator-table .parameters-table tr:nth-child(odd) {\n",
|
||
" background-color: #fff;\n",
|
||
"}\n",
|
||
"\n",
|
||
".estimator-table .parameters-table tr:nth-child(even) {\n",
|
||
" background-color: #f6f6f6;\n",
|
||
"}\n",
|
||
"\n",
|
||
".estimator-table .parameters-table tr:hover {\n",
|
||
" background-color: #e0e0e0;\n",
|
||
"}\n",
|
||
"\n",
|
||
".estimator-table table td {\n",
|
||
" border: 1px solid rgba(106, 105, 104, 0.232);\n",
|
||
"}\n",
|
||
"\n",
|
||
".user-set td {\n",
|
||
" color:rgb(255, 94, 0);\n",
|
||
" text-align: left;\n",
|
||
"}\n",
|
||
"\n",
|
||
".user-set td.value pre {\n",
|
||
" color:rgb(255, 94, 0) !important;\n",
|
||
" background-color: transparent !important;\n",
|
||
"}\n",
|
||
"\n",
|
||
".default td {\n",
|
||
" color: black;\n",
|
||
" text-align: left;\n",
|
||
"}\n",
|
||
"\n",
|
||
".user-set td i,\n",
|
||
".default td i {\n",
|
||
" color: black;\n",
|
||
"}\n",
|
||
"\n",
|
||
".copy-paste-icon {\n",
|
||
" background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA0NDggNTEyIj48IS0tIUZvbnQgQXdlc29tZSBGcmVlIDYuNy4yIGJ5IEBmb250YXdlc29tZSAtIGh0dHBzOi8vZm9udGF3ZXNvbWUuY29tIExpY2Vuc2UgLSBodHRwczovL2ZvbnRhd2Vzb21lLmNvbS9saWNlbnNlL2ZyZWUgQ29weXJpZ2h0IDIwMjUgRm9udGljb25zLCBJbmMuLS0+PHBhdGggZD0iTTIwOCAwTDMzMi4xIDBjMTIuNyAwIDI0LjkgNS4xIDMzLjkgMTQuMWw2Ny45IDY3LjljOSA5IDE0LjEgMjEuMiAxNC4xIDMzLjlMNDQ4IDMzNmMwIDI2LjUtMjEuNSA0OC00OCA0OGwtMTkyIDBjLTI2LjUgMC00OC0yMS41LTQ4LTQ4bDAtMjg4YzAtMjYuNSAyMS41LTQ4IDQ4LTQ4ek00OCAxMjhsODAgMCAwIDY0LTY0IDAgMCAyNTYgMTkyIDAgMC0zMiA2NCAwIDAgNDhjMCAyNi41LTIxLjUgNDgtNDggNDhMNDggNTEyYy0yNi41IDAtNDgtMjEuNS00OC00OEwwIDE3NmMwLTI2LjUgMjEuNS00OCA0OC00OHoiLz48L3N2Zz4=);\n",
|
||
" background-repeat: no-repeat;\n",
|
||
" background-size: 14px 14px;\n",
|
||
" background-position: 0;\n",
|
||
" display: inline-block;\n",
|
||
" width: 14px;\n",
|
||
" height: 14px;\n",
|
||
" cursor: pointer;\n",
|
||
"}\n",
|
||
"</style><body><div id=\"sk-container-id-1\" class=\"sk-top-container\"><div class=\"sk-text-repr-fallback\"><pre>LinearRegression()</pre><b>In a Jupyter environment, please rerun this cell to show the HTML representation or trust the notebook. <br />On GitHub, the HTML representation is unable to render, please try loading this page with nbviewer.org.</b></div><div class=\"sk-container\" hidden><div class=\"sk-item\"><div class=\"sk-estimator fitted sk-toggleable\"><input class=\"sk-toggleable__control sk-hidden--visually\" id=\"sk-estimator-id-1\" type=\"checkbox\" checked><label for=\"sk-estimator-id-1\" class=\"sk-toggleable__label fitted sk-toggleable__label-arrow\"><div><div>LinearRegression</div></div><div><a class=\"sk-estimator-doc-link fitted\" rel=\"noreferrer\" target=\"_blank\" href=\"https://scikit-learn.org/1.7/modules/generated/sklearn.linear_model.LinearRegression.html\">?<span>Documentation for LinearRegression</span></a><span class=\"sk-estimator-doc-link fitted\">i<span>Fitted</span></span></div></label><div class=\"sk-toggleable__content fitted\" data-param-prefix=\"\">\n",
|
||
" <div class=\"estimator-table\">\n",
|
||
" <details>\n",
|
||
" <summary>Parameters</summary>\n",
|
||
" <table class=\"parameters-table\">\n",
|
||
" <tbody>\n",
|
||
" \n",
|
||
" <tr class=\"default\">\n",
|
||
" <td><i class=\"copy-paste-icon\"\n",
|
||
" onclick=\"copyToClipboard('fit_intercept',\n",
|
||
" this.parentElement.nextElementSibling)\"\n",
|
||
" ></i></td>\n",
|
||
" <td class=\"param\">fit_intercept </td>\n",
|
||
" <td class=\"value\">True</td>\n",
|
||
" </tr>\n",
|
||
" \n",
|
||
"\n",
|
||
" <tr class=\"default\">\n",
|
||
" <td><i class=\"copy-paste-icon\"\n",
|
||
" onclick=\"copyToClipboard('copy_X',\n",
|
||
" this.parentElement.nextElementSibling)\"\n",
|
||
" ></i></td>\n",
|
||
" <td class=\"param\">copy_X </td>\n",
|
||
" <td class=\"value\">True</td>\n",
|
||
" </tr>\n",
|
||
" \n",
|
||
"\n",
|
||
" <tr class=\"default\">\n",
|
||
" <td><i class=\"copy-paste-icon\"\n",
|
||
" onclick=\"copyToClipboard('tol',\n",
|
||
" this.parentElement.nextElementSibling)\"\n",
|
||
" ></i></td>\n",
|
||
" <td class=\"param\">tol </td>\n",
|
||
" <td class=\"value\">1e-06</td>\n",
|
||
" </tr>\n",
|
||
" \n",
|
||
"\n",
|
||
" <tr class=\"default\">\n",
|
||
" <td><i class=\"copy-paste-icon\"\n",
|
||
" onclick=\"copyToClipboard('n_jobs',\n",
|
||
" this.parentElement.nextElementSibling)\"\n",
|
||
" ></i></td>\n",
|
||
" <td class=\"param\">n_jobs </td>\n",
|
||
" <td class=\"value\">None</td>\n",
|
||
" </tr>\n",
|
||
" \n",
|
||
"\n",
|
||
" <tr class=\"default\">\n",
|
||
" <td><i class=\"copy-paste-icon\"\n",
|
||
" onclick=\"copyToClipboard('positive',\n",
|
||
" this.parentElement.nextElementSibling)\"\n",
|
||
" ></i></td>\n",
|
||
" <td class=\"param\">positive </td>\n",
|
||
" <td class=\"value\">False</td>\n",
|
||
" </tr>\n",
|
||
" \n",
|
||
" </tbody>\n",
|
||
" </table>\n",
|
||
" </details>\n",
|
||
" </div>\n",
|
||
" </div></div></div></div></div><script>function copyToClipboard(text, element) {\n",
|
||
" // Get the parameter prefix from the closest toggleable content\n",
|
||
" const toggleableContent = element.closest('.sk-toggleable__content');\n",
|
||
" const paramPrefix = toggleableContent ? toggleableContent.dataset.paramPrefix : '';\n",
|
||
" const fullParamName = paramPrefix ? `${paramPrefix}${text}` : text;\n",
|
||
"\n",
|
||
" const originalStyle = element.style;\n",
|
||
" const computedStyle = window.getComputedStyle(element);\n",
|
||
" const originalWidth = computedStyle.width;\n",
|
||
" const originalHTML = element.innerHTML.replace('Copied!', '');\n",
|
||
"\n",
|
||
" navigator.clipboard.writeText(fullParamName)\n",
|
||
" .then(() => {\n",
|
||
" element.style.width = originalWidth;\n",
|
||
" element.style.color = 'green';\n",
|
||
" element.innerHTML = \"Copied!\";\n",
|
||
"\n",
|
||
" setTimeout(() => {\n",
|
||
" element.innerHTML = originalHTML;\n",
|
||
" element.style = originalStyle;\n",
|
||
" }, 2000);\n",
|
||
" })\n",
|
||
" .catch(err => {\n",
|
||
" console.error('Failed to copy:', err);\n",
|
||
" element.style.color = 'red';\n",
|
||
" element.innerHTML = \"Failed!\";\n",
|
||
" setTimeout(() => {\n",
|
||
" element.innerHTML = originalHTML;\n",
|
||
" element.style = originalStyle;\n",
|
||
" }, 2000);\n",
|
||
" });\n",
|
||
" return false;\n",
|
||
"}\n",
|
||
"\n",
|
||
"document.querySelectorAll('.fa-regular.fa-copy').forEach(function(element) {\n",
|
||
" const toggleableContent = element.closest('.sk-toggleable__content');\n",
|
||
" const paramPrefix = toggleableContent ? toggleableContent.dataset.paramPrefix : '';\n",
|
||
" const paramName = element.parentElement.nextElementSibling.textContent.trim();\n",
|
||
" const fullParamName = paramPrefix ? `${paramPrefix}${paramName}` : paramName;\n",
|
||
"\n",
|
||
" element.setAttribute('title', fullParamName);\n",
|
||
"});\n",
|
||
"</script></body>"
|
||
],
|
||
"text/plain": [
|
||
"LinearRegression()"
|
||
]
|
||
},
|
||
"execution_count": 4,
|
||
"metadata": {},
|
||
"output_type": "execute_result"
|
||
}
|
||
],
|
||
"source": [
|
||
"from sklearn.linear_model import LinearRegression\n",
|
||
"\n",
|
||
"model = LinearRegression()\n",
|
||
"model.fit(X_train, y_train)"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 5,
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"name": "stdout",
|
||
"output_type": "stream",
|
||
"text": [
|
||
"MSE: 638671150.10\n",
|
||
"RMSE: 25271.94\n",
|
||
"R²: 0.6723\n"
|
||
]
|
||
}
|
||
],
|
||
"source": [
|
||
"import numpy as np\n",
|
||
"\n",
|
||
"from sklearn.metrics import mean_squared_error, r2_score\n",
|
||
"\n",
|
||
"y_pred = model.predict(X_test)\n",
|
||
"\n",
|
||
"mse = mean_squared_error(y_test, y_pred)\n",
|
||
"r2 = r2_score(y_test, y_pred)\n",
|
||
"\n",
|
||
"print(f'MSE: {mse:.2f}')\n",
|
||
"print(f\"RMSE: {np.sqrt(mse):.2f}\") # рублей\n",
|
||
"print(f'R²: {r2:.4f}')"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": null,
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"name": "stderr",
|
||
"output_type": "stream",
|
||
"text": [
|
||
"c:\\Users\\Serafim\\AppData\\Local\\Programs\\Python\\Python312\\Lib\\site-packages\\sklearn\\linear_model\\_coordinate_descent.py:695: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 5.145e+10, tolerance: 1.100e+08\n",
|
||
" model = cd_fast.enet_coordinate_descent(\n",
|
||
"c:\\Users\\Serafim\\AppData\\Local\\Programs\\Python\\Python312\\Lib\\site-packages\\sklearn\\linear_model\\_coordinate_descent.py:695: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.426e+10, tolerance: 1.135e+08\n",
|
||
" model = cd_fast.enet_coordinate_descent(\n",
|
||
"c:\\Users\\Serafim\\AppData\\Local\\Programs\\Python\\Python312\\Lib\\site-packages\\sklearn\\linear_model\\_coordinate_descent.py:695: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.029e+11, tolerance: 1.074e+08\n",
|
||
" model = cd_fast.enet_coordinate_descent(\n",
|
||
"c:\\Users\\Serafim\\AppData\\Local\\Programs\\Python\\Python312\\Lib\\site-packages\\sklearn\\linear_model\\_coordinate_descent.py:695: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 8.723e+10, tolerance: 9.526e+07\n",
|
||
" model = cd_fast.enet_coordinate_descent(\n",
|
||
"c:\\Users\\Serafim\\AppData\\Local\\Programs\\Python\\Python312\\Lib\\site-packages\\sklearn\\linear_model\\_coordinate_descent.py:695: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.081e+11, tolerance: 1.139e+08\n",
|
||
" model = cd_fast.enet_coordinate_descent(\n",
|
||
"c:\\Users\\Serafim\\AppData\\Local\\Programs\\Python\\Python312\\Lib\\site-packages\\sklearn\\linear_model\\_coordinate_descent.py:695: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 5.170e+10, tolerance: 1.100e+08\n",
|
||
" model = cd_fast.enet_coordinate_descent(\n",
|
||
"c:\\Users\\Serafim\\AppData\\Local\\Programs\\Python\\Python312\\Lib\\site-packages\\sklearn\\linear_model\\_coordinate_descent.py:695: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.424e+10, tolerance: 1.135e+08\n",
|
||
" model = cd_fast.enet_coordinate_descent(\n",
|
||
"c:\\Users\\Serafim\\AppData\\Local\\Programs\\Python\\Python312\\Lib\\site-packages\\sklearn\\linear_model\\_coordinate_descent.py:695: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.027e+11, tolerance: 1.074e+08\n",
|
||
" model = cd_fast.enet_coordinate_descent(\n",
|
||
"c:\\Users\\Serafim\\AppData\\Local\\Programs\\Python\\Python312\\Lib\\site-packages\\sklearn\\linear_model\\_coordinate_descent.py:695: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 8.675e+10, tolerance: 9.526e+07\n",
|
||
" model = cd_fast.enet_coordinate_descent(\n",
|
||
"c:\\Users\\Serafim\\AppData\\Local\\Programs\\Python\\Python312\\Lib\\site-packages\\sklearn\\linear_model\\_coordinate_descent.py:695: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.079e+11, tolerance: 1.139e+08\n",
|
||
" model = cd_fast.enet_coordinate_descent(\n",
|
||
"c:\\Users\\Serafim\\AppData\\Local\\Programs\\Python\\Python312\\Lib\\site-packages\\sklearn\\linear_model\\_coordinate_descent.py:695: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 5.187e+10, tolerance: 1.100e+08\n",
|
||
" model = cd_fast.enet_coordinate_descent(\n",
|
||
"c:\\Users\\Serafim\\AppData\\Local\\Programs\\Python\\Python312\\Lib\\site-packages\\sklearn\\linear_model\\_coordinate_descent.py:695: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.422e+10, tolerance: 1.135e+08\n",
|
||
" model = cd_fast.enet_coordinate_descent(\n",
|
||
"c:\\Users\\Serafim\\AppData\\Local\\Programs\\Python\\Python312\\Lib\\site-packages\\sklearn\\linear_model\\_coordinate_descent.py:695: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.024e+11, tolerance: 1.074e+08\n",
|
||
" model = cd_fast.enet_coordinate_descent(\n",
|
||
"c:\\Users\\Serafim\\AppData\\Local\\Programs\\Python\\Python312\\Lib\\site-packages\\sklearn\\linear_model\\_coordinate_descent.py:695: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 8.606e+10, tolerance: 9.526e+07\n",
|
||
" model = cd_fast.enet_coordinate_descent(\n",
|
||
"c:\\Users\\Serafim\\AppData\\Local\\Programs\\Python\\Python312\\Lib\\site-packages\\sklearn\\linear_model\\_coordinate_descent.py:695: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.076e+11, tolerance: 1.139e+08\n",
|
||
" model = cd_fast.enet_coordinate_descent(\n",
|
||
"c:\\Users\\Serafim\\AppData\\Local\\Programs\\Python\\Python312\\Lib\\site-packages\\sklearn\\linear_model\\_coordinate_descent.py:695: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 5.198e+10, tolerance: 1.100e+08\n",
|
||
" model = cd_fast.enet_coordinate_descent(\n",
|
||
"c:\\Users\\Serafim\\AppData\\Local\\Programs\\Python\\Python312\\Lib\\site-packages\\sklearn\\linear_model\\_coordinate_descent.py:695: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.420e+10, tolerance: 1.135e+08\n",
|
||
" model = cd_fast.enet_coordinate_descent(\n",
|
||
"c:\\Users\\Serafim\\AppData\\Local\\Programs\\Python\\Python312\\Lib\\site-packages\\sklearn\\linear_model\\_coordinate_descent.py:695: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.019e+11, tolerance: 1.074e+08\n",
|
||
" model = cd_fast.enet_coordinate_descent(\n",
|
||
"c:\\Users\\Serafim\\AppData\\Local\\Programs\\Python\\Python312\\Lib\\site-packages\\sklearn\\linear_model\\_coordinate_descent.py:695: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 8.507e+10, tolerance: 9.526e+07\n",
|
||
" model = cd_fast.enet_coordinate_descent(\n",
|
||
"c:\\Users\\Serafim\\AppData\\Local\\Programs\\Python\\Python312\\Lib\\site-packages\\sklearn\\linear_model\\_coordinate_descent.py:695: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.072e+11, tolerance: 1.139e+08\n",
|
||
" model = cd_fast.enet_coordinate_descent(\n",
|
||
"c:\\Users\\Serafim\\AppData\\Local\\Programs\\Python\\Python312\\Lib\\site-packages\\sklearn\\linear_model\\_coordinate_descent.py:695: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 5.206e+10, tolerance: 1.100e+08\n",
|
||
" model = cd_fast.enet_coordinate_descent(\n",
|
||
"c:\\Users\\Serafim\\AppData\\Local\\Programs\\Python\\Python312\\Lib\\site-packages\\sklearn\\linear_model\\_coordinate_descent.py:695: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.416e+10, tolerance: 1.135e+08\n",
|
||
" model = cd_fast.enet_coordinate_descent(\n",
|
||
"c:\\Users\\Serafim\\AppData\\Local\\Programs\\Python\\Python312\\Lib\\site-packages\\sklearn\\linear_model\\_coordinate_descent.py:695: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.011e+11, tolerance: 1.074e+08\n",
|
||
" model = cd_fast.enet_coordinate_descent(\n",
|
||
"c:\\Users\\Serafim\\AppData\\Local\\Programs\\Python\\Python312\\Lib\\site-packages\\sklearn\\linear_model\\_coordinate_descent.py:695: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 8.366e+10, tolerance: 9.526e+07\n",
|
||
" model = cd_fast.enet_coordinate_descent(\n",
|
||
"c:\\Users\\Serafim\\AppData\\Local\\Programs\\Python\\Python312\\Lib\\site-packages\\sklearn\\linear_model\\_coordinate_descent.py:695: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.066e+11, tolerance: 1.139e+08\n",
|
||
" model = cd_fast.enet_coordinate_descent(\n",
|
||
"c:\\Users\\Serafim\\AppData\\Local\\Programs\\Python\\Python312\\Lib\\site-packages\\sklearn\\linear_model\\_coordinate_descent.py:695: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 5.212e+10, tolerance: 1.100e+08\n",
|
||
" model = cd_fast.enet_coordinate_descent(\n",
|
||
"c:\\Users\\Serafim\\AppData\\Local\\Programs\\Python\\Python312\\Lib\\site-packages\\sklearn\\linear_model\\_coordinate_descent.py:695: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.410e+10, tolerance: 1.135e+08\n",
|
||
" model = cd_fast.enet_coordinate_descent(\n",
|
||
"c:\\Users\\Serafim\\AppData\\Local\\Programs\\Python\\Python312\\Lib\\site-packages\\sklearn\\linear_model\\_coordinate_descent.py:695: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.001e+11, tolerance: 1.074e+08\n",
|
||
" model = cd_fast.enet_coordinate_descent(\n",
|
||
"c:\\Users\\Serafim\\AppData\\Local\\Programs\\Python\\Python312\\Lib\\site-packages\\sklearn\\linear_model\\_coordinate_descent.py:695: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 8.166e+10, tolerance: 9.526e+07\n",
|
||
" model = cd_fast.enet_coordinate_descent(\n",
|
||
"c:\\Users\\Serafim\\AppData\\Local\\Programs\\Python\\Python312\\Lib\\site-packages\\sklearn\\linear_model\\_coordinate_descent.py:695: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.058e+11, tolerance: 1.139e+08\n",
|
||
" model = cd_fast.enet_coordinate_descent(\n",
|
||
"c:\\Users\\Serafim\\AppData\\Local\\Programs\\Python\\Python312\\Lib\\site-packages\\sklearn\\linear_model\\_coordinate_descent.py:695: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 5.215e+10, tolerance: 1.100e+08\n",
|
||
" model = cd_fast.enet_coordinate_descent(\n",
|
||
"c:\\Users\\Serafim\\AppData\\Local\\Programs\\Python\\Python312\\Lib\\site-packages\\sklearn\\linear_model\\_coordinate_descent.py:695: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.401e+10, tolerance: 1.135e+08\n",
|
||
" model = cd_fast.enet_coordinate_descent(\n",
|
||
"c:\\Users\\Serafim\\AppData\\Local\\Programs\\Python\\Python312\\Lib\\site-packages\\sklearn\\linear_model\\_coordinate_descent.py:695: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.859e+10, tolerance: 1.074e+08\n",
|
||
" model = cd_fast.enet_coordinate_descent(\n",
|
||
"c:\\Users\\Serafim\\AppData\\Local\\Programs\\Python\\Python312\\Lib\\site-packages\\sklearn\\linear_model\\_coordinate_descent.py:695: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 7.887e+10, tolerance: 9.526e+07\n",
|
||
" model = cd_fast.enet_coordinate_descent(\n",
|
||
"c:\\Users\\Serafim\\AppData\\Local\\Programs\\Python\\Python312\\Lib\\site-packages\\sklearn\\linear_model\\_coordinate_descent.py:695: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.046e+11, tolerance: 1.139e+08\n",
|
||
" model = cd_fast.enet_coordinate_descent(\n",
|
||
"c:\\Users\\Serafim\\AppData\\Local\\Programs\\Python\\Python312\\Lib\\site-packages\\sklearn\\linear_model\\_coordinate_descent.py:695: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 5.218e+10, tolerance: 1.100e+08\n",
|
||
" model = cd_fast.enet_coordinate_descent(\n",
|
||
"c:\\Users\\Serafim\\AppData\\Local\\Programs\\Python\\Python312\\Lib\\site-packages\\sklearn\\linear_model\\_coordinate_descent.py:695: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.389e+10, tolerance: 1.135e+08\n",
|
||
" model = cd_fast.enet_coordinate_descent(\n",
|
||
"c:\\Users\\Serafim\\AppData\\Local\\Programs\\Python\\Python312\\Lib\\site-packages\\sklearn\\linear_model\\_coordinate_descent.py:695: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.648e+10, tolerance: 1.074e+08\n",
|
||
" model = cd_fast.enet_coordinate_descent(\n",
|
||
"c:\\Users\\Serafim\\AppData\\Local\\Programs\\Python\\Python312\\Lib\\site-packages\\sklearn\\linear_model\\_coordinate_descent.py:695: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 7.505e+10, tolerance: 9.526e+07\n",
|
||
" model = cd_fast.enet_coordinate_descent(\n",
|
||
"c:\\Users\\Serafim\\AppData\\Local\\Programs\\Python\\Python312\\Lib\\site-packages\\sklearn\\linear_model\\_coordinate_descent.py:695: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.028e+11, tolerance: 1.139e+08\n",
|
||
" model = cd_fast.enet_coordinate_descent(\n",
|
||
"c:\\Users\\Serafim\\AppData\\Local\\Programs\\Python\\Python312\\Lib\\site-packages\\sklearn\\linear_model\\_coordinate_descent.py:695: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 5.220e+10, tolerance: 1.100e+08\n",
|
||
" model = cd_fast.enet_coordinate_descent(\n",
|
||
"c:\\Users\\Serafim\\AppData\\Local\\Programs\\Python\\Python312\\Lib\\site-packages\\sklearn\\linear_model\\_coordinate_descent.py:695: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.371e+10, tolerance: 1.135e+08\n",
|
||
" model = cd_fast.enet_coordinate_descent(\n",
|
||
"c:\\Users\\Serafim\\AppData\\Local\\Programs\\Python\\Python312\\Lib\\site-packages\\sklearn\\linear_model\\_coordinate_descent.py:695: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.352e+10, tolerance: 1.074e+08\n",
|
||
" model = cd_fast.enet_coordinate_descent(\n",
|
||
"c:\\Users\\Serafim\\AppData\\Local\\Programs\\Python\\Python312\\Lib\\site-packages\\sklearn\\linear_model\\_coordinate_descent.py:695: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 6.994e+10, tolerance: 9.526e+07\n",
|
||
" model = cd_fast.enet_coordinate_descent(\n",
|
||
"c:\\Users\\Serafim\\AppData\\Local\\Programs\\Python\\Python312\\Lib\\site-packages\\sklearn\\linear_model\\_coordinate_descent.py:695: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.004e+11, tolerance: 1.139e+08\n",
|
||
" model = cd_fast.enet_coordinate_descent(\n",
|
||
"c:\\Users\\Serafim\\AppData\\Local\\Programs\\Python\\Python312\\Lib\\site-packages\\sklearn\\linear_model\\_coordinate_descent.py:695: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 5.221e+10, tolerance: 1.100e+08\n",
|
||
" model = cd_fast.enet_coordinate_descent(\n",
|
||
"c:\\Users\\Serafim\\AppData\\Local\\Programs\\Python\\Python312\\Lib\\site-packages\\sklearn\\linear_model\\_coordinate_descent.py:695: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.345e+10, tolerance: 1.135e+08\n",
|
||
" model = cd_fast.enet_coordinate_descent(\n",
|
||
"c:\\Users\\Serafim\\AppData\\Local\\Programs\\Python\\Python312\\Lib\\site-packages\\sklearn\\linear_model\\_coordinate_descent.py:695: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 8.943e+10, tolerance: 1.074e+08\n",
|
||
" model = cd_fast.enet_coordinate_descent(\n",
|
||
"c:\\Users\\Serafim\\AppData\\Local\\Programs\\Python\\Python312\\Lib\\site-packages\\sklearn\\linear_model\\_coordinate_descent.py:695: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 6.336e+10, tolerance: 9.526e+07\n",
|
||
" model = cd_fast.enet_coordinate_descent(\n",
|
||
"c:\\Users\\Serafim\\AppData\\Local\\Programs\\Python\\Python312\\Lib\\site-packages\\sklearn\\linear_model\\_coordinate_descent.py:695: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.699e+10, tolerance: 1.139e+08\n",
|
||
" model = cd_fast.enet_coordinate_descent(\n",
|
||
"c:\\Users\\Serafim\\AppData\\Local\\Programs\\Python\\Python312\\Lib\\site-packages\\sklearn\\linear_model\\_coordinate_descent.py:695: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 5.222e+10, tolerance: 1.100e+08\n",
|
||
" model = cd_fast.enet_coordinate_descent(\n",
|
||
"c:\\Users\\Serafim\\AppData\\Local\\Programs\\Python\\Python312\\Lib\\site-packages\\sklearn\\linear_model\\_coordinate_descent.py:695: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.307e+10, tolerance: 1.135e+08\n",
|
||
" model = cd_fast.enet_coordinate_descent(\n",
|
||
"c:\\Users\\Serafim\\AppData\\Local\\Programs\\Python\\Python312\\Lib\\site-packages\\sklearn\\linear_model\\_coordinate_descent.py:695: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 8.393e+10, tolerance: 1.074e+08\n",
|
||
" model = cd_fast.enet_coordinate_descent(\n",
|
||
"c:\\Users\\Serafim\\AppData\\Local\\Programs\\Python\\Python312\\Lib\\site-packages\\sklearn\\linear_model\\_coordinate_descent.py:695: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 5.527e+10, tolerance: 9.526e+07\n",
|
||
" model = cd_fast.enet_coordinate_descent(\n",
|
||
"c:\\Users\\Serafim\\AppData\\Local\\Programs\\Python\\Python312\\Lib\\site-packages\\sklearn\\linear_model\\_coordinate_descent.py:695: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.234e+10, tolerance: 1.139e+08\n",
|
||
" model = cd_fast.enet_coordinate_descent(\n",
|
||
"c:\\Users\\Serafim\\AppData\\Local\\Programs\\Python\\Python312\\Lib\\site-packages\\sklearn\\linear_model\\_coordinate_descent.py:695: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 5.222e+10, tolerance: 1.100e+08\n",
|
||
" model = cd_fast.enet_coordinate_descent(\n",
|
||
"c:\\Users\\Serafim\\AppData\\Local\\Programs\\Python\\Python312\\Lib\\site-packages\\sklearn\\linear_model\\_coordinate_descent.py:695: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.252e+10, tolerance: 1.135e+08\n",
|
||
" model = cd_fast.enet_coordinate_descent(\n",
|
||
"c:\\Users\\Serafim\\AppData\\Local\\Programs\\Python\\Python312\\Lib\\site-packages\\sklearn\\linear_model\\_coordinate_descent.py:695: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 7.676e+10, tolerance: 1.074e+08\n",
|
||
" model = cd_fast.enet_coordinate_descent(\n",
|
||
"c:\\Users\\Serafim\\AppData\\Local\\Programs\\Python\\Python312\\Lib\\site-packages\\sklearn\\linear_model\\_coordinate_descent.py:695: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 4.591e+10, tolerance: 9.526e+07\n",
|
||
" model = cd_fast.enet_coordinate_descent(\n",
|
||
"c:\\Users\\Serafim\\AppData\\Local\\Programs\\Python\\Python312\\Lib\\site-packages\\sklearn\\linear_model\\_coordinate_descent.py:695: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 8.614e+10, tolerance: 1.139e+08\n",
|
||
" model = cd_fast.enet_coordinate_descent(\n",
|
||
"c:\\Users\\Serafim\\AppData\\Local\\Programs\\Python\\Python312\\Lib\\site-packages\\sklearn\\linear_model\\_coordinate_descent.py:695: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 5.223e+10, tolerance: 1.100e+08\n",
|
||
" model = cd_fast.enet_coordinate_descent(\n",
|
||
"c:\\Users\\Serafim\\AppData\\Local\\Programs\\Python\\Python312\\Lib\\site-packages\\sklearn\\linear_model\\_coordinate_descent.py:695: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.174e+10, tolerance: 1.135e+08\n",
|
||
" model = cd_fast.enet_coordinate_descent(\n",
|
||
"c:\\Users\\Serafim\\AppData\\Local\\Programs\\Python\\Python312\\Lib\\site-packages\\sklearn\\linear_model\\_coordinate_descent.py:695: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 6.780e+10, tolerance: 1.074e+08\n",
|
||
" model = cd_fast.enet_coordinate_descent(\n",
|
||
"c:\\Users\\Serafim\\AppData\\Local\\Programs\\Python\\Python312\\Lib\\site-packages\\sklearn\\linear_model\\_coordinate_descent.py:695: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 3.589e+10, tolerance: 9.526e+07\n",
|
||
" model = cd_fast.enet_coordinate_descent(\n",
|
||
"c:\\Users\\Serafim\\AppData\\Local\\Programs\\Python\\Python312\\Lib\\site-packages\\sklearn\\linear_model\\_coordinate_descent.py:695: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 7.818e+10, tolerance: 1.139e+08\n",
|
||
" model = cd_fast.enet_coordinate_descent(\n",
|
||
"c:\\Users\\Serafim\\AppData\\Local\\Programs\\Python\\Python312\\Lib\\site-packages\\sklearn\\linear_model\\_coordinate_descent.py:695: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 5.223e+10, tolerance: 1.100e+08\n",
|
||
" model = cd_fast.enet_coordinate_descent(\n",
|
||
"c:\\Users\\Serafim\\AppData\\Local\\Programs\\Python\\Python312\\Lib\\site-packages\\sklearn\\linear_model\\_coordinate_descent.py:695: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.061e+10, tolerance: 1.135e+08\n",
|
||
" model = cd_fast.enet_coordinate_descent(\n",
|
||
"c:\\Users\\Serafim\\AppData\\Local\\Programs\\Python\\Python312\\Lib\\site-packages\\sklearn\\linear_model\\_coordinate_descent.py:695: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 5.724e+10, tolerance: 1.074e+08\n",
|
||
" model = cd_fast.enet_coordinate_descent(\n",
|
||
"c:\\Users\\Serafim\\AppData\\Local\\Programs\\Python\\Python312\\Lib\\site-packages\\sklearn\\linear_model\\_coordinate_descent.py:695: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.611e+10, tolerance: 9.526e+07\n",
|
||
" model = cd_fast.enet_coordinate_descent(\n",
|
||
"c:\\Users\\Serafim\\AppData\\Local\\Programs\\Python\\Python312\\Lib\\site-packages\\sklearn\\linear_model\\_coordinate_descent.py:695: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 6.844e+10, tolerance: 1.139e+08\n",
|
||
" model = cd_fast.enet_coordinate_descent(\n",
|
||
"c:\\Users\\Serafim\\AppData\\Local\\Programs\\Python\\Python312\\Lib\\site-packages\\sklearn\\linear_model\\_coordinate_descent.py:695: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 5.223e+10, tolerance: 1.100e+08\n",
|
||
" model = cd_fast.enet_coordinate_descent(\n",
|
||
"c:\\Users\\Serafim\\AppData\\Local\\Programs\\Python\\Python312\\Lib\\site-packages\\sklearn\\linear_model\\_coordinate_descent.py:695: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 8.899e+10, tolerance: 1.135e+08\n",
|
||
" model = cd_fast.enet_coordinate_descent(\n",
|
||
"c:\\Users\\Serafim\\AppData\\Local\\Programs\\Python\\Python312\\Lib\\site-packages\\sklearn\\linear_model\\_coordinate_descent.py:695: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 4.565e+10, tolerance: 1.074e+08\n",
|
||
" model = cd_fast.enet_coordinate_descent(\n",
|
||
"c:\\Users\\Serafim\\AppData\\Local\\Programs\\Python\\Python312\\Lib\\site-packages\\sklearn\\linear_model\\_coordinate_descent.py:695: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.750e+10, tolerance: 9.526e+07\n",
|
||
" model = cd_fast.enet_coordinate_descent(\n",
|
||
"c:\\Users\\Serafim\\AppData\\Local\\Programs\\Python\\Python312\\Lib\\site-packages\\sklearn\\linear_model\\_coordinate_descent.py:695: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 5.722e+10, tolerance: 1.139e+08\n",
|
||
" model = cd_fast.enet_coordinate_descent(\n",
|
||
"c:\\Users\\Serafim\\AppData\\Local\\Programs\\Python\\Python312\\Lib\\site-packages\\sklearn\\linear_model\\_coordinate_descent.py:695: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 5.223e+10, tolerance: 1.100e+08\n",
|
||
" model = cd_fast.enet_coordinate_descent(\n",
|
||
"c:\\Users\\Serafim\\AppData\\Local\\Programs\\Python\\Python312\\Lib\\site-packages\\sklearn\\linear_model\\_coordinate_descent.py:695: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 8.672e+10, tolerance: 1.135e+08\n",
|
||
" model = cd_fast.enet_coordinate_descent(\n",
|
||
"c:\\Users\\Serafim\\AppData\\Local\\Programs\\Python\\Python312\\Lib\\site-packages\\sklearn\\linear_model\\_coordinate_descent.py:695: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 3.247e+10, tolerance: 1.074e+08\n",
|
||
" model = cd_fast.enet_coordinate_descent(\n",
|
||
"c:\\Users\\Serafim\\AppData\\Local\\Programs\\Python\\Python312\\Lib\\site-packages\\sklearn\\linear_model\\_coordinate_descent.py:695: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.049e+09, tolerance: 9.526e+07\n",
|
||
" model = cd_fast.enet_coordinate_descent(\n",
|
||
"c:\\Users\\Serafim\\AppData\\Local\\Programs\\Python\\Python312\\Lib\\site-packages\\sklearn\\linear_model\\_coordinate_descent.py:695: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 4.527e+10, tolerance: 1.139e+08\n",
|
||
" model = cd_fast.enet_coordinate_descent(\n",
|
||
"c:\\Users\\Serafim\\AppData\\Local\\Programs\\Python\\Python312\\Lib\\site-packages\\sklearn\\linear_model\\_coordinate_descent.py:695: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 5.224e+10, tolerance: 1.100e+08\n",
|
||
" model = cd_fast.enet_coordinate_descent(\n",
|
||
"c:\\Users\\Serafim\\AppData\\Local\\Programs\\Python\\Python312\\Lib\\site-packages\\sklearn\\linear_model\\_coordinate_descent.py:695: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 8.355e+10, tolerance: 1.135e+08\n",
|
||
" model = cd_fast.enet_coordinate_descent(\n",
|
||
"c:\\Users\\Serafim\\AppData\\Local\\Programs\\Python\\Python312\\Lib\\site-packages\\sklearn\\linear_model\\_coordinate_descent.py:695: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.169e+10, tolerance: 1.074e+08\n",
|
||
" model = cd_fast.enet_coordinate_descent(\n",
|
||
"c:\\Users\\Serafim\\AppData\\Local\\Programs\\Python\\Python312\\Lib\\site-packages\\sklearn\\linear_model\\_coordinate_descent.py:695: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 4.480e+09, tolerance: 9.526e+07\n",
|
||
" model = cd_fast.enet_coordinate_descent(\n",
|
||
"c:\\Users\\Serafim\\AppData\\Local\\Programs\\Python\\Python312\\Lib\\site-packages\\sklearn\\linear_model\\_coordinate_descent.py:695: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 3.361e+10, tolerance: 1.139e+08\n",
|
||
" model = cd_fast.enet_coordinate_descent(\n",
|
||
"c:\\Users\\Serafim\\AppData\\Local\\Programs\\Python\\Python312\\Lib\\site-packages\\sklearn\\linear_model\\_coordinate_descent.py:695: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 5.224e+10, tolerance: 1.100e+08\n",
|
||
" model = cd_fast.enet_coordinate_descent(\n",
|
||
"c:\\Users\\Serafim\\AppData\\Local\\Programs\\Python\\Python312\\Lib\\site-packages\\sklearn\\linear_model\\_coordinate_descent.py:695: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 7.923e+10, tolerance: 1.135e+08\n",
|
||
" model = cd_fast.enet_coordinate_descent(\n",
|
||
"c:\\Users\\Serafim\\AppData\\Local\\Programs\\Python\\Python312\\Lib\\site-packages\\sklearn\\linear_model\\_coordinate_descent.py:695: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.284e+10, tolerance: 1.074e+08\n",
|
||
" model = cd_fast.enet_coordinate_descent(\n",
|
||
"c:\\Users\\Serafim\\AppData\\Local\\Programs\\Python\\Python312\\Lib\\site-packages\\sklearn\\linear_model\\_coordinate_descent.py:695: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.958e+09, tolerance: 9.526e+07\n",
|
||
" model = cd_fast.enet_coordinate_descent(\n",
|
||
"c:\\Users\\Serafim\\AppData\\Local\\Programs\\Python\\Python312\\Lib\\site-packages\\sklearn\\linear_model\\_coordinate_descent.py:695: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.333e+10, tolerance: 1.139e+08\n",
|
||
" model = cd_fast.enet_coordinate_descent(\n",
|
||
"c:\\Users\\Serafim\\AppData\\Local\\Programs\\Python\\Python312\\Lib\\site-packages\\sklearn\\linear_model\\_coordinate_descent.py:695: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 5.224e+10, tolerance: 1.100e+08\n",
|
||
" model = cd_fast.enet_coordinate_descent(\n",
|
||
"c:\\Users\\Serafim\\AppData\\Local\\Programs\\Python\\Python312\\Lib\\site-packages\\sklearn\\linear_model\\_coordinate_descent.py:695: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 7.349e+10, tolerance: 1.135e+08\n",
|
||
" model = cd_fast.enet_coordinate_descent(\n",
|
||
"c:\\Users\\Serafim\\AppData\\Local\\Programs\\Python\\Python312\\Lib\\site-packages\\sklearn\\linear_model\\_coordinate_descent.py:695: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 6.609e+09, tolerance: 1.074e+08\n",
|
||
" model = cd_fast.enet_coordinate_descent(\n",
|
||
"c:\\Users\\Serafim\\AppData\\Local\\Programs\\Python\\Python312\\Lib\\site-packages\\sklearn\\linear_model\\_coordinate_descent.py:695: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.961e+09, tolerance: 9.526e+07\n",
|
||
" model = cd_fast.enet_coordinate_descent(\n",
|
||
"c:\\Users\\Serafim\\AppData\\Local\\Programs\\Python\\Python312\\Lib\\site-packages\\sklearn\\linear_model\\_coordinate_descent.py:695: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.263e+10, tolerance: 1.139e+08\n",
|
||
" model = cd_fast.enet_coordinate_descent(\n",
|
||
"c:\\Users\\Serafim\\AppData\\Local\\Programs\\Python\\Python312\\Lib\\site-packages\\sklearn\\linear_model\\_coordinate_descent.py:695: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 4.181e+10, tolerance: 1.100e+08\n",
|
||
" model = cd_fast.enet_coordinate_descent(\n",
|
||
"c:\\Users\\Serafim\\AppData\\Local\\Programs\\Python\\Python312\\Lib\\site-packages\\sklearn\\linear_model\\_coordinate_descent.py:695: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 6.612e+10, tolerance: 1.135e+08\n",
|
||
" model = cd_fast.enet_coordinate_descent(\n",
|
||
"c:\\Users\\Serafim\\AppData\\Local\\Programs\\Python\\Python312\\Lib\\site-packages\\sklearn\\linear_model\\_coordinate_descent.py:695: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.909e+09, tolerance: 1.074e+08\n",
|
||
" model = cd_fast.enet_coordinate_descent(\n",
|
||
"c:\\Users\\Serafim\\AppData\\Local\\Programs\\Python\\Python312\\Lib\\site-packages\\sklearn\\linear_model\\_coordinate_descent.py:695: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.964e+09, tolerance: 9.526e+07\n",
|
||
" model = cd_fast.enet_coordinate_descent(\n",
|
||
"c:\\Users\\Serafim\\AppData\\Local\\Programs\\Python\\Python312\\Lib\\site-packages\\sklearn\\linear_model\\_coordinate_descent.py:695: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 7.558e+09, tolerance: 1.139e+08\n",
|
||
" model = cd_fast.enet_coordinate_descent(\n",
|
||
"c:\\Users\\Serafim\\AppData\\Local\\Programs\\Python\\Python312\\Lib\\site-packages\\sklearn\\linear_model\\_coordinate_descent.py:695: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.606e+10, tolerance: 1.100e+08\n",
|
||
" model = cd_fast.enet_coordinate_descent(\n",
|
||
"c:\\Users\\Serafim\\AppData\\Local\\Programs\\Python\\Python312\\Lib\\site-packages\\sklearn\\linear_model\\_coordinate_descent.py:695: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 5.668e+10, tolerance: 1.135e+08\n",
|
||
" model = cd_fast.enet_coordinate_descent(\n",
|
||
"c:\\Users\\Serafim\\AppData\\Local\\Programs\\Python\\Python312\\Lib\\site-packages\\sklearn\\linear_model\\_coordinate_descent.py:695: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.912e+09, tolerance: 1.074e+08\n",
|
||
" model = cd_fast.enet_coordinate_descent(\n",
|
||
"c:\\Users\\Serafim\\AppData\\Local\\Programs\\Python\\Python312\\Lib\\site-packages\\sklearn\\linear_model\\_coordinate_descent.py:695: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.966e+09, tolerance: 9.526e+07\n",
|
||
" model = cd_fast.enet_coordinate_descent(\n",
|
||
"c:\\Users\\Serafim\\AppData\\Local\\Programs\\Python\\Python312\\Lib\\site-packages\\sklearn\\linear_model\\_coordinate_descent.py:695: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 7.566e+09, tolerance: 1.139e+08\n",
|
||
" model = cd_fast.enet_coordinate_descent(\n",
|
||
"c:\\Users\\Serafim\\AppData\\Local\\Programs\\Python\\Python312\\Lib\\site-packages\\sklearn\\linear_model\\_coordinate_descent.py:695: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.606e+10, tolerance: 1.100e+08\n",
|
||
" model = cd_fast.enet_coordinate_descent(\n",
|
||
"c:\\Users\\Serafim\\AppData\\Local\\Programs\\Python\\Python312\\Lib\\site-packages\\sklearn\\linear_model\\_coordinate_descent.py:695: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 4.625e+10, tolerance: 1.135e+08\n",
|
||
" model = cd_fast.enet_coordinate_descent(\n",
|
||
"c:\\Users\\Serafim\\AppData\\Local\\Programs\\Python\\Python312\\Lib\\site-packages\\sklearn\\linear_model\\_coordinate_descent.py:695: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.916e+09, tolerance: 1.074e+08\n",
|
||
" model = cd_fast.enet_coordinate_descent(\n",
|
||
"c:\\Users\\Serafim\\AppData\\Local\\Programs\\Python\\Python312\\Lib\\site-packages\\sklearn\\linear_model\\_coordinate_descent.py:695: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.979e+09, tolerance: 9.526e+07\n",
|
||
" model = cd_fast.enet_coordinate_descent(\n",
|
||
"c:\\Users\\Serafim\\AppData\\Local\\Programs\\Python\\Python312\\Lib\\site-packages\\sklearn\\linear_model\\_coordinate_descent.py:695: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 7.574e+09, tolerance: 1.139e+08\n",
|
||
" model = cd_fast.enet_coordinate_descent(\n",
|
||
"c:\\Users\\Serafim\\AppData\\Local\\Programs\\Python\\Python312\\Lib\\site-packages\\sklearn\\linear_model\\_coordinate_descent.py:695: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.288e+10, tolerance: 1.100e+08\n",
|
||
" model = cd_fast.enet_coordinate_descent(\n",
|
||
"c:\\Users\\Serafim\\AppData\\Local\\Programs\\Python\\Python312\\Lib\\site-packages\\sklearn\\linear_model\\_coordinate_descent.py:695: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 3.517e+10, tolerance: 1.135e+08\n",
|
||
" model = cd_fast.enet_coordinate_descent(\n",
|
||
"c:\\Users\\Serafim\\AppData\\Local\\Programs\\Python\\Python312\\Lib\\site-packages\\sklearn\\linear_model\\_coordinate_descent.py:695: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.921e+09, tolerance: 1.074e+08\n",
|
||
" model = cd_fast.enet_coordinate_descent(\n",
|
||
"c:\\Users\\Serafim\\AppData\\Local\\Programs\\Python\\Python312\\Lib\\site-packages\\sklearn\\linear_model\\_coordinate_descent.py:695: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.002e+09, tolerance: 9.526e+07\n",
|
||
" model = cd_fast.enet_coordinate_descent(\n",
|
||
"c:\\Users\\Serafim\\AppData\\Local\\Programs\\Python\\Python312\\Lib\\site-packages\\sklearn\\linear_model\\_coordinate_descent.py:695: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 7.583e+09, tolerance: 1.139e+08\n",
|
||
" model = cd_fast.enet_coordinate_descent(\n",
|
||
"c:\\Users\\Serafim\\AppData\\Local\\Programs\\Python\\Python312\\Lib\\site-packages\\sklearn\\linear_model\\_coordinate_descent.py:695: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.293e+10, tolerance: 1.100e+08\n",
|
||
" model = cd_fast.enet_coordinate_descent(\n",
|
||
"c:\\Users\\Serafim\\AppData\\Local\\Programs\\Python\\Python312\\Lib\\site-packages\\sklearn\\linear_model\\_coordinate_descent.py:695: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.451e+10, tolerance: 1.135e+08\n",
|
||
" model = cd_fast.enet_coordinate_descent(\n",
|
||
"c:\\Users\\Serafim\\AppData\\Local\\Programs\\Python\\Python312\\Lib\\site-packages\\sklearn\\linear_model\\_coordinate_descent.py:695: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.928e+09, tolerance: 1.074e+08\n",
|
||
" model = cd_fast.enet_coordinate_descent(\n",
|
||
"c:\\Users\\Serafim\\AppData\\Local\\Programs\\Python\\Python312\\Lib\\site-packages\\sklearn\\linear_model\\_coordinate_descent.py:695: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.015e+09, tolerance: 9.526e+07\n",
|
||
" model = cd_fast.enet_coordinate_descent(\n",
|
||
"c:\\Users\\Serafim\\AppData\\Local\\Programs\\Python\\Python312\\Lib\\site-packages\\sklearn\\linear_model\\_coordinate_descent.py:695: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 7.595e+09, tolerance: 1.139e+08\n",
|
||
" model = cd_fast.enet_coordinate_descent(\n",
|
||
"c:\\Users\\Serafim\\AppData\\Local\\Programs\\Python\\Python312\\Lib\\site-packages\\sklearn\\linear_model\\_coordinate_descent.py:695: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 5.498e+09, tolerance: 1.100e+08\n",
|
||
" model = cd_fast.enet_coordinate_descent(\n",
|
||
"c:\\Users\\Serafim\\AppData\\Local\\Programs\\Python\\Python312\\Lib\\site-packages\\sklearn\\linear_model\\_coordinate_descent.py:695: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.542e+10, tolerance: 1.135e+08\n",
|
||
" model = cd_fast.enet_coordinate_descent(\n",
|
||
"c:\\Users\\Serafim\\AppData\\Local\\Programs\\Python\\Python312\\Lib\\site-packages\\sklearn\\linear_model\\_coordinate_descent.py:695: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 7.252e+09, tolerance: 1.074e+08\n",
|
||
" model = cd_fast.enet_coordinate_descent(\n",
|
||
"c:\\Users\\Serafim\\AppData\\Local\\Programs\\Python\\Python312\\Lib\\site-packages\\sklearn\\linear_model\\_coordinate_descent.py:695: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.382e+08, tolerance: 9.526e+07\n",
|
||
" model = cd_fast.enet_coordinate_descent(\n",
|
||
"c:\\Users\\Serafim\\AppData\\Local\\Programs\\Python\\Python312\\Lib\\site-packages\\sklearn\\linear_model\\_coordinate_descent.py:695: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.774e+09, tolerance: 1.139e+08\n",
|
||
" model = cd_fast.enet_coordinate_descent(\n",
|
||
"c:\\Users\\Serafim\\AppData\\Local\\Programs\\Python\\Python312\\Lib\\site-packages\\sklearn\\linear_model\\_coordinate_descent.py:695: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 5.802e+09, tolerance: 1.100e+08\n",
|
||
" model = cd_fast.enet_coordinate_descent(\n",
|
||
"c:\\Users\\Serafim\\AppData\\Local\\Programs\\Python\\Python312\\Lib\\site-packages\\sklearn\\linear_model\\_coordinate_descent.py:695: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 8.491e+09, tolerance: 1.135e+08\n",
|
||
" model = cd_fast.enet_coordinate_descent(\n",
|
||
"c:\\Users\\Serafim\\AppData\\Local\\Programs\\Python\\Python312\\Lib\\site-packages\\sklearn\\linear_model\\_coordinate_descent.py:695: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.398e+08, tolerance: 1.074e+08\n",
|
||
" model = cd_fast.enet_coordinate_descent(\n",
|
||
"c:\\Users\\Serafim\\AppData\\Local\\Programs\\Python\\Python312\\Lib\\site-packages\\sklearn\\linear_model\\_coordinate_descent.py:695: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.464e+08, tolerance: 9.526e+07\n",
|
||
" model = cd_fast.enet_coordinate_descent(\n",
|
||
"c:\\Users\\Serafim\\AppData\\Local\\Programs\\Python\\Python312\\Lib\\site-packages\\sklearn\\linear_model\\_coordinate_descent.py:695: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.515e+09, tolerance: 1.139e+08\n",
|
||
" model = cd_fast.enet_coordinate_descent(\n",
|
||
"c:\\Users\\Serafim\\AppData\\Local\\Programs\\Python\\Python312\\Lib\\site-packages\\sklearn\\linear_model\\_coordinate_descent.py:695: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 5.829e+09, tolerance: 1.100e+08\n",
|
||
" model = cd_fast.enet_coordinate_descent(\n",
|
||
"c:\\Users\\Serafim\\AppData\\Local\\Programs\\Python\\Python312\\Lib\\site-packages\\sklearn\\linear_model\\_coordinate_descent.py:695: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 3.993e+09, tolerance: 1.135e+08\n",
|
||
" model = cd_fast.enet_coordinate_descent(\n",
|
||
"c:\\Users\\Serafim\\AppData\\Local\\Programs\\Python\\Python312\\Lib\\site-packages\\sklearn\\linear_model\\_coordinate_descent.py:695: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.825e+08, tolerance: 1.074e+08\n",
|
||
" model = cd_fast.enet_coordinate_descent(\n",
|
||
"c:\\Users\\Serafim\\AppData\\Local\\Programs\\Python\\Python312\\Lib\\site-packages\\sklearn\\linear_model\\_coordinate_descent.py:695: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.574e+08, tolerance: 9.526e+07\n",
|
||
" model = cd_fast.enet_coordinate_descent(\n",
|
||
"c:\\Users\\Serafim\\AppData\\Local\\Programs\\Python\\Python312\\Lib\\site-packages\\sklearn\\linear_model\\_coordinate_descent.py:695: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.574e+09, tolerance: 1.139e+08\n",
|
||
" model = cd_fast.enet_coordinate_descent(\n",
|
||
"c:\\Users\\Serafim\\AppData\\Local\\Programs\\Python\\Python312\\Lib\\site-packages\\sklearn\\linear_model\\_coordinate_descent.py:695: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.505e+09, tolerance: 1.100e+08\n",
|
||
" model = cd_fast.enet_coordinate_descent(\n",
|
||
"c:\\Users\\Serafim\\AppData\\Local\\Programs\\Python\\Python312\\Lib\\site-packages\\sklearn\\linear_model\\_coordinate_descent.py:695: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.212e+09, tolerance: 1.135e+08\n",
|
||
" model = cd_fast.enet_coordinate_descent(\n",
|
||
"c:\\Users\\Serafim\\AppData\\Local\\Programs\\Python\\Python312\\Lib\\site-packages\\sklearn\\linear_model\\_coordinate_descent.py:695: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.009e+09, tolerance: 1.074e+08\n",
|
||
" model = cd_fast.enet_coordinate_descent(\n",
|
||
"c:\\Users\\Serafim\\AppData\\Local\\Programs\\Python\\Python312\\Lib\\site-packages\\sklearn\\linear_model\\_coordinate_descent.py:695: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.709e+08, tolerance: 9.526e+07\n",
|
||
" model = cd_fast.enet_coordinate_descent(\n",
|
||
"c:\\Users\\Serafim\\AppData\\Local\\Programs\\Python\\Python312\\Lib\\site-packages\\sklearn\\linear_model\\_coordinate_descent.py:695: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 3.918e+09, tolerance: 1.139e+08\n",
|
||
" model = cd_fast.enet_coordinate_descent(\n",
|
||
"c:\\Users\\Serafim\\AppData\\Local\\Programs\\Python\\Python312\\Lib\\site-packages\\sklearn\\linear_model\\_coordinate_descent.py:695: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 3.678e+09, tolerance: 1.100e+08\n",
|
||
" model = cd_fast.enet_coordinate_descent(\n",
|
||
"c:\\Users\\Serafim\\AppData\\Local\\Programs\\Python\\Python312\\Lib\\site-packages\\sklearn\\linear_model\\_coordinate_descent.py:695: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.289e+09, tolerance: 1.135e+08\n",
|
||
" model = cd_fast.enet_coordinate_descent(\n",
|
||
"c:\\Users\\Serafim\\AppData\\Local\\Programs\\Python\\Python312\\Lib\\site-packages\\sklearn\\linear_model\\_coordinate_descent.py:695: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.323e+09, tolerance: 1.074e+08\n",
|
||
" model = cd_fast.enet_coordinate_descent(\n",
|
||
"c:\\Users\\Serafim\\AppData\\Local\\Programs\\Python\\Python312\\Lib\\site-packages\\sklearn\\linear_model\\_coordinate_descent.py:695: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 9.880e+08, tolerance: 9.526e+07\n",
|
||
" model = cd_fast.enet_coordinate_descent(\n",
|
||
"c:\\Users\\Serafim\\AppData\\Local\\Programs\\Python\\Python312\\Lib\\site-packages\\sklearn\\linear_model\\_coordinate_descent.py:695: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 3.941e+09, tolerance: 1.139e+08\n",
|
||
" model = cd_fast.enet_coordinate_descent(\n",
|
||
"c:\\Users\\Serafim\\AppData\\Local\\Programs\\Python\\Python312\\Lib\\site-packages\\sklearn\\linear_model\\_coordinate_descent.py:695: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 4.177e+08, tolerance: 1.100e+08\n",
|
||
" model = cd_fast.enet_coordinate_descent(\n",
|
||
"c:\\Users\\Serafim\\AppData\\Local\\Programs\\Python\\Python312\\Lib\\site-packages\\sklearn\\linear_model\\_coordinate_descent.py:695: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.148e+09, tolerance: 1.135e+08\n",
|
||
" model = cd_fast.enet_coordinate_descent(\n",
|
||
"c:\\Users\\Serafim\\AppData\\Local\\Programs\\Python\\Python312\\Lib\\site-packages\\sklearn\\linear_model\\_coordinate_descent.py:695: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.352e+09, tolerance: 1.074e+08\n",
|
||
" model = cd_fast.enet_coordinate_descent(\n",
|
||
"c:\\Users\\Serafim\\AppData\\Local\\Programs\\Python\\Python312\\Lib\\site-packages\\sklearn\\linear_model\\_coordinate_descent.py:695: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.009e+09, tolerance: 9.526e+07\n",
|
||
" model = cd_fast.enet_coordinate_descent(\n",
|
||
"c:\\Users\\Serafim\\AppData\\Local\\Programs\\Python\\Python312\\Lib\\site-packages\\sklearn\\linear_model\\_coordinate_descent.py:695: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.147e+08, tolerance: 1.139e+08\n",
|
||
" model = cd_fast.enet_coordinate_descent(\n",
|
||
"c:\\Users\\Serafim\\AppData\\Local\\Programs\\Python\\Python312\\Lib\\site-packages\\sklearn\\linear_model\\_coordinate_descent.py:695: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 4.406e+08, tolerance: 1.100e+08\n",
|
||
" model = cd_fast.enet_coordinate_descent(\n",
|
||
"c:\\Users\\Serafim\\AppData\\Local\\Programs\\Python\\Python312\\Lib\\site-packages\\sklearn\\linear_model\\_coordinate_descent.py:695: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.284e+09, tolerance: 1.135e+08\n",
|
||
" model = cd_fast.enet_coordinate_descent(\n",
|
||
"c:\\Users\\Serafim\\AppData\\Local\\Programs\\Python\\Python312\\Lib\\site-packages\\sklearn\\linear_model\\_coordinate_descent.py:695: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.395e+09, tolerance: 1.074e+08\n",
|
||
" model = cd_fast.enet_coordinate_descent(\n",
|
||
"c:\\Users\\Serafim\\AppData\\Local\\Programs\\Python\\Python312\\Lib\\site-packages\\sklearn\\linear_model\\_coordinate_descent.py:695: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.009e+09, tolerance: 9.526e+07\n",
|
||
" model = cd_fast.enet_coordinate_descent(\n",
|
||
"c:\\Users\\Serafim\\AppData\\Local\\Programs\\Python\\Python312\\Lib\\site-packages\\sklearn\\linear_model\\_coordinate_descent.py:695: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.300e+08, tolerance: 1.139e+08\n",
|
||
" model = cd_fast.enet_coordinate_descent(\n",
|
||
"c:\\Users\\Serafim\\AppData\\Local\\Programs\\Python\\Python312\\Lib\\site-packages\\sklearn\\linear_model\\_coordinate_descent.py:695: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 4.709e+08, tolerance: 1.100e+08\n",
|
||
" model = cd_fast.enet_coordinate_descent(\n",
|
||
"c:\\Users\\Serafim\\AppData\\Local\\Programs\\Python\\Python312\\Lib\\site-packages\\sklearn\\linear_model\\_coordinate_descent.py:695: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.354e+09, tolerance: 1.135e+08\n",
|
||
" model = cd_fast.enet_coordinate_descent(\n",
|
||
"c:\\Users\\Serafim\\AppData\\Local\\Programs\\Python\\Python312\\Lib\\site-packages\\sklearn\\linear_model\\_coordinate_descent.py:695: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.444e+09, tolerance: 1.074e+08\n",
|
||
" model = cd_fast.enet_coordinate_descent(\n",
|
||
"c:\\Users\\Serafim\\AppData\\Local\\Programs\\Python\\Python312\\Lib\\site-packages\\sklearn\\linear_model\\_coordinate_descent.py:695: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.025e+09, tolerance: 9.526e+07\n",
|
||
" model = cd_fast.enet_coordinate_descent(\n",
|
||
"c:\\Users\\Serafim\\AppData\\Local\\Programs\\Python\\Python312\\Lib\\site-packages\\sklearn\\linear_model\\_coordinate_descent.py:695: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.461e+08, tolerance: 1.139e+08\n",
|
||
" model = cd_fast.enet_coordinate_descent(\n",
|
||
"c:\\Users\\Serafim\\AppData\\Local\\Programs\\Python\\Python312\\Lib\\site-packages\\sklearn\\linear_model\\_coordinate_descent.py:695: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.627e+08, tolerance: 1.100e+08\n",
|
||
" model = cd_fast.enet_coordinate_descent(\n",
|
||
"c:\\Users\\Serafim\\AppData\\Local\\Programs\\Python\\Python312\\Lib\\site-packages\\sklearn\\linear_model\\_coordinate_descent.py:695: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.325e+09, tolerance: 1.135e+08\n",
|
||
" model = cd_fast.enet_coordinate_descent(\n",
|
||
"c:\\Users\\Serafim\\AppData\\Local\\Programs\\Python\\Python312\\Lib\\site-packages\\sklearn\\linear_model\\_coordinate_descent.py:695: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.770e+08, tolerance: 1.074e+08\n",
|
||
" model = cd_fast.enet_coordinate_descent(\n",
|
||
"c:\\Users\\Serafim\\AppData\\Local\\Programs\\Python\\Python312\\Lib\\site-packages\\sklearn\\linear_model\\_coordinate_descent.py:695: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.163e+09, tolerance: 9.526e+07\n",
|
||
" model = cd_fast.enet_coordinate_descent(\n",
|
||
"c:\\Users\\Serafim\\AppData\\Local\\Programs\\Python\\Python312\\Lib\\site-packages\\sklearn\\linear_model\\_coordinate_descent.py:695: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.621e+08, tolerance: 1.139e+08\n",
|
||
" model = cd_fast.enet_coordinate_descent(\n",
|
||
"c:\\Users\\Serafim\\AppData\\Local\\Programs\\Python\\Python312\\Lib\\site-packages\\sklearn\\linear_model\\_coordinate_descent.py:695: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 2.929e+08, tolerance: 1.100e+08\n",
|
||
" model = cd_fast.enet_coordinate_descent(\n",
|
||
"c:\\Users\\Serafim\\AppData\\Local\\Programs\\Python\\Python312\\Lib\\site-packages\\sklearn\\linear_model\\_coordinate_descent.py:695: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.454e+09, tolerance: 1.135e+08\n",
|
||
" model = cd_fast.enet_coordinate_descent(\n",
|
||
"c:\\Users\\Serafim\\AppData\\Local\\Programs\\Python\\Python312\\Lib\\site-packages\\sklearn\\linear_model\\_coordinate_descent.py:695: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.903e+08, tolerance: 1.074e+08\n",
|
||
" model = cd_fast.enet_coordinate_descent(\n",
|
||
"c:\\Users\\Serafim\\AppData\\Local\\Programs\\Python\\Python312\\Lib\\site-packages\\sklearn\\linear_model\\_coordinate_descent.py:695: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.807e+08, tolerance: 1.139e+08\n",
|
||
" model = cd_fast.enet_coordinate_descent(\n",
|
||
"c:\\Users\\Serafim\\AppData\\Local\\Programs\\Python\\Python312\\Lib\\site-packages\\sklearn\\linear_model\\_coordinate_descent.py:695: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.186e+08, tolerance: 1.100e+08\n",
|
||
" model = cd_fast.enet_coordinate_descent(\n",
|
||
"c:\\Users\\Serafim\\AppData\\Local\\Programs\\Python\\Python312\\Lib\\site-packages\\sklearn\\linear_model\\_coordinate_descent.py:695: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.430e+08, tolerance: 1.100e+08\n",
|
||
" model = cd_fast.enet_coordinate_descent(\n",
|
||
"c:\\Users\\Serafim\\AppData\\Local\\Programs\\Python\\Python312\\Lib\\site-packages\\sklearn\\linear_model\\_coordinate_descent.py:695: ConvergenceWarning: Objective did not converge. You might want to increase the number of iterations, check the scale of the features or consider increasing regularisation. Duality gap: 1.654e+08, tolerance: 1.100e+08\n",
|
||
" model = cd_fast.enet_coordinate_descent(\n"
|
||
]
|
||
},
|
||
{
|
||
"data": {
|
||
"image/png": "iVBORw0KGgoAAAANSUhEUgAAArwAAAHbCAYAAAApo0k8AAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjEsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvc2/+5QAAAAlwSFlzAAAPYQAAD2EBqD+naQAAW2VJREFUeJzt3Qd409X6wPG3e0BboKWl7DJliCAK4laW4v47QQQXet2oqCgqol7HdVxQUa9ecVwHiHsgigwBZSiIypRRhuzZQksHbf7PeyAxbZM2SdMmv+T7eZ7Q5peTX05OU/rm5D3vibDZbDYBAAAAQlRkoDsAAAAA1CQCXgAAAIQ0Al4AAACENAJeAAAAhDQCXgAAAIQ0Al4AAACENAJeAAAAhDQCXgAAAIQ0Al4AAACENAJeAEBAnX766ebi6307d+7s9z4BCC0EvIDFvfrqq9K/f3/JyMiQmJgYadSokZx22mnyzjvvSGlpaaC7Bx9dffXVEhER4bjExcVJu3bt5OGHH5aCgoIybe+77z456aSTzOX444+Xn376KWD9RkUE5UDgRQe6AwCq5+2335bMzEx56KGHJDk5Wfbt2yfz5883AdM333wjH3zwQaC7CB9pkPvf//7XfJ+TkyOff/65PPbYY7J27Vp57733HO2uu+46efrpp833Y8eOlSuvvFKys7MD1m8ACDYEvIDFzZ4928zsOrv99tslNTVVXnrpJXnyySelZcuWAesffBcdHS2DBw92XL/55pvlxBNPNG9inn/+eTOrr3Tm185ms0lkJB/eAYAz/lcELK58sGtnD3Kdgx+dITznnHOkcePGZvawdevWZsawpKSkwkewzh+np6WlmfstXbq0TDu97ZFHHilz7JlnnjHHy+dk6sfw2laDs/j4eDMr/X//939mtlKtX7/e3O+tt94qc79bbrnFHNcZaztto8diY2Nl586dZdrPmzfP0e9ffvmlzG2TJ0+W7t27S0JCgnlOGkxu3ry5wtitXLlSLrvsMmnYsKFp2759exk1apS5TZ+D89i4usyaNatGPsrWc5988skmqF23bl2F2/Xno/3TYLgqeXl5cvfdd0uzZs3Ma0Gf47PPPmvO7fx4lV2qyrt988035cwzz5T09HTzGB07dpRXXnmlyr7p+On5J02aJA888IBJ06lTp46cf/75smnTJpf3Wb58uZxxxhmSmJgoTZo0kX/9619lbi8qKjLpIPrzT0lJMec75ZRTZObMmeIJ/X2yP2/9ndI+XX755bJx40bxh99//928xlu1amV+P/T81157rezevbtMu/3798vw4cNNf3RMdWz79u0rixcvdrRZvXq1XHzxxeYceq6mTZvKFVdcYT4lsDt06JD53df/A/Q8ej4d68LCQr88HyDYMMMLhAhNZdA/YvoHcdGiRSZ40T9yzZs3LxMo1q1bV+666y7zdcaMGSYIyM3NNYGqs6OOOsoEeRoAaVCqQdSAAQMq/QOvfdAZ5fI0oD733HNl+vTppk933HGH6ee0adNMkKZ/dF1Zs2aNvP76624fLyoqSt5991258847ywRZ+ke+fJ6rPvdrrrnG5LhqH7dv3y7jxo2TH3/8UX799VepV6+eI/DQQEjfSNxwww0mENDn/+WXX8o///lPE6S3adPGcV597A4dOpi2dnq9pugbA1W/fv0yxzUAPvvss2X06NFywQUXVHoO/Zlq8KjBnqZDdO3aVb799lu55557zBuAf//736bd//73P8d95syZI6+99pq5Td8sKPsMszsa3Hbq1Mk8ls5W6xjqLLXmlusbmaroeGuAqTnKO3bsMOkaffr0kSVLlpg3InZ79+6Vs846y/xs9I3KRx99ZO5z9NFHmzFR+hrX9JCBAwfKsGHDzOvvjTfeMPnvCxcuNGNQFX1d6M9Z+6+vW+3Pli1bzNhUl/4u6M9QX6MaqC5btsyMt37VFCUdB/WPf/zDPL9bb73VvIHQgHju3LmyYsUKOfbYY01gr89JA9fbbrvNnEt/pl999ZX5/dRgX11//fUmHeqSSy4xb3wWLFhgfi/0PJ9++mm1nw8QdGwAQkL79u11as5xGTJkiK24uLhMm/z8/Ar3u/HGG22JiYm2goICx7HTTjvNXJw98MAD5rw7duxwHNPro0ePdly/9957benp6bbu3buXuf+ECRNM2+eff77C45eWlpqv2dnZps2bb77puO2yyy6zde7c2dasWTPb0KFDHce1jbYdOHCg7eijj3Ycz8vLsyUnJ9sGDRpkbv/555/N8aKiItMvPdfBgwcd7b/66ivT7uGHH3YcO/XUU21JSUm2DRs2uOxneS1atCjTN2c6Bp06dbL5Qs9Zp04d286dO81lzZo1tmeffdYWERFhnodzf9auXWv6MX78eI/O/dln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X/0EAACAG3HRUdImva7ZcW3Z5hxpUi8h0F2yZsD7559/SkxMTJXtevXqZS7FxcXV7RsAAAC8SGvQgFfzePt1ahTo7lgzpUGD3Zdeekn27dvncXsAAADUDnZc81OVBnuO7qBBg2TGjBne3BUAAAC1EPAuJ+CtXsC7bds2efXVV2Xr1q3St29fycrKMovWNm3a5M1pAAAA4GcdjgS8m/cdlH35RYHujnUD3oSEBBkyZIjMnDlTVq9eLVdddZW88cYbJvA966yzZPLkyeTuAgAABEByfIw0b5BovmeW108bT7Rq1UoeffRRyc7Olm+++UZSU1Pl6quvliZNmvh6SgAAAFQDebw1tNOaFjaOjo42X7UWLzO8AAAAgdExky2G/Rrwat6uzvDqTK/m827ZskVef/11k98LAACA2tepCVsMV3tr4aKiIvnkk09kwoQJpkpDZmamDB06VK699loT+AIAACDwWwyv3ZknBcUlEh8TFeguWS/gbdSokeTl5cl5550nX375pfTv318iI6udFQEAAAA/SE+Kk7S6sbLrQJHZhKJrM/e744YTrwLeBx980FRmaNiwYc31CAAAAD7RNVUdMpNlzupdJo+XgPcwr6Znr7nmGpk4caLk5lbMC8nJyZEXX3zR5W0AAACo3bQGSpP5GPDq1sKzZ8+W5OTDCdHOUlJSZM6cOSboBQAAQGBQmqyaAe/HH38s//jHP9zefuONN8pHH33kzSkBAADgRx2PBLwrt+VKSakt0N2xXsC7du1aadu2rdvb9TZtAwAAgMDISq0jibFRUlBcKtm7DgS6O9YLeKOioky9XXf0Nqo2AAAABE5k5OGFa4q0hsO8ik67desmn332mdvbP/30U9MGAAAAgUMebzXKkt16661yxRVXSNOmTeWmm24yM76qpKREXn75Zfn3v/8t77//vjenBAAAgJ+xxXA1Zngvvvhiuffee+X222+XBg0amNlcvej3w4cPl7vuuksuueQSb04p48ePl5YtW0p8fLz07NlTFi5cWGn7ffv2yS233GJ2eYuLi5N27drJlClTHLc/8sgjpgad8+Woo47yqk8AAAChUprMZmPhmlczvOqf//ynXHDBBfLee+/JmjVrzCCedtppMmjQIOnRo4dX55o0aZIJkl999VUT7I4dO9bs3rZq1SpJT093ubVx3759zW1aDaJJkyayYcMGqVevbFHlTp06yffff//3k4z2+mkCAABYVtuMuhIdGSF784tla06BNK6XIOHMp0hQA1tvg1tXnn/+eRk2bJjZ0EJp4Pv111/LhAkTZOTIkRXa6/E9e/bITz/9JDExMeaYzg6XpwGuboMMAAAQjuJjoqRNel2zvfCyLblhH/AGrKSCztYuWrRI+vTp83dnIiPN9Xnz5rm8zxdffCG9evUyKQ0ZGRnSuXNneeKJJ0wOsbPVq1dL48aNpVWrVnLllVfKxo0ba/z5AAAABGM93uUsXPNthtcfdu3aZQJVDVyd6fWVK1e6vM+6detkxowZJojVvF1Nqbj55puluLhYRo8ebdpoasRbb70l7du3l61bt8qYMWPklFNOkaVLl0pSUpLL8xYWFpqLnX17ZD2vXmqa/TFq47GshrFxjXFxj7FxjXFxjXFxj7Gx/rgclVHXfF26eV9IxjPePE6ELUCZzFqzV3NwNT1BZ23tdFHcDz/8IAsWLKhwH12gVlBQINnZ2Y4KEZoW8cwzz5jg1t0itxYtWph21113ncs2utBNA+PytOJEYmJiNZ4lAABAYKzJEXlxebQ0iLPJ6GPLfhoeCvLz880aspycHElOPjybHXQzvGlpaSZo3b59e5njet1d/q1WZtDcXXuwqzp06CDbtm0zKRKxsbEV7qML2jRQ1tlgd+6//36zeM55hrdZs2bSr1+/KgfQX+9Qpk2bZhbk2XOTcRhj4xrj4h5j4xrj4hrj4h5jY/1xyT1YLC8unyl7CiPkxNP7Sr3EmJAaG/sn8p4IWMCrwWn37t1l+vTpcuGFF5pjpaWl5rrW+3XlpJNOMrOu2s6+o9uff/5pAmFXwa46cOCA2e74qquuctsXLW+ml/L0h1WbL+bafjwrYWxcY1zcY2xcY1xcY1zcY2ysOy6pMTHSrEGCbNpzUFbvypcTW6eF1Nh48xgeB7xab1dr2npi8eLFHrXTWdWhQ4fKcccdZ6o+aFmyvLw8R9WGIUOGmLSHJ5980lzXzS5eeuklueOOO+S2224zi9N00ZrWBbYbMWKEnHfeeSaNQdMmNLdXZ4QHDhzo6VMFAAAICZ0yU0zAqwvXaivgDUYeB7z2WVilebS6s1rHjh0d+bfz58+XZcuWmUVknrr88stl586d8vDDD5u0hK5du8rUqVMdC9m0uoJ9JldpmsG3334rd955p3Tp0sUEwxr83nfffY42f/31lwlud+/eLQ0bNpSTTz7Z9E2/BwAACLdKDVOXbQv7LYY9DnjtVRDU9ddfb2ZVH3vssQptNm3a5FUHNH3BXQrDrFmzKhzTAFsDWHcmTpzo1eMDAACEqk6UJvO9Du/kyZNNukF5gwcPlo8//tiXUwIAAKCGthhes/OAFBSHXqWGGg14ExIS5Mcff6xwXI/Fx8f7o18AAACopozkOEmtEyslpTZZtW2/hCufqjQMHz7cLCDTxWn2LYa1bq5u/fvQQw/5u48AAADwgRYc6Ng4Weas3mXyeI9pVk/CkU8B78iRI822vePGjZN3333XUQ/3zTfflMsuu8zffQQAAICPOh4JeJdvzZFw5XMdXg1sCW4BAACskce7LIwXrvmUwwsAAABr6Jh5uFLDyq37TS5vOPJ4hrd+/foebzyxZ8+e6vQJAAAAfpKVVkcSYqLkYHGJZO86IG3SkyTceBzw6i5oAAAAsJaoyAjpkJkkizfuM2kNBLyV0C2AAQAAYM083sUb95kNKC7o2kTCjc+L1kpKSuSzzz6TFStWmOudOnWS888/X6KiovzZPwAAAPihUkM4L1zzKeBds2aNDBgwQDZv3izt27c3x5588klp1qyZfP3119K6dWt/9xMAAADV3WJ4a67YbDaP12WFdZWG22+/3QS1mzZtMptP6GXjxo2SlZVlbgMAAEDwaJeRJJERInvyiuSdeetl3trdYVWxwacZ3h9++EHmz58vDRo0cBxLTU2Vp556Sk466SR/9g8AAADVNGvVDomMiJBSm01Gf7HcHMtMiZfR53WUszpnSqjzaYY3Li5O9u+vuB/zgQMHJDY21h/9AgAAgB9MXbpVbnp3sRwqN6O7LafAHNfbQ51PAe+5554rN9xwgyxYsMDkgehFZ3z/8Y9/mIVrAAAACDxNWxjz5XJxlbxgP6a3h3p6g08B7wsvvGByeHv16iXx8fHmoqkMbdq0kXHjxvm/lwAAAPDawuw9sjWnwO3tGubq7doulHmcw5ubmyvJyYdX+NWrV08+//xzU63BXpasQ4cOJuAFAABAcNix332w60u7sNhaeOvWrZKeni5nnnmmfPLJJybAJcgFAAAITulJ8X5tF/IpDXXr1pXdu3eb72fNmiXFxcU12S8AAABUU4+sBqYag7uqu3pcb9d2oczjGd4+ffrIGWecYVIX1EUXXeS2IsOMGTP810MAAAD4JCoywpQe02oMGtw6L02zB8F6u7YLZR4HvO+++668/fbbsnbtWlOHV7cSTkxMrNneAQAAoFrO6pwprww+1lRjcF7A1iiM6vB6HPAmJCSYsmPql19+kaefftosXgMAAEBwO6tzpvTt2Eien7ZKxs9cKx0yk+Sr204J+ZndapUlmzlzpiPY/fHHH6WwsNDf/QIAAIAfRUVGSJ8OGeZ73WI4XIJdnwNeZ2effbZs3rzZP70BAABAjclKq2O+bs8tlLzCQxIuqh3w6i5rAAAACH71EmOlfmKM+X797jwJF9UOeAEAAGC9Wd71u/IlXFQ74P3Pf/4jGRmH80EAAAAQ3FoeCXizdx2QcOFxlQZ3Bg0a5J+eAAAAoMa1cgS8zPC6tGPHjjLXlyxZIkOHDpWTTjpJLrnkErMDGwAAAIJXyzCc4fUq4M3MzHQEvT/99JP06NFDNmzYYALe3Nxc6du3r8yePbum+goAAIBqapl6JId3d/jM8Eb7WpHhkUcekauuukreeOMNx7Hhw4fLmDFjZPr06f7tJQAAAPy6aG1PXpHk5BdLypGqDaHM50VrS5culWHDhpU5ptd///13f/QLAAAANaBOXLSkJ8WZ77PDpDSZ1wHv/v37TfpCfHy8xMUdHiw7PZafHz7T4wAAANYuTZYn4cDrgLddu3ZSv359Wb9+vfzyyy9lblu2bJk0btzYn/0DAABADQW868Ik4PUqh3fmzJkVFrE5y87OlhtuuME/PQMAAECNyAqzGV6vAt7TTjut0tvvuOOO6vYHAAAAtVaaLE/CQaQvFRoAAABg/c0n1u/KC4sYz+OAt1OnTjJx4kQpKiqqtN3q1avlpptukqeeesof/QMAAICfNWuQKBERIvsLD8muA5XHdmGV0vDiiy/KfffdJzfffLPZYOK4444zC9S0MsPevXtl+fLlMnfuXLNw7dZbbzVBLwAAAIJPfEyUNE5JkM37Dsr63XnS8EiZMgn3gLd3796mKoMGtZMmTZL33nvP7LJ28OBBSUtLk27dusmQIUPkyiuvNFUcAAAAELxaNaxjAl7N4z2+ZQMJZV4tWlMnn3yyuQAAAMDaWwzPWb0rLBau+bzTGgAAAKwrK4xKkxHwAgAAhCF7wMsMLwAAAEJ7hnd3npSWhnZpMgJeAACAMNS0foJER0ZIQXGpbMstkFBGwAsAABCGoqMiTT3ecMjj9Srg1TJk//nPfxybT4wfP76m+gUAAIBaSmtYR8D7N62xq7V4L7zwQhP0ai1eAAAAWLc0WTjM8HpVh/fQoUPy+uuvy5QpU+SWW26puV4BAACgxmU1DI9KDV7N8CYnJ5uvAwYMkBYtWshvv/1WU/0CAABADcs6MsObvTu0A16vZnhvvfVWM8sbHR0to0aNkrp169ZczwAAAFArM7yb9uTLoZJSs5AtFHn1rM4//3wT7KqIiAgZPnx4hTaa4wsAAIDgl5kcL3HRkVJcYpPN+w5KqPIpjD9w4IAcPFh2UJYsWSLnnXee9OzZ0199AwAAQA2KjIxwLFwL5TxerwLeTZs2Sa9evSQlJcVc7rrrLsnPz5chQ4aYQLdOnTry008/1VxvAQAA4Fct0xJDPuD1Kof3nnvukYKCAhk3bpx88skn5uucOXNMsLt27Vpp2rRpzfUUAAAAftfSvsUwAe9hs2fPNoHuCSecIJdddpk0atTI1OZ1lcsLAACA4NcqDDaf8CqlYfv27ZKVlWW+T09Pl8TERDn77LNrqm8AAACorc0ndhPw/n2HyMgy38fGxvq7TwAAAKjl0mSb9x6UwkMlIuGe0mCz2aRdu3amJJm9WkO3bt3KBMFqz549/u0lAAAAakTDunFSJzZK8opKTD3eNulJEtYB75tvvllzPQEAAECti4iIMLO8SzfnyrqdeQS8Q4cOrbmeAAAAIGB5vEs354ZsHm9o7h8HAAAArys1ZO/Kl1BEwAsAABDmWjoC3gMSigh4AQAAwlxLx+YTzPACAAAghFMatuUWSH7RIQk1BLwAAABhrl5irNRLjAnZWV6vqjTYlZSUyFtvvSXTp0+XHTt2SGlpaZnbZ8yY4a/+AQAAoBZkpdWRXzfuk+xdedKxcbJIuAe8d9xxhwl4zznnHOncubNjIwoAAABYU1bq4YA3FEuT+RTwTpw4UT788EMZMGCA/3sEAACAgMzwKt18ItT4lMMbGxsrbdq08X9vAAAAENhKDbsJeI27775bxo0bJzabzf89AgAAQMBmeLN3hV7A61NKw9y5c2XmzJnyzTffSKdOnSQm5vCqPrtPPvnEX/0DAABALc7w7skrkpyDxZKSUDa+C7sZ3nr16slFF10kp512mqSlpUlKSkqZizfGjx8vLVu2lPj4eOnZs6csXLiw0vb79u2TW265RTIzMyUuLk7atWsnU6ZMqdY5AQAAwl3duGhpmBRnvl8fYrO8Ps3wvvnmm3558EmTJsldd90lr776qglMx44dK/3795dVq1ZJenp6hfZFRUXSt29fc9tHH30kTZo0kQ0bNpgA3NdzAgAA4O+0hp37C01awzHN/o6vrC6gG088//zzMmzYMLnmmmukY8eOJkhNTEyUCRMmuGyvx/fs2SOfffaZnHTSSWYWV2eZjznmGJ/PCQAAgL9Lk4ViHq9PM7xKZ1i1NNnGjRvNzKuzxYsXV3l/vc+iRYvk/vvvdxyLjIyUPn36yLx581ze54svvpBevXqZlIbPP/9cGjZsKIMGDZL77rtPoqKifDqnKiwsNBe73Nxc87W4uNhcapr9MWrjsayGsXGNcXGPsXGNcXGNcXGPsQnPcWneIN58Xbtjv9fPsbbHxpvH8SngfeGFF2TUqFFy9dVXm8BTZ1PXrl0rP//8swlGPbFr1y6zY1tGRkaZ43p95cqVLu+zbt06s4vblVdeafJ216xZIzfffLN5wqNHj/bpnOrJJ5+UMWPGVDj+3Xffmdnh2jJt2rRaeyyrYWxcY1zcY2xcY1xcY1zcY2zCa1x279bNxKLkt3VbZcqUv4J6bPLz82s24H355Zfltddek4EDB5od1+69915p1aqVPPzwwybloKboFsaah6uPrTO63bt3l82bN8szzzxjAl5f6Yyw5v06z/A2a9ZM+vXrJ8nJNb+1ngbs+uLQ/OTyFS/CHWPjGuPiHmPjGuPiGuPiHmMTnuPSdvsBmfDnT7L3UIycfXY/r3bTre2xsX8iX2MBr6YxnHjiieb7hIQE2b9/v/n+qquukhNOOEFeeumlKs+h1R00aN2+fXuZ43q9UaNGLu+jlRl0APV+dh06dJBt27aZdAZfzqm02oNeytPHqs0Xc20/npUwNq4xLu4xNq4xLq4xLu4xNuE1Lq0ykkVj3AOFhyS3yCZpdWODdmy8eQyfFq1p8GifyW3evLnMnz/ffJ+dne3xZhS6W5vO0E6fPr3MDK5e1zxdV3ShmqYxaDu7P//80wTCej5fzgkAAIDD4mOipHFKQsgtXPMp4D3zzDPNAjKl+bt33nmnmb6+/PLLTX1eT2kaweuvvy5vv/22rFixQm666SbJy8sz51RDhgwpswBNb9dA+4477jCB7tdffy1PPPFEmbzhqs4JAACA8NpxzaeUBs2htc+yarCZmpoqP/30k5x//vly4403enweDZB37txpcn81LaFr164ydepUx6IzTZ3QKgt2mlf77bffmgC7S5cupg6vBr9apcHTcwIAAMC9lmmJMndNaG0+4VPAq0GocyB6xRVXmIsvbr31VnNxZdasWRWOaWqCPYXCl3MCAADAvay0uiE3w+vzxhNz5syRwYMHmwBUKyWo//3vfzJ37lx/9g8AAAC1KCvtcEnWsA94P/74Y7Ndr1Zo+PXXXx2bNuTk5JicWgAAAFh7hnf97jwpLfWsGEFIBryPP/642bJXF4c5l4TQKgqe7LIGAACA4NS0foJERUZIQXGpbN9fIGEb8K5atUpOPfXUCsdTUlJk3759/ugXAAAAAiAmKlKaNziS1rAzNNIafK7Dq/Vwy9P8Xd1xDQAAANbVMvVIwLs7jAPeYcOGmXJgCxYsMFvObdmyRd577z0ZMWKEqXsLAAAA62ppr8UbIjO8PpUlGzlypKnD27t3b8nPzzfpDbo1rwa8t912m/97CQAAgFqf4Z2/brfMW7tbemQ1MHm9YRXw6qzuqFGj5J577jGpDQcOHJCOHTtK3bqHV/UBAADAmqYu3Srjph9OXV26JVcGvj5fMlPiZfR5HeWszpkSVnV4VWxsrAl0e/ToQbALAAAQAsHuTe8ulj15RWWOb8spMMf19pCf4b322ms9ajdhwgRf+wMAAIAAKCm1yZgvl4uryrt6TBMa9Pa+HRtZLr3Bq4D3rbfekhYtWki3bt3EZguNQsQAAAAQWZi9R7bmuK+7q5Gf3q7terVOlZANeLUCwwcffCDZ2dlyzTXXmK2FGzRoUHO9AwAAQK3Y4eEmE562s2wO7/jx42Xr1q1y7733ypdffinNmjWTyy67TL799ltmfAEAACwsPSner+0svWhNy48NHDhQpk2bJsuXL5dOnTrJzTffLC1btjTVGgAAAGA9PbIamGoM7rJz9bjeru3CqkpDZGSkKVGms7slJSX+6xUAAABqVVRkhCk9psoHvfbrervVFqz5FPAWFhaaPN6+fftKu3bt5I8//pCXXnpJNm7cSGkyAAAACzurc6a8MvhYaZRSNm1Br+txq9bh9WrRmqYuTJw40eTuaokyDXzT0tJqrncAAACoVWd1zjSlxyb/sklGfvKHJMdHy9z7zrTkzK5PAe+rr74qzZs3l1atWskPP/xgLq588skn/uofAAAAallUZIT07ZhhAt7cgkOmRm/YBLxDhgwxObsAAAAIbfUTYyUmKkKKS2yy80ChNKmXIFbl9cYTAAAACH2RkRHSsG6cbMkpkB25BZYOeKtVpQEAAAChKz358OK17bmFYmUEvAAAAHApIznOsrurOSPgBQAAgEsZjhleAl4AAACEoPSkIzO8pDQAAAAgpHN49xPwAgAAIIRTGnaQ0gAAAIBQXrS2nYAXAAAAoSgj6fAM7978Yik8VCJWRcALAAAAl+olxkhs1OFwcaeF83gJeAEAAOBSRESENDxSqcHKm08Q8AIAAKDqzScsnMdLwAsAAICqKzWQ0gAAAIBQ3nxiOzO8AAAACOnNJ3KZ4QUAAEBIpzQUiFUR8AIAAMCDRWvM8AIAACAEpR/ZfGI7M7wAAAAI5RneffnFUlBszd3WCHgBAADgVkpCjMRGW3u3NQJeAAAAVLrbmiOP16JpDQS8AAAA8CyP16IL1wh4AQAAUCn7DK9VN58g4AUAAEClmOEFAABASMuw+OYTBLwAAACoVHqStTefIOAFAACARzO85PACAAAgJGWwaA0AAAChLP3IDG9uwSFL7rZGwAsAAIBKJcdHS9yR3dasmMdLwAsAAAAPdls7ksdrwUoNBLwAAAAI6TxeAl4AAAB4nMdrxc0nCHgBAADgeS1eUhoAAAAQ0rut5TLDCwAAgBCUQQ4vAAAAQllGknV3WyPgBQAAgMeL1nbsJ6UBAAAAISj9SErD/oJDkl90SKyEgBcAAABVSoqLloSYKEsuXCPgBQAAgIe7rVlz4RoBLwAAAEI6j5eAFwAAAF5tPsEMLwAAAEJ784n9zPACAAAgBGWQwwsAAIBQlmHR7YUJeAEAAOCRhvYc3v3M8AIAACAEZTDDCwAAgHAIeA8UHpK8QuvstkbACwAAAI/UjYuWOrFRlqvUQMALAAAArzefsFKlBgJeAAAAhPTmE0ER8I4fP15atmwp8fHx0rNnT1m4cKHbtm+99ZbZy9n5ovdzdvXVV1doc9ZZZ9XCMwEAAAhtGRZcuBYd6A5MmjRJ7rrrLnn11VdNsDt27Fjp37+/rFq1StLT013eJzk52dxupwFteRrgvvnmm47rcXGH340AAACg+ptP7LBQabKAz/A+//zzMmzYMLnmmmukY8eOJvBNTEyUCRMmuL2PBriNGjVyXDIyMiq00QDXuU39+vVr+JkAAACEvvQkew4vM7weKSoqkkWLFsn999/vOBYZGSl9+vSRefPmub3fgQMHpEWLFlJaWirHHnusPPHEE9KpU6cybWbNmmVmiDXQPfPMM+Xxxx+X1NRUl+crLCw0F7vc3Fzztbi42Fxqmv0xauOxrIaxcY1xcY+xcY1xcY1xcY+xcY1xEUmtczh83JZzsMw41PbYePM4ETabzSYBsmXLFmnSpIn89NNP0qtXL8fxe++9V3744QdZsGBBhftoILx69Wrp0qWL5OTkyLPPPiuzZ8+WZcuWSdOmTU2biRMnmlnirKwsWbt2rTzwwANSt25dc9+oqMOlNJw98sgjMmbMmArH33//fXMeAAAAHLYmR+TF5dHSMN4mD3YrkUDJz8+XQYMGmXhQ011DKuB1Fd136NBBBg4cKI899pjLNuvWrZPWrVvL999/L7179/ZohrdZs2aya9euKgfQH/Q5TJs2Tfr27SsxMTE1/nhWwti4xri4x9i4xri4xri4x9i4xriIrN+dJ33H/mjq8S55qHfAxkbjtbS0NI8C3oCmNGgndcZ1+/btZY7rdc279YQOaLdu3WTNmjVu27Rq1co8lrZxFfBqvq+rRW167tp8Mdf241kJY+Ma4+IeY+Ma4+Ia4+IeY+NaOI9L4/p1zde8ohIpLI0wm1EEYmy8eYyALlqLjY2V7t27y/Tp0x3HNC9XrzvP+FampKRE/vjjD8nMzHTb5q+//pLdu3dX2gYAAABVqxMX7QhyrVKLN+BVGrQk2euvvy5vv/22rFixQm666SbJy8szVRvUkCFDyixqe/TRR+W7774zaQqLFy+WwYMHy4YNG+T66693LGi75557ZP78+bJ+/XoTPF9wwQXSpk0bU+4MAAAA1ZN+pDSZVQLegNfhvfzyy2Xnzp3y8MMPy7Zt26Rr164ydepUR6mxjRs3msoNdnv37jVlzLStVmDQGWLNAdaSZkpTJH7//XcTQO/bt08aN24s/fr1M/m91OIFAACovoykeFm3M0927rdGabKAB7zq1ltvNRdXtLyYs3//+9/m4k5CQoJ8++23fu8jAAAArDnDG/CUBgAAAFhze+HtFtl8goAXAAAAXklPYoYXAAAAYTDDu8MiObwEvAAAAPAt4GWGFwAAAKGd0lAoAdy012MEvAAAAPCpSsPB4hLZX3hIgh0BLwAAALySGBstSfGHq9vusEClBgJeAAAAhHQeLwEvAAAAfM/j3U/ACwAAgBCUYaHNJwh4AQAAENLbCxPwAgAAwGsZSdbZfIKAFwAAAD7P8LJoDQAAACEpgxxeAAAAhENKw/bcgqDfbY2AFwAAAD6nNBQeKpXcguDebY2AFwAAAF6Lj4mSZMdua8Gdx0vACwAAgJDO4yXgBQAAQDUDXmZ4AQAAEMqlyfYzwwsAAIAQlO5UqSGYEfACAADAJxmOGV4CXgAAAISgDBatAQAAIJRlMMMLAACA8MjhLQzq3dYIeAEAAOCThkmHZ3iLDpVKzsHg3W2NgBcAAAA+77ZWLzEm6NMaCHgBAADgs4wjaQ079hdJsCLgBQAAgB82n2CGFwAAACG8cG1HEJcmI+AFAACAH0qTEfACAAAghDef2EHACwAAgFCUwQwvAAAAQllDR5UGAl4AAACE+AyvLUg3WyPgBQAAQLV3WysusUl+kG62RsALAAAAn8VFR0mDOrHm+5wg3XuCgBcAAADVkn5kljenOEKCEQEvAAAAqiX9SGkyZngBAAAQktLrHk5pWLE3QhZk75GS0uBavUbACwAAAJ9NXbpVpi7bZr5fsidSBk/4RU5+eoY5HiwIeAEAAOATDWpvenexHCgsKXN8W06BOR4sQS8BLwAAALymaQtjvlwurpIX7Mf09mBIbyDgBQAAgNcWZu+RrTkFbm/XMFdv13aBRsALAAAAr+3YX+DXdjWJgBcAAABeS0+K92u7mkTACwAAAK/1yGogmSnx4m6rCT2ut2u7QCPgBQAAgNeiIiNk9Hkdzfflg177db1d2wUaAS8AAAB8clbnTHll8LHSKKVs2oJe1+N6ezCIDnQHAAAAYF1ndc6Uvh0bybw1O+S7OQuk3yk9pVeb9KCY2bUj4AUAAEC1aHDbM6uB7F5hM1+DKdhVpDQAAAAgpBHwAgAAIKQR8AIAACCkEfACAAAgpBHwAgAAIKQR8AIAACCkEfACAAAgpBHwAgAAIKQR8AIAACCksdOaCzabzXzNzc2tlccrLi6W/Px883gxMTG18phWwdi4xri4x9i4xri4xri4x9i4xrgEz9jY4zR73FYZAl4X9u/fb742a9Ys0F0BAABAFXFbSkpKZU0kwuZJWBxmSktLpV27drJo0SKJiKi4F/Txxx8vP//8c5XHPb2u71A0uN60aZMkJyf77Xm462d17+Pp86/seGVj4/x9sIxNdcbF3W3ejovz9WAZF0/vw2vG+zbh/Jrxdlyq85qpqXGp6nn42p7XjPe3+/o3u/wxXjM/B91rRkNYDXYbN24skZGVZ+kyw+uCDlpsbKzbdwtRUVEuf5Dlj3t7Xb/35wvEXT+rex9Pn39lxysbC1ftAz021RkXd7d5Oy6urgd6XDy9D68Z79uE82vG23Hxx2vG3+NSWV+r057XjPe3+/o3u/wxXjPJQfmaqWpm145Fa27ccsstXt9W/ri31/3Nl/N7ch9Pn39lxysbi5oeF18eozrj4u42b8fF035UB68Z93jN1N5rxh///7o6xmvG9TFeM+7b8Zqx7mumPFIagoB+BKDvUHJycvz+btHqGBvXGBf3GBvXGBfXGBf3GBvXGBdrjg0zvEEgLi5ORo8ebb6iLMbGNcbFPcbGNcbFNcbFPcbGNcbFmmPDDC8AAABCGjO8AAAACGkEvAAAAAhpBLwAAAAIaQS8AAAACGkEvAAAAAhpBLwWlJ+fLy1atJARI0YEuitBY9++fXLcccdJ165dpXPnzvL6668HuktBQ7d4PP3006Vjx47SpUsXmTx5cqC7FDQuuugiqV+/vlxyySUSzr766itp3769tG3bVv773/8GujtBhddIRfyf4h5/i4I3fqEsmQWNGjVK1qxZY/arfvbZZwPdnaBQUlIihYWFkpiYKHl5eeY/ml9++UVSU1Ml3G3dulW2b99u/gPetm2bdO/eXf7880+pU6eOhLtZs2aZfdjffvtt+eijjyQcHTp0yAQuM2fONAXj9fXx008/8btzBK+Rivg/xT3+FgVv/MIMr8WsXr1aVq5cKWeffXaguxJUdJ9t/Q9G6X82+j6O93KHZWZmmj9MqlGjRpKWliZ79uwJdLeCgs5SJSUlSThbuHChdOrUSZo0aSJ169Y1/7d89913ge5W0OA1UhH/p7jH36LgjV8IeP1o9uzZct5550njxo0lIiJCPvvsswptxo8fLy1btpT4+Hjp2bOn+WPjDf0Y4MknnxSrqY2x0Y+SjjnmGGnatKncc8895j9hK6iNsbFbtGiRmYHQd9fBrjbHxcqqO05btmwxwa6dfr9582YJBbyGan5crPR/Sm2NjVX/FtX0uAQ6fiHg9SP9+EJf5PpDd2XSpEly1113mW33Fi9ebNr2799fduzY4Whjz/spf9E/Sp9//rm0a9fOXKympsdG1atXT3777TfJzs6W999/33zkZgW1MTZKZ2CGDBkir732mlhBbY2L1fljnEIVY1Oz42K1/1Nqa2ys+reoJsclKOIXzeGF/+nQfvrpp2WO9ejRw3bLLbc4rpeUlNgaN25se/LJJz0658iRI21Nmza1tWjRwpaammpLTk62jRkzxmY1NTE25d100022yZMn26ympsamoKDAdsopp9jeeecdmxXV5Gtm5syZtosvvtgWCnwZpx9//NF24YUXOm6/4447bO+9954t1FTnNRRKrxF/jYvV/0+prf93rPq3yN/jEgzxCzO8taSoqMh89NOnTx/HscjISHN93rx5Hp1DPwrQ1bHr1683yd7Dhg2Thx9+WKzOH2Oj76B1YYnKyckxH7/oqnOr88fY6P9PV199tZx55ply1VVXSSjwx7iEA0/GqUePHrJ06VKTxnDgwAH55ptvzMxMqOM15Pu4hOL/Kf4am1D9W1TdcQmG+IWAt5bs2rXL5DllZGSUOa7XdZVrOPPH2GzYsEFOOeUU8zGKfr3tttvk6KOPFqvzx9j8+OOP5uMmzbnSj/j18scff4iV+ev3Sf9DvvTSS2XKlCkm3y7UAh1Pxik6Olqee+45OeOMM8xr4+677w6LFeWevoZC/TXiy7iE4v8p/hqbUP1bFArxTXSgOwDf6Ltr/E1nqZYsWRLobgSlk08+WUpLSwPdjaD0/fffB7oLQeH88883F1TEa6Qi/k9xj79FwRu/MMNbS3SVppYrKZ+8rte1rEs4Y2zcY2xcY1w8wzi5x9i4xri4x9hYe1wIeGtJbGysKc49ffp0xzF9h6zXe/XqJeGMsXGPsXGNcfEM4+QeY+Ma4+IeY2PtcSGlwY90wYfuIGKnJUn0o40GDRpI8+bNTcmOoUOHmm0H9WOPsWPHmlIf11xzjYQ6xsY9xsY1xsUzjJN7jI1rjIt7jE0Ij0ut1oQIcVq6Roe0/GXo0KGONi+++KKtefPmttjYWFPGY/78+bZwwNi4x9i4xrh4hnFyj7FxjXFxj7EJ3XGJ0H8CHXQDAAAANYUcXgAAAIQ0Al4AAACENAJeAAAAhDQCXgAAAIQ0Al4AAACENAJeAAAAhDQCXgAAAIQ0Al4AAACENAJeAPDQrFmzJCIiQvbt2+fxfR555BHp2rVrjfRn9+7dkp6eLuvXr/e5f8HGl+dwwgknyMcff1yj/QJgbQS8AOBk3rx5EhUVJeecc44Eu3/+859ywQUXSMuWLSWcPfjggzJy5EgpLS0NdFcABCkCXgBw8sYbb8htt90ms2fPli1btkiwys/PN3297rrrJNydffbZsn//fvnmm28C3RUAQYqAFwCOOHDggEyaNEluuukmM8P71ltvVdpeb69Xr5589tln0rZtW4mPj5f+/fvLpk2bKrT93//+Z2ZiU1JS5IorrjABmt3UqVPl5JNPNudKTU2Vc889V9auXVvpY0+ZMkXi4uLMx/mV0Y/6O3XqZNrq4z/33HNlbt+6dat5rgkJCZKVlSXvv/++aTd27NhK0w569OghderUMX0+6aSTZMOGDY7bv/zySzn++OPNeKSlpclFF11UZhyOO+44SUpKkkaNGsmgQYNkx44dlT6HuXPnyimnnGL62KxZM7n99tslLy/PcbvOyA8YMEAmTpxY6XkAhC8CXgA44sMPP5SjjjpK2rdvL4MHD5YJEyaIzWarcqZVUwveeecd+fHHH03uqQa0zjR41aD4q6++MpcffvhBnnrqKcftGrzddddd8ssvv8j06dMlMjLSBImVfUQ/Z84c6d69e6V9W7RokVx22WWmP3/88YfJJ37ooYfKBPJDhgwxM9kaxGpw/Nprr1UagB46dEguvPBCOe200+T33383KSA33HCDybtVX3/9tem7BqC//vqreT4aHNsVFxfLY489Jr/99psZE80/vvrqq90+no7dWWedJRdffLF5PH1DogHwrbfeWqadPoaOCQC4ZAMAGCeeeKJt7Nix5vvi4mJbWlqabebMmY7b9Xv9b3Pv3r3m+ptvvmmuz58/39FmxYoV5tiCBQvM9dGjR9sSExNtubm5jjb33HOPrWfPnm77sXPnTnOOP/74w22bCy64wHbttdeWOVa+f4MGDbL17du3TBt97I4dO5bp688//+y4ffXq1ebYv//9b5ePu3v3bnP7rFmzXN7eq1cv25VXXmnzlD62nm///v0un8N1111nu+GGG8rcZ86cObbIyEjbwYMHHcc+//xzc6ykpMTjxwYQPpjhBQARWbVqlSxcuFAGDhxorkdHR8vll19u8mQro+3043s7nSHWj/lXrFjhOKYpAvoRvl1mZmaZWdTVq1ebx23VqpUkJyc7FqFt3LjR7eMePHjQpAxURvug6QbO9Lo+XklJiXnO2v9jjz3WcXubNm2kfv36bs/ZoEEDMyOrqRvnnXeejBs3zqRF2C1ZskR69+5d6ayz3q958+ZmTHSmuLLnqjPBOiNdt25dx0UfW2e/s7OzHe003UGPFRYWVjomAMITAS8AHFmsph/XN27c2ASBennllVfMx/w5OTnVOndMTEyZ6/rxv3O6ggaAe/bskddff10WLFhgLqqoqMjtOTU3du/evRIIb775pkllOPHEE02KQbt27WT+/PmOwNMdTd3QYFWD+vfee09+/vln+fTTTyt9rppXfeONN5pA2n7RIFiD9tatWzva6fhpTnFljw8gfBHwAgh7GuhqDq4u6CofWGkA/MEHH1R6X829tdNZU83j7dChg8e1dPU+WlpLZ0b1fp4Est26dZPly5dX2kbPpXnFzvS6Bqi60EtzlbX/mmtrt2bNGo8f//7775effvpJOnfubBa7qS5dupi8XVdWrlxpnq/mL+siNJ0Nr2rBms4+6/PUmefyl9jYWEe7pUuXmj4BgCsEvADCni4k0yBPS3xp8OZ80cVSlaU16OytljHTWVn9uF4/7tfKCc4LtSqj6QNamUEXi2mwOWPGDLOArSo6U7ps2bJKg9O7777bBJ+6SOzPP/+Ut99+W1566SUZMWKEuV0Dzj59+phFZ5rOoYGvfq+zpPZFaOVpGoEGujrDq5UZvvvuOzPbag/wR48ebd4g6FdNqdDFck8//bS5TdMYNEh98cUXZd26dfLFF1+YvlXmvvvuM0G1LlLTNyH6WJ9//nmFRWu6YK1fv35VjhuA8ETACyDsaUCrgZ+WDCtPA16dwdUKAa4kJiaaoEzLa2l+rOaY6sf8ntKKDFpOS4NlDbDvvPNOeeaZZ6q839FHH21mP7WyhDv22/X8eu6HH35YHn300TJVEXRmOyMjQ0499VRTXWHYsGEmt9ZdfrA+X52p1XHRmWINkG+55RaTdqBOP/10mTx5sglmdYe5M8880wTTqmHDhiYfV2/v2LGjmel99tlnK32eOmOsVS00YNdZYZ3F1eehM+92mzdvNkHxNddcU+W4AQhPEbpyLdCdAAAr0uBt+PDhAdvKV0uA3XPPPebjfA2c/eGvv/4ytW6///77ShefBRN9w6Ez3TpLDgCuRLs8CgAIerphhH7ErzOcGqT6QlModGGYzhhrtYV7773XVInQGV+rSE9P9ygNBED4IuAFAAvTGebq0I0gHnjgAZNTq6kMWnlBKyiUrywRzDRXGQAqQ0oDAAAAQhqL1gAAABDSCHgBAAAQ0gh4AQAAENIIeAEAABDSCHgBAAAQ0gh4AQAAENIIeAEAABDSCHgBAAAQ0gh4AQAAIKHs/wH3y+k7d/XsSAAAAABJRU5ErkJggg==",
|
||
"text/plain": [
|
||
"<Figure size 800x500 with 1 Axes>"
|
||
]
|
||
},
|
||
"metadata": {},
|
||
"output_type": "display_data"
|
||
},
|
||
{
|
||
"name": "stdout",
|
||
"output_type": "stream",
|
||
"text": [
|
||
"Максимальный R²: 0.7321\n",
|
||
"Лучшее alpha: 494.1713361323828\n"
|
||
]
|
||
}
|
||
],
|
||
"source": [
|
||
"import matplotlib.pyplot as plt\n",
|
||
"from sklearn.linear_model import Lasso\n",
|
||
"from sklearn.preprocessing import StandardScaler\n",
|
||
"from sklearn.pipeline import make_pipeline\n",
|
||
"from sklearn.model_selection import cross_val_score\n",
|
||
"import numpy as np\n",
|
||
"\n",
|
||
"# Сетка значений alpha\n",
|
||
"alphas = np.logspace(-4, 4, 50)\n",
|
||
"r2_scores = []\n",
|
||
"\n",
|
||
"for alpha in alphas:\n",
|
||
" lasso = make_pipeline(StandardScaler(), Lasso(alpha=alpha, random_state=42))\n",
|
||
" scores = cross_val_score(lasso, X_train, y_train, cv=5, scoring='r2')\n",
|
||
" r2_scores.append(np.mean(scores))\n",
|
||
"\n",
|
||
"# Построим график\n",
|
||
"plt.figure(figsize=(8,5))\n",
|
||
"plt.semilogx(alphas, r2_scores, marker='o')\n",
|
||
"plt.xlabel(\"Alpha (log scale)\")\n",
|
||
"plt.ylabel(\"Mean R² (5-fold CV)\")\n",
|
||
"plt.title(\"Зависимость R² от alpha в Lasso\")\n",
|
||
"plt.grid(True)\n",
|
||
"plt.show()\n",
|
||
"\n",
|
||
"max_idx = np.argmax(r2_scores)\n",
|
||
"max_r2 = r2_scores[max_idx]\n",
|
||
"best_alpha = alphas[max_idx]\n",
|
||
"\n",
|
||
"print(f\"Максимальный R²: {max_r2:.4f}\")\n",
|
||
"print(f\"Лучшее alpha: {best_alpha}\")\n"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": null,
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"data": {
|
||
"image/png": "iVBORw0KGgoAAAANSUhEUgAAArMAAAHbCAYAAADYqBKxAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjEsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvc2/+5QAAAAlwSFlzAAAPYQAAD2EBqD+naQAAYu5JREFUeJzt3Qd8VFX2wPGTHgIkoSf0JiUgXYqKBSmKfXUtiCC66KLYUFEsIHb/KguLrCgrdgVR7EgRQUE6CNJ7b4FACgkpJPP/nAuTnSQzmZm0ab/v5zMk896dN3duJuTMfeeeF2SxWCwCAAAA+KBgT3cAAAAAKCmCWQAAAPgsglkAAAD4LIJZAAAA+CyCWQAAAPgsglkAAAD4LIJZAAAA+CyCWQAAAPgsglkAAAD4LIJZAEC5ueyyy8ytpI9t27at+Is9e/ZIUFCQfPjhh07b3nXXXdK4ceMK6Rfg6whmAS82efJk6devn9SpU0fCwsIkLi5OLr30Uvn4448lLy/P091DCWmgokGN9RYRESEtWrSQ0aNHS2ZmZoG2Tz75pFx00UXmdsEFF8iSJUs81m/YD7htf5aVKlWSdu3ayfjx4/kdBSpIaEU9EQD3ffTRRxIfHy/PPfecREdHS3JysixbtswEQz///LN88cUXnu4iSkgD2P/+97/m+5SUFPnuu+/kxRdflJ07d8pnn32W3+6ee+6R119/3XyvAdIdd9whu3fv9li/UVT9+vXl1VdfNd8fP35cPv/8c3n00Ufl2LFj8vLLL+e3a9SokZw+fdp8MAVQdghmAS/2+++/F/nD99BDD0mNGjXk7bffNn9AORXpm0JDQ2XgwIH59++//3658MILzQeUcePGmdl4pTO2VhaLRYKDOaHmbWJiYgr8LP/5z39Kq1atZOLEifLCCy9ISEiI2a4zt5GRkR7sKeCf+F8R8GKOZnCsAaxtYKMze1dffbXUrVvXzPo1a9bMzPTl5uYWe1q0Zs2a5nEbNmwo0E73Pf/88wW2vfHGG2Z74RxIPTWubTXw0j/WOpv8t7/9zcwyFpcr+MADD5jtOtNspW10W3h4uJnZsrV06dL8fq9atarAvhkzZkjnzp3NaV59TRpcHDx4sMjYbdmyRW655RapVauWaduyZUt55plnzD59DbZjY++2cOHCcsnn1GNffPHFJmDdtWtXkf3689H+aaDrTHp6ujz22GPSoEED817Q1/jmm2+aY9s+X3E3Z3muH3zwgfTq1Utq165tniMhIUHeeecdp33T8dPjT58+XZ5++mmTOlO5cmW57rrrZP/+/XYfs2nTJrn88sslKipK6tWrJ//3f/9XYH92drZJ0dCfvwaWeryePXvKggULxBX6+2R93fo7pX269dZbZd++fVIS+jugKSFpaWmSmJiYv93R78G3335r3kv6OP36zTff2D1uUlKS3HnnneYsTWxsrAwePFjWrVtn95j6Pr/55pulevXq5rhdunSR77//vkSvB/B2zMwCPkDTC86cOWP+OK5evdoEJrfddps0bNgwv43+MatSpYqMGDHCfP3111/NH/jU1FQThNrSWSMN4DS40YBTA6T+/fsX+8db+2A9lWpLg+VrrrlG5s+fb/r08MMPm37OmzfPBGAaVNuzY8cOmTJlisPn09msTz/91JyutQ2g9A9z4bxSfe1DhgwxAYT28ejRozJhwgT5448/5M8//zR/+NVff/1lghz9kHDvvfeaIEZf/w8//GBOB2sA3rx58/zj6nO3bt3atLXS++VFgx1VrVq1Ats1uL3qqqtkzJgxcv311xd7DP2ZamCogZymKHTo0EHmzJkjTzzxhAnu//Wvf5l2n3zySf5jFi1aJO+9957Zpx8ElHVm2BENXNu0aWOeS2eZdQx1dlnzRPVDijM63hqEaU6wBnyaQtG7d29Zu3at+ZBhdfLkSbnyyivNz0Y/hHz11VfmMeeff74ZE6XvcU3ZuP3222Xo0KHm/ff++++bfPMVK1aYMXBG3xf6c9b+6/tW+3Po0CEzNiVhDVyt7z1H5s6dKzfddJP5MKDvXQ1Y9b2sqQu2tF/XXnuteT3Dhg0zv8P6AVYD2sI2btxocqw18H/qqadMcP/ll1/KDTfcIF9//bXceOONJXpNgNeyAPB6LVu21Cm1/NugQYMsOTk5BdpkZGQUedx9991niYqKsmRmZuZvu/TSS83N1tNPP22Om5iYmL9N748ZMyb//siRIy21a9e2dO7cucDjp06datqOGzeuyPPn5eWZr7t37zZtPvjgg/x9t9xyi6Vt27aWBg0aWAYPHpy/Xdto29tvv91y/vnn529PT0+3REdHWwYMGGD2r1y50mzPzs42/dJjnT59Or/9jz/+aNqNHj06f9sll1xiqVq1qmXv3r12+1lYo0aNCvTNlo5BmzZtLCWhx6xcubLl2LFj5rZjxw7Lm2++aQkKCjKvw7Y/O3fuNP2YNGmSS8f+9ttvzet+6aWXCmy/+eabzfH1uQqzjrn+nFxl7/3Wr18/S9OmTQtsK/x+W7BggXmuevXqWVJTU/O3f/nll2b7hAkTCjxWt3388cf527KysixxcXGWm266KX/bmTNnzHZbJ0+etNSpU8dy9913O30t9n7O+j7T3x1ntI+tWrXK/1lu2bLF8sQTT5h+X3311QXa2vs96NChgyU+Pt6SnJycv23u3LmmnfbL6uuvvzbbxo8fn78tNzfX0qtXryLHvOKKK8zvju3vvb6nLrzwQst5553n9DUBvoY0A8AH6IykznTqwiCdbdOvtrOFynY2S2emdCGKzjZlZGSYU462cnJyzH49ja+n7vW0pq7Ats7KFaYzepr/pwvRdNbXls706OMefPDBIo/TmSl7dHZZ0wJ0JspRDqieTtV+W9MJ9Hn0FPIVV1xRoJ3u15k9nRW0zUfU1Amdvfrpp5/MfX2tmoN89913F5jRLq6fzuistI6j3vRUtzs0FUBTHfSms8GPP/64mU3T2Tbb/ug46MyjzqxZy1zpIiJHZs2aZWa1NbfalqYd6GcUXThYFmzfb7qATcdAK23oLLLed2bQoEFStWrV/Pt6SlzTU7T/tvT9ZpuPquknXbt2LZCKoa9Xt1tnME+cOGHOZOip9TVr1rj0erKyssxr0PeS/q7pmY3C7zVH9H1q/Vnqe07PhOiMtbMSXIcPHzYz0Tq7qu9tqz59+piZWluzZ882ZxR05tlKf3cKz4Lra9e+6yy29f8BvemMr85Ub9++3W76DeDLSDMAfECPHj3yvx8wYIA0bdrUpAloYKsBkPXU4rPPPmv+kGnwY6twcKHlnfQPr9V5551n8vYcBXV6eltzce+77z5zmteWnqbXnEw91ewqPfWpgbamJwwfPtxuG+2fBqRTp041QYl+1T/6hYPfvXv3mq/ah8I0sFi8eLH53hr8lGWeqzWIUdovDUp1rPRn5IwG3npqXh04cMDkgWogZRskKk2VcIeOh/6sbANF2/QI63iVlvZLX6t+GNIPTIXfb7bBmT36nrOl7z0dP2uqhZWebi/8vtQ0DE0ZKVz546233jI/E/2wZtWkSROXXs+0adPMzUpTVqzVJpzRdBVNmdFAWn8fNIVCPzw5W+xl/VkUHgvr+9k2ENe2Guxr3rAt27QYa/qOfmjRD556s0ffZ5qCAPgLglnAB+kslgazy5cvN8Gs5rPqrJguDNHV05qnqn9I9Y+h5hcWrneps7D6h1/pH91///vfZsZP2+viF1ubN282M0yav1oWJYU0R/CXX34xQZAzOouqM3g666uzqhpclDSHsTxYgxilM186jjqTqh82unfvXuxjdTZRc0StdNZMg2/9wODtC3U0YNNZS+2v5lvrQjOdGdVZVc27Lcv6qtZKAIXZLmbT96YuItScUM0N1kVp+jid+bcuQnSmb9++5rHWDxdaDk0XnenMf+EPGIVpTqrtz1J/Jzt16mQWuOl7oiJZx15n+vU9ZU/hABjwdQSzgA+ynma2/qHXFeIaTM2cOVMuueSS/HaO6pHqzJbtH18NZHU2T9MZRo0aVaCt3tcFNLq62x4NnDWo1tkwZ8GuBiA6K6sLUJwFe0oX+GhQrgvLdKW/PlfhYFZrd6qtW7ea1fW2dJt1vwaYqnDVhtIoHMTobLPOeGnA7srrs6WzbrrgbOzYsaaWsLuPt9LXqx8W9BSz7eysNdXEOh6loTPKelpeg27blA1XqwcoPd1d+L2hs4r6QctderZAf776/redxdWZY3fG3/ZnqTOjWipNz1jowjJ36GvQ1Ih3333XBJWF01qsrD+LwmNhfe8Wbqvjq7PgtrOzOma2rO9z/V20fT2APyNnFvBihfMHrXQ2UP9oW4M3a1BrO1ulOZz/+c9/3AqONUCxpbOnmsP52muvOUxB0JXYmpOndW8Ls+2P0tO4enrYXlUEezR1QWdm9TE6S2uPpiDoTJxeLc22/5obqrPKmqqgNB1AA31NVyhctaFwP0s7K+ZoNtEZnYHWQEXHu6S0KoXm8hb+eeiMqf4MrRUASsPe+01TC/TDkKv0KnYacNsGpJpDWpL+2euPfsByZfbf3d8JV40cOdJ8wCuulJoG0PpBUVMkbFOBNGdXy5HZ0llWPZ5tBRB9v02aNKlAO/1d0A+nGkjreBZWuNwd4A+YmQW8mOZe6qlcncnUUkn6h0iDNJ2h0TQDLU+kdAZJZ1s1p1QX/mjQoqWXHAVpWrpKT80qDUT1D58GjprDaktnGHUxSnEzPBpsamCiJcG0bJDOTuriJp0d1EVZtqWk9Hi6gMVefqsjWitXT/8WLldlpTNQekpYyxlpqoXOollLc2kagG1pLz3lqzO8egpYF9BpPqXmaOoiMV2I465Tp06ZhTnWhTd6fO2PNYB2l14MQ1+HfgjRQLwkZcC0fJOeHtf3h7629u3bm3HXDyWPPPKIw1Jp7tBT8ppWoM+laRE6DhpkaSBlL4CyR+uf6s9CX6/+vLQUlp7+tl3g5Cp93+qsrP6e6NjrGQn9cKOLqLRvrtCcauvvhC6Q0g8Dmrbj6iKwwvS59YOFpsZo7qr+bO3RD3baZx0L/cCm7yNdbKllz2z7rikUuvBNF/LpbKz+v6Az49pe2X7Y1ABXj6f/P+h46mytjrEG95pCobVpAb/i6XIKABx75513LP3797fUrVvXEhoaaomNjTXlj2bNmlWk7R9//GHp3r27pVKlSqa9ltKaM2eOKduj5ZAKlzuy3vSYF110UZFj6j4t5bR69eoC2+2V9tIyTc8884ylSZMmlrCwMFM6SUtBaVkp25JE2reDBw8WWxbJWibKWnqrMEf7p0+fbunYsaMlIiLCUr16dcsdd9xhOXDgQJHHb9iwwXLjjTea1x0ZGWnKnj333HMlKs1lbxx//vlni6uluezRMQsJCXH4vK5IS0uzPProo+Z9oD8PLcf0xhtvOCxBVpLSXN9//72lXbt2ZgwbN25sef311/PLtNkex1Fpri+++MIyatQoU1ZN3xdaxqpwyTRH5c90bGzLVunreuWVV8w2/fnr+0BLsxVu54i2sf1Z1qxZ09K3b1/L0qVLnT62uBJtCxcuLFDizl5pLmvZrdatW5u+JyQkWGbOnGm371r6S0uGaXm5mJgYy1133WV+7/WY06ZNK/I+0hJ++ruo7wEthXbNNddYvvrqK6evCfA1QfqPpwNqAEBg0PxunTnW0my6kBGlozm9OiOtVTuslU2AQEPOLAAAPqBwfWHNjdaUBE2H0NQZIFCRMwsAgA/QBYIa0GrdaV2YpnnCWjP6lVdecVo+DPBnBLMAAPgArV6i9aF//PFHyczMNAvmdGbW0YVHgEBBziwAAAB8FjmzAAAA8FkEswAAAPBZAZczq1dMOXTokLnMo6MrGgEAAMBzNAtWrxKol1oPDi5+7jXgglkNZBs0aODpbgAAAMCJ/fv3S/369YttE3DBrM7IWgdHa/OVN72Wtl5KUi//qJe5xP8wNvYxLo4xNvYxLo4xNvYxLo4xNt4xLqmpqWby0Rq3FSfggllraoEGshUVzEZFRZnn4peiIMbGPsbFMcbGPsbFMcbGPsbFMcbGu8bFlZRQFoABAADAZxHMAgAAwGcRzAIAAMBnEcwCAADAZxHMAgAAwGcRzAIAAMBnEcwCAADAZxHMAgAAwGcRzAIAAMBnEcwCAADAZwXc5WwBAChruXkWWbH7hCSmZUrtqpHStUl1CQkOKpP25X3sVTuTXD424I0IZgEAKEVQOHvDYRn7wyY5nJKZvy0+JlLGXJsgV7aNL1X78jz2uqQgefWt3+VIapZLxwa8FWkGAACfDjiX7kyS79YeNF/1flm01aDw4td/ldunLJOHp601X/W+bi/cbtinawoEj+pISqbZXpr25XnsORuPytRtwQUC2eKOXZIxBCoKM7MAAK/hzilyd2YhNXh7+eetLs+GakBXOEyzBnrvDOxkHqN91ee3F87pNu217u+TEGdeg7P26plvNkilsBDJPpMnT81cX2zbJ79eL8dPZZtjWywWeX321mLbP//9Junduo4EBQXJS7O22Glpv98lnSUGKgrBLADA507XuxpwWk+nf7B0nUttXQk4R81cL+lZZ2TjodQis6CF2+v+i177VSxikdTTOXI6J6/YsUpKz5bBH6wUV6SczpFnv90grjqSmiktn/tZKoeHSWpmzrmw1XG/9WfWo1kNt8cbqGgEswCAcuNqgOpOsOTKjOjo7zZKw+qVJfnUaZm+K7jY4FTTCBLid0pGdp4kncqS4+nZxb6mkxk58tiMv9wKIt1RNyZSQkOCZN+J007btq0bLXExkWZ8Nbh2JjdPzgWyzr0xZ4tc0bqOtKxTRZ77bqPLM9BARSOYBQCU20xrWZyut86GnkjPltRMnRFNcTojmpiWJf3/vejcluIDrKwzefLn/hRxR8u4qhIdGSor95x02lYD9wsaV5etR9PksS/XOW3/1i0dzFfN03XmmasTzOyp5q+60n7i7R3NrLKmMDizZl+yuTljbyYXqEgEswCAMk8FcCVAferr9bI98ZRsOFh8cGqdDX36G9dPqavKESESGRosSenOZyLvuaixXNaqtuw5nm5mIZ15/to2Zox0UZgG5/Zep46ezpoO6tHYjGXr+Gh5c85Wp+31uNZxdbWtfnWlff/zz/6Mxv+y7dyMsf1Av3pUuNzds7FsP3pKVu4+IYec/HyUvndKU1IMKCmCWQAIcGWVCvDm39ubgO1g8mlZvP2Y0wA1+XSOvDV3m8v9TKgbLa3iqkpmdq7M2nDEafv/DrpAcnPPyMCpq5y27Z0QZ2YVL2xWU/6zcKdLQaQGZjpG+tp1u217a8im+60BnLvty/PYz/ZvJcOnrXXY9pW/tc3/2bs667tkZ5J0aVxd6sVWYrEYKhSluQDAD7laQsnVck76+Oe/d5w3qbfHZqwzp/aHfrxKPlq616V+alB4Xfu6LrV97uoEGXdLB5k4oJMJjBzN8el23a/H7tKomsSGW1xqaxsUWvcVbls4KNTATNMlNMC1pfftLYpyp315Hrtfmzpyd4s8qRMd4bStddbX2Zzq9JX7zWK3PuN+k3+6UVIMKC1mZgHAz5RlKsCIL9fJR0v2mNPNzhZGKc0jbVyzsjm9v8KFfNJHe7cwwdLKPSdcPqXuzixkXnCQ/K1xnnywLcSlGUvboLDwGMY5mFnU+7r4ydVT6u60L89jt69hkZF3XCJ/Hkgrtq0r4z2weyPZkXhKlu5KMqkj9rBYDOWFYBYAfIQrOYiuLLrq1ybOlIDSWVtnqQAZ2bmydNcJl/v44g1t5foO9UxfXcknLcnpencDTg3aJt7WvkidWUfBaUmCSN3uzuInd9p7w7FdHe8f1x2S4V/86fA4LBZDeSCYBQAfn229omVNl2daH/ziT1OUX6sCuOqObg2lRZ0qMub7TU7batCn3A1Q3Z0NdTfg1NPqV7Wr59aCJHeDSH/nynjnWly7IljhxWJAaRDMAoCPl7ga9/fz5XC6yMQFO53OtObkWiQn94wEBYnUrBIux9Kcpw5c066u6dvk33a5nApQEafry3uGE+6PofXDjDNhISzZQdkhmAUAHy9x9eiM9ef+O9/lUh9H9mspQy5qIuGhweWaClARp+vhXZyVCLN68qt1pt7tzZ3rm8vrKkp5oaQIZgGgGO78gS2rElfPXNNa6sVUkl3H02X57iSns60qPNgiDWtUkR3H0p227diwmlQKDzHfl3cqgCJADRzOPvTo/UY1omRvUoY88dVf8sNfh+XVv50v6w8kU8oLJUYwCyDglPXsqbtXuxpTTIkr9dKPm91+Tbc2zZNn7rxQLh+3yOtSARBYnL2nereuI/9dvFvGzdsmv287Jr3eXGiuwiYuXMoYsIdgFoDPBJzeNHtq+wfWlVSAR6avlea/7pDdx9MlPTvX6etvVquytK8fK6HBQfLl6gNO28eEu7/oyopUAJQ1Z++pf17aTPok1JEnZqxzeMlcSnnBVQSzgI9xJ3BzNwetPNuXRcD5zFUtK2z21FlwqpdWPZGeLYlpWfLXgWSnqQCZOXmy4VCquOqhK87LL3G1aMdxJ7OtEdIs+mx6AakA8BbO3lPNalWRx/q2lDv+u9xhG0p5wRUEs+VI/wgt331CVh8Pkhr6i9i8tkcCA289do2oUHFwUSKv7nd5H7tj/aoOj+tu4OZODlp5ti+rgPPBaetkSIsg6V9Os6caoGZk5cqf+50HpxrIant3/KNnEzmvdhV58mtdsFV2Ja6euaqV5O5dnb+dVAD4iuOnslxqRykvFIdgtpwU/OMdIh9vX+WRwMDbjx0bHiJhjY/KNR3q+1S/y/PYcdER0j/ufwGblCBwc6dtebcvy4BTQ7GZe4JlZJ5FgvXyqk6C05Ff/SWbD6fJqawzsiMxzaUAdcSMdeKq1vFVTSpATm6efL3moNP2V7SqY4LK8b9sL9O8Vq0zO6vQ1WOZaYUvcLWUl6vtEJiCLBYXKxz7idTUVImJiZGUlBSJjo4ul+dw9MfbOifiamBgr72/HVvDjiAJ8rl+l/exLWKRt2/rkB/kW6+m5CgYswZAi5/sZe672lYDHneO7Up7VbtqhEy/t4fk5OXJgCnL5Pgpx7VMYyqFyfBezU1AqJfDnOlCUKiXTM0+kyeZdhaNlJbOnNaoEi7LXLjq1RdDu5uA0dWrXVnH0PqzFwczrY4WvDia8c/JyZFZs2ZJ//79JSwsrMSv3R8xNt49Ls5+d6yTAdbfnUAaG2+TU8Hj4k68xsxsGXPlVKaeYjyZkS3BQUGSZ7HIaz9vddpeZ4zU67Nda2s9tivt9bKW6v9cbGs9tivtj507hfSGg7b659tyrq3mHlqP/eYcZ8f+S46mng2m3pq7zens3KHk0/nH1lkxZ+33ncgw30/8dUexbbW0zM5j6aYAvf7s3/1tV7HtH5/x19m8SYtFPlyyp/jXOHODrN6fYoL9g8kZxQaP1ryyu6auMK/RlbbXv71YqkSGSnJ6jkvtO784z/wxyczJdbqASX+Wl7+1UFyRcjpHXv7JvdX77ly9SoPNdvVjJDkjR6av3O+0/QvXtzVBoqv1VyvqalfW52G2Ff6kuN8dq+GXNydFBt4/Mztp0iR544035MiRI9K+fXuZOHGidO3a1W7byy67TH777bci2/WTwk8//eTxmdmlO5Pk9inLyvy4gK8JDwmSkOBgOZ3jfOV+p4axZjGIBpzzNh912v7l6xOkcmSYPDJ9nVfNnrqbklJWReKZSXKMsfGNcbH3u6OVPM7kWaRpzcoy4589pEaViIAcG2+Rw8ysY9OnT5cRI0bI5MmTpVu3bjJ+/Hjp16+fbN26VWrXrl2k/cyZMyU7+3+nLJOSkkwA/Pe//128gatJ6m3rRps/nPqH1ZUVztpeudo2LqaSHEk5XfbHrhct8TGV5LAe+6Dz9ufXO3vs9S60bVffeuxM+etAitP27evHmBnRtfudt+3QIFbqVaskh06eNot7nOnSKNZ8XbXXedtuTapLw+pRsv9Ehizb7fzU9MXNa5p+L9p+3GnbK1rXlpZ1qpqZ5W/XHnLa/o5uDczVdD5dts9p2+GXN5OWcdGy89gpM1vtzKt/ayudGlaX9QdT5HEX8ko/urub+erKh7sn+rVyOeCMCbfITZ3qmf9M9cyDN82eUuIKKBl7vzsNqleSW99dZi4ectcHK+WLe7tLlQiPhy3wQh5/V4wbN06GDh0qQ4YMMfc1qNUZ1qlTp8pTTz1VpH316gVrTU6bNk2ioqK8Jph1NUn9masTzB8xV2dytb1ytW25Hbu/e8d+ur/rxx51lXvHfuqq1i4f+8krW7l17Mf6tnL52I/0bpF/7GUutH/g8ubmqyvB7D8ubpof5GllDGeB2wvXn2/uz9+c6LTto31a5ufA6ul3Z+1v6dLQtG9eu4q8Ndf1ILK4S1uWJOD8W+M8064kNVUr4gIBBKhAydj73fnknq5y8+Sl5kP0vR+vkg+GXCARoWevXgd4RTCrM6yrV6+WUaNG5W8LDg6W3r17y9KlS106xvvvvy+33XabVK5c2e7+rKwsc7OdtrZOl+utrGlZJV2NfjQ1q9iakNpOn9+d9opjB8axNTSLiz5bpsv6PtUaq1qaynF5ppaSl3vGrbZ55zIAyqt9SY6tK/Mn3tZeXpq1RY6k/u93V8fuqb7niRxYmz8mxbXVclW6v/DvuW677LyesmrvSZPbq4vVujSqlr+Qyp4uDfUMw9mzDLZ99RbWfpfH/2m+jrHx7XFpEBsh79/ZSQZOXSlLdibJQ5+vkQm3ti/XHFpfGZuKllPB4+LO83g0Z/bQoUNSr149WbJkifTo0SN/+8iRI01e7PLljgspqxUrVpjUBG3nKMf2+eefl7FjxxbZ/vnnn5sZ3fKwLilIpm4LPnfP9hfu7FDf3SJP2tewlKg9xw7cY1sfo6WpkrP/1z423GJmK0vTtrzbu3tspTWId6YGSWqOSHSYSLNoizj6++VOWwC+Z1tKkEzeHCy5liC5sE6e3Nw4T3al8TvvzzIyMmTAgAEu5cz6dDB73333mRncv/76y2EbezOzDRo0kOPHj5dbaS41Z+PRIrNF8edmi/q1qVOq9v50bA1oxl5/vvRvV9en+l2exz5bZzZDHr+tt90ke00LsDeraI87bcu7vbvHdvRJfd68edKnTx8WZthgXBxjbPxnXH7ecEQe/vIvLQYjlcNDClRV0f83n+1v///kQBibilDR46LxWs2aNb0/mNU0A50d/eqrr+SGG27I3z548GBJTk6W7777zuFj09PTpW7duvLCCy/Iww8/7FV1Zm3/eC/dkShzFy2Xvj27cQUwO1cAO7ZpmVxzteOVkYF6BbA5s39mJa0drDK2j3FxjLHxr3F5euZ6+XxF0QWuzmo0B8LYlDeqGTgQHh4unTt3lvnz5+cHs3l5eeb+8OHDi33sjBkzzIzrwIEDxVtp8KIr3ZM2W8xXZ7NQ7iwccXeRiTce2/xibPa9fpf3scnTAgD7H/wXbE20u896hUBd3KmLNqlLG1isCXseo2W5pkyZIh999JFs3rxZhg0bZmZdrdUNBg0aVGCBmO3CLw2Aa9Rg1TAAAP5Oz2C5coEXbYfA4vHSXLfeeqscO3ZMRo8ebS6a0KFDB5k9e7bUqXM272Xfvn2mwoEtrUG7ePFimTt3rod6DQAAvLGOu6vt4D88HswqTSlwlFawcGHRS2K2bNlSvODCZQAAwMvquLvaDv7D42kGAAAAzuhCWr0Ii6NsWN0eb3MRFgQOglkAAOD1rFf9U/YCWoudq/4hMBDMAgAAn2C9JLVegrqw0OAgaRVXviU34Z28ImcWAADA1YBWy2/9rz53hExasEMW70iSF3/cJO/fdYGnu4gKRjALAAB8SuH63LWjI+XK8b/L/C2JMn/zUbmidemvBAbfQZoBAADwac1qVZG7L25ivn/hx02SmfO/S93C/xHMAgAAn/dgr/OkTnSE7E3KkP8u2uXp7qACEcwCAACfVyUiVJ7u39p8//aCHXIw+bSnu4QKQjALAAD8wnXt65o6s5k5efLyT5s83R1UEIJZAADgF4KCgmTsdW3MArFZ64/I4u3HPd0lVACCWQAA4Ddax0fLnd0bme/HfL9Bss/kebpLKGcEswAAwK882qeF1KgcLjuPpctHS/Z4ujsoZwSzAADAr8RUCpMnr2xlvh//yzY5nHxalu5Mku/WHjRfc/P04rfwF1w0AQAA+J2bO9eXz1bsk3X7k6XXWwvldM7/0g3iYyJlzLUJ5mpi8H3MzAIAAL8THBwkV7WJM9/bBrLqSEqmDPt0jczecNhDvUNZIpgFAAB+R1MJPlpqP1/WmmQw9odNpBz4AYJZAADgd1bsPiGHUzId7tcQVvdrO/g2glkAAOB3EtMyy7QdvBfBLAAA8Du1q0aWaTt4L4JZAADgd/Sytlq1IMjBft2u+7UdfBvBLAAA8Dt6SVstv6UcBbS6X9vBtxHMAgAAv6R1ZN8Z2EniYgqmElSJCDXbqTPrH7hoAgAA8FsasPZJiDNVC+ZuOiIf/LFHIkKDpVerOp7uGsoIM7MAAMCvaSpBj2Y15On+raV21QhJSs+WORuPeLpbKCMEswAAICCEhQTL7V0bmu8/WbbX091BGSGYBQAAAUODWZ2p1bSDrUfSPN0dlAGCWQAAEDB0MVif1mfzZT9ldtYvEMwCAICAcmePRubrzDUH5FTWGU93B6VEMAsAAALKhc1qSNNalSU9O1e++fOgp7uDUiKYBQAAASUoKEgGdjs7O/vp0r1isVg83SWUAsEsAAAIODd1ri+RYcGy9WiarNxz0tPdQSkQzAIAgIATUylMbuhQz3xPmS7fRjALAAAC0sDuZ1MNZm84LIlpmZ7uDkqIYBYAAASktvVipGPDWMnJtciXK/d7ujsoIYJZAAAQsO48Nzv7+fJ9ciY3z9PdQQkQzAIAgIDV//x4qRYVJodSMuXXLYme7g5KgGAWAAAErMiwELnlggbmexaC+SaCWQAAENDu6NpIgoJEFm0/LnuS0j3dHbiJYBYAAAS0hjWi5LIWtcz3X6w44OnuwE0EswAAIODd2ePsQrCv/zwo2bme7g3cEepWawAAAD90aYvaUr9aJTlw8rT8fCBIQv46LPGxlaVrk+oSEhzk6e6hGASzAAAg4GnA2qVRdTlw8qD8eihEfp2x3myPj4mUMdcmyJVt4z3dRThAmgEAAAh4ehWwb9ceLLL9SEqmDPt0jdkP70QwCwAAAlpunkXG/rDJ7j7Lua+6X9vB+xDMAgCAgLZi9wk5nJLpcL+GsLpf28H7EMwCAICAlpiWWabtULEIZgEAQECrXTWyTNuhYhHMAgCAgKblt7RqgaMCXLpd92s7eB+CWQAAIIFelkvLbylHAa3up96sdyKYBQAAAU/ryL4zsJPUiY4osD0qPMRsp86s9yKYBQAAOBfQLnzsEhmekCv39mxstlUKC5G+CXGe7hqKQTALAABwjqYSnBdjkYd7NZeqEaGSlJ4tf+5P9nS3UAyCWQAAgELCQ4Pl8la1zfdzNx3xdHdQDIJZAAAAO/ok1DFf5248KhYLV//yVgSzAAAAdlzWspaEhQTJ7uPpsvPYKU93B94azE6aNEkaN24skZGR0q1bN1mxYkWx7ZOTk+WBBx6Q+Ph4iYiIkBYtWsisWbMqrL8AACAwVI0Mkwub1TTfz9l41NPdgTcGs9OnT5cRI0bImDFjZM2aNdK+fXvp16+fJCYm2m2fnZ0tffr0kT179shXX30lW7dulSlTpki9evUqvO8AAMD/9W1zLtVgE8Gst/JoMDtu3DgZOnSoDBkyRBISEmTy5MkSFRUlU6dOtdtet584cUK+/fZbueiii8yM7qWXXmqCYAAAgLLWp/XZYHbd/mQ5mprp6e7AjlDxEJ1lXb16tYwaNSp/W3BwsPTu3VuWLl1q9zHff/+99OjRw6QZfPfdd1KrVi0ZMGCAPPnkkxISEmL3MVlZWeZmlZqaar7m5OSYW3mzPkdFPJevYWzsY1wcY2zsY1wcY2zsY1xcH5tqlUKkQ4MYWbs/RWavPyQDujaQQJRTwe8Zd54nyOKh5XmHDh0y6QFLliwxAarVyJEj5bfffpPly5cXeUyrVq1MisEdd9wh999/v+zYscN8feihh0yqgj3PP/+8jB07tsj2zz//3MwCAwAAFOeXg0Hyw74QaRWTJ8MS8jzdnYCQkZFhJixTUlIkOjraO2dmSyIvL09q164t7733npmJ7dy5sxw8eFDeeOMNh8GszvxqXq7tzGyDBg2kb9++TgenrD5ZzJs3z+T6hoWFlfvz+RLGxj7GxTHGxj7GxTHGxj7Gxb2xaXUsXX749x+y81SI9Ox1hVkYFmhyKvg9Yz2T7gqPBbM1a9Y0AenRowUTqvV+XJz9y8ZpBQMdQNuUgtatW8uRI0dM2kJ4eHiRx2jFA70VpsepyF/gin4+X8LY2Me4OMbY2Me4OMbY2Me4uDY2LevGStNalWXXsXRZvCtZrmtfVwJVWAW9Z9x5Do8tANPAU2dW58+fX2DmVe/bph3Y0kVfmlqg7ay2bdtmglx7gSwAAEBZ6JtwdqJt7kauBuZtPFrNQE//a2mtjz76SDZv3izDhg2T9PR0U91ADRo0qMACMd2v1QwefvhhE8T+9NNP8sorr5gFYQAAAOVdomvh1mOSdSbX092Bt+TM3nrrrXLs2DEZPXq0SRXo0KGDzJ49W+rUOfuG2bdvn6lwYKW5rnPmzJFHH31U2rVrZxaQaWCr1QwAAADKS4f6sVKraoQcS8uSpTuT5LKWtT3dJXjLArDhw4ebmz0LFy4ssk1TEJYtW1YBPQMAADgrODhI+iTUkc+X75N5m44SzHoRj1/OFgAAwBf0TTh75liD2bw8j1Q2hR0EswAAAC7o0ayGVIkIlcS0LFl3INnT3cE5BLMAAAAuiAgNkcta1jLfz91UsLQoPIdgFgAAwEWaN6so0eU9CGYBAABcdHmr2hIWEiQ7j6XLjsRTnu4OCGYBAABcFx0ZJt2b1shfCAbPI5gFAABwQ982Z68GNm8TqQbegGAWAADADX1an82b/XN/siSmZnq6OwGPYBYAAMANcTGR0r5BrFgsIr9sTvR0dwIewSwAAEAJL6Awl1QDjyOYBQAAcFO/NmeD2SU7kiQtM8fT3QloBLMAAABualarijSpWVmyc/NkyqJd8t3ag7J0Z5LkcpnbChda8U8JAADg24KCgqR57Sqy+3i6/Hv+jvzt8TGRMubaBLmybbxH+xdImJkFAABw0+wNh+3WmT2SkinDPl1j9sNLZ2Y3b94s06ZNk0WLFsnevXslIyNDatWqJR07dpR+/frJTTfdJBEREeXTWwAAAA/TVIKxP2yyu0+TDIJEzP4+CXESEqz34BUzs2vWrJHevXuboHXx4sXSrVs3eeSRR+TFF1+UgQMHisVikWeeeUbq1q0rr7/+umRlZZVrxwEAADxhxe4TcjjFcX1ZDWh1v7aDF83M6ozr448/Ll999ZXExsY6bLd06VKZMGGCvPXWW/L000+XVT8BAAC8QmJaZpm2QwUFs9u2bZOwsDCn7Xr06GFuOTmUqQAAAP6ndtXIMm2HCkoz0ED27bffluTkZJfbAwAA+JuuTaqbqgWOsmF1u+7XdvCyagbWnNgBAwbIr7/+Wn69AgAA8FK6qEvLb6nCAa31vu5n8ZcXBrNHjhyRyZMny+HDh6VPnz7SpEkTswBs//795ddDAAAAL6N1ZN8Z2EniYgqmEuh93U6dWS8NZitVqiSDBg2SBQsWyPbt2+XOO++U999/3wS1V155pcyYMYNcWQAAEBA0YF38ZC+ZOriLBJ2bhJ1+Xw8CWV+5aELTpk3lhRdekN27d8vPP/8sNWrUkLvuukvq1atXtj0EAADwUppK0Kt1HWlf/2ylJ8px+eAVwPRybqGhoear1pplZhYAAASaHs1qmK9Ldh73dFcCTomDWc2T1ZlZnaHV/NlDhw7JlClTTD4tAABAILnwXDC7bGeSmdyDl17ONjs7W2bOnClTp0411Qzi4+Nl8ODBcvfdd5ugFgAAIBB1aVRdwkKC5FBKpuxNypDGNSt7uksBw61gNi4uTtLT0+Xaa6+VH374Qfr16yfBwaXOVAAAAPBplcJDpGODarJizwlZuiuJYLYCuRWJPvvss3LgwAFzSdurrrqKQBYAAOCc7vl5s0me7kpAcSsaHTJkiEybNk1SU1OL7EtJSZGJEyfa3QcAABAoebNLyZv13mBWL2f7+++/S3R0dJF9MTExsmjRIhPQAgAABJqODWMlIjRYjp/Kkp3HTnm6OwHDrWD266+/ln/+858O9993330mBQEAACDQRISGSOdG1cz3pBp4aTC7c+dOOe+88xzu133aBgAAINBTDeCFwWxISIipJ+uI7mNRGAAACPSLJ2hFg7w88mYrgluRZ8eOHeXbb791uP+bb74xbQAAAAJRu/qxEhUeIskZObLlSJqnuxMQ3Apmhw8fLm+99ZZZCJabm5u/Xb/XhV//+te/5IEHHiiPfgIAAHi9sJBguaBx9fzZWXhZMHvTTTfJyJEj5aGHHpLq1aubWVi96fePPPKIjBgxQm6++eby6y0AAIDP5M0e93RXAoJbVwBTL7/8slx//fXy2WefyY4dO0wdtUsvvVQGDBggXbt2LZ9eAgAA+Fje7PJdJ+RMbp6EhrCeyKuCWaVBK4ErAABAUW3qxkjVyFBJyzwjGw+lSvsGsZ7ukl/jowIAAEAZCgkOkm5N/lfVAOWLYBYAAKC8SnRRb7bcEcwCAACU0yKwlXtOSE5unqe749cIZgEAAMpYyzpVpVpUmGRk58pfB5I93R2/RjALAABQxoKDg/JTDZbsINXAK6oZaD3ZoKAgl9quWbOmNH0CAADweT2a1pBZ64+YRWAPXnGep7vjt1wOZm+44Yb87zMzM+U///mPJCQkSI8ePcy2ZcuWycaNG+X+++8vn54CAAD4EOvM7Kq9JyUzJ1ciw0I83aXADmbHjBmT//0//vEPcxWwF198sUib/fv3l20PAQAAfFCzWlWkVtUIOZaWJX/uS84PbuEFObMzZsyQQYMGFdk+cOBA+frrr8uiXwAAAD5N0zM11UBRb9bLgtlKlSrJH3/8UWS7bouMjCyLfgEAAPhNia6lO497uit+q0SXs33kkUdk2LBhZqGX9bK2y5cvl6lTp8pzzz1X1n0EAADwSdbUgrX7kyUj+4xEhZco9EIxSjSiTz31lDRt2lQmTJggn376qdnWunVr+eCDD+SWW24pySEBAAD8TsPqUVIvtpIcTD4tq/aclEta1PJ0l/xOiT8eaNBK4AoAAFB83mz3pjXk6zUHTN4swWzZ46IJAAAAFZI3yyIwj87MVqtWzeWLJpw4caI0fQIAAPC7vNn1B1MkLTNHqkaGebpLgRnMjh8/vnx7AgAA4IfqxlaSRjWiZG9Shqzcc0J6tarj6S4FZjA7ePDg8u0JAACAH6caaDC7ZEcSway35Mzm5uaaCyS89NJL5vbNN9+YbSUxadIkady4salR261bN1mxYoXDth9++KFJd7C9UdsWAAB4M10Eprh4gpdUM9ixY4f0799fDh48KC1btjTbXn31VWnQoIH89NNP0qxZM5ePNX36dBkxYoRMnjzZBLKaztCvXz/ZunWr1K5d2+5joqOjzX4rV3N5AQAAPJk3u/FQqnyxYq80rlFFujapLiHBxDAemZl96KGHTMC6f/9+c+EEve3bt0+aNGli9rlj3LhxMnToUBkyZIgkJCSYoDYqKspcgMERDV7j4uLyb3XqMF0PAAC815q9J/MD11EzN8jtU5bJxa//KrM3HPZ01wJzZva3336TZcuWSfXq1fO31ahRQ1577TW56KKLXD5Odna2rF69WkaNGpW/LTg4WHr37i1Lly51+LhTp05Jo0aNJC8vTzp16iSvvPKKtGnTxm7brKwsc7NKTU01X3NycsytvFmfoyKey9cwNvYxLo4xNvYxLo4xNvYxLhU7NnM2HpUHp60TS6HtR1IyZdina2Tibe2lXxvvnpjLqeD3jDvPU6JgNiIiQtLS0uwGmeHh4S4f5/jx4ybPtvDMqt7fsmWL3cdoWoPO2rZr105SUlLkzTfflAsvvFA2btwo9evXL9Je0x/Gjh1bZPvcuXPNDHBFmTdvXoU9l69hbOxjXBxjbOxjXBxjbOxjXMp/bPIsImPXhJwLZAumFJzdZpFnZ66VnD254gsZB/Mq6D2TkZFRvsHsNddcI/fee6+8//770rVrV7Nt+fLl8s9//lOuu+46KU89evQwNysNZPVSuu+++668+OKLRdrrrK/m5NrOzGpub9++fU3ubUV8stAffJ8+fSQsjLpythgb+xgXxxgb+xgXxxgb+xiXihub5btPSPKyVcW0CJLkbJFaCd2lW5P/nfEO9PdM6rkz6eUWzP773/82pbo0qLS+oDNnzphAdsKECS4fp2bNmhISEiJHjx4tsF3vay6sK/T5O3bsaBalOZpF1pu9x1XkL3BFP58vYWzsY1wcY2zsY1wcY2zsY1zKf2ySMs643M4XfhZhFfSecec5gksSIcfGxsp3330n27Ztk6+++srctLqAlueKiYlx+ck1JaFz584yf/78/G2aB6v3bWdfi6NpCuvXr5f4+HiXnxcAAKAi1K4aWabtUMrL2R4+fNiUy+rVq5fMnDlTmjdvbm6loSkAOsvbpUsXk7KgpbnS09NNdQM1aNAgqVevnsl9VS+88IJ0797dPG9ycrK88cYbsnfvXvnHP/5Rqn4AAACUNS2/FR8TaRZ7FV4ApjRNNi4m0rRDOQezVapUkaSkJBPMLly4sMxWs916661y7NgxGT16tBw5ckQ6dOggs2fPzl8UpiW/tMKB1cmTJ00pL22rAbbO7C5ZssSU9QIAAPAmWo5rzLUJpmqBBq62Aa11vZfup95sBQSzWi7r8ssvN4ut1I033uiwcsGvv/7qVieGDx9ubvZo4GzrX//6l7kBAAD4givbxss7AzvJ2B82yeGUzPzt1auEy8s3tDX7UQHB7KeffiofffSR7Ny509SZ1bquFVnaCgAAwFdpwNonIU5W7D4hr8zaJOsPpsrQnk0IZCsymK1UqZIpvaVWrVolr7/+ulkIBgAAAOc0lUAva3tNu7ommF2zN9nTXQrcy9kuWLAgP5D9448/ClxhCwAAAI51aVzNfF2z76RYLPaWhaHcg1lbV111lRw8eLC0hwEAAAgIberGSHhIsBw/lS17k1y/0hXKKZjlEwUAAIDrIsNC5Pz6Z+vyr9570tPd8XmlDmYBAADgns6NzqYarCKY9Xww++677+bXhAUAAIDrwewagtmKq2bgyIABA0rfCwAAgADSqeHZYHZbYpqknM6RmEphnu5SYMzMJiYmFri/du1acynaiy66SG6++eYiFzgAAABAUbWqRkijGlGiS4/+3MfsbIUFs/Hx8fkBrV5CtmvXrrJ3714TzKampkqfPn3k999/L1WHAAAAAgGpBh5IM7CtXPD888/LnXfeKe+//37+tkceeUTGjh0r8+fPL6PuAQAA+G8wO3PNQRaBeWoB2IYNG2To0KEFtun9v/76q7R9AgAA8HtdGlU3X9fuT5YzuXme7k7gBLNpaWkmpSAyMlIiIiIK7NNtGRkU/wUAAHDmvNpVpGpkqGRk58qWI2me7k7gBLMtWrSQatWqyZ49e2TVqlUF9m3cuFHq1q1blv0DAADwS8HBQflVDbh4QgXlzC5YsKDIgjBbu3fvlnvvvbcU3QEAAAisvNnfth0zebODL2zs6e74fzB76aWXFrv/4YcfLm1/AAAAAkYXKhpUXJqBbSUDAAAAlF77BrESHCRyMPm0HE457enu+Hcw26ZNG5k2bZpkZ2cX22779u0ybNgwee2118qifwAAAH6rckSotI6PNt+TN1vOaQYTJ06UJ598Uu6//35zcYQuXbqYxV5aweDkyZOyadMmWbx4sVkENnz4cBPQAgAAwHmqwcZDqbJqz0m5ph0L6cstmL3iiitM9QINWKdPny6fffaZufrX6dOnpWbNmtKxY0cZNGiQ3HHHHabaAQAAAJzr1KiafLR0r6zhsrblvwBMXXzxxeYGAACA0uvS+OzFE3R2NiP7jESFux2eBbQSXwEMAAAApVc3JlLioiMlN88i6/aneLo7PodgFgAAwIOCgoKkc+NzJbpINXAbwSwAAICHdT53JbBVe054uis+h2AWAADAw7rkz8wmS14etf3dQTALAADgYVprNjIsWFJO58jOY6c83R3/DWa1FNe7776bf+GESZMmlVe/AAAAAkZYSLC0rx9rvufiCeUYzGoNWa01e8MNN5iAVmvNAgAAoOxSDVYRzLrFrUJmZ86ckSlTpsisWbPkgQcecO+ZAAAA4FDnRufyZglmy29mNjr67LWD+/fvL40aNZJ169a592wAAACwq9O5iga7jqdL0qksT3fHP2dmhw8fbmZnQ0ND5ZlnnpEqVaqUX88AAAACSGxUuDSvXUV2JJ4yVQ36JNTxdJf8b2b2uuuuM4GstcDvI488UqSN5tQCAADAfV3OpRqs2ku92XItzXXq1Ck5ffp0gW1r166Va6+9Vrp161aSQwIAAAS8TuTNlm8wu3//funRo4fExMSY24gRIyQjI0MGDRpkgtjKlSvLkiVL3O8FAAAA8heBrTuQItln8jzdHf/LmX3iiSckMzNTJkyYIDNnzjRfFy1aZALZnTt3Sv369cuvpwAAAH6uac3KUi0qTE5m5MiGQyn5i8JQRsHs77//boLY7t27yy233CJxcXGm9qy93FkAAAC4R9ck6ezsL5sTTaoBwWwZpxkcPXpUmjRpYr6vXbu2REVFyVVXXeXOIQAAAFCMzo2qm6+r9pA3Wy4LwIKDgwt8Hx4e7u4hAAAA4CRvdvW+k2KxWDzdHf9KM9ABbdGihZkCt1Y16NixY4EAV504QTkJAACAkmhXP0bCQoLkWFqW7D9xWhrWiPJ0l/wnmP3ggw/KrycAAACQyLAQaVM3RtbuT5bV+04QzJZlMDt48GB3mgMAAKCEF0/QYPanvw5LcFCQ1K4aKV2bVJeQ4LNnx1HCYBYAAADlzxqzalUDvan4mEgZc22CXNk23rOd84crgAEAAKB8zN5wWN5btLvI9iMpmTLs0zVmP/6HYBYAAMBL5OZZZOwPm+zus9Y10P3aDmcRzAIAAHiJFbtPyOGUTIf7NYTV/doOZxHMAgAAeInEtMwybRcISrQALDc3Vz788EOZP3++JCYmSl5eXoH9v/76a1n1DwAAIGBo1YKybBcIShTMPvzwwyaYvfrqq6Vt27b5F1EAAABAyWn5La1aoIu97GXFasQVF3O2TBdKEcxOmzZNvvzyS+nfv39JHg4AAAA7tI6slt/SqgUauNoGtNapQ91PvdlS5syGh4dL8+bNS/JQAAAAFEPryL4zsJOZgbWl93U7dWbLIJh97LHHZMKECWKxUBYCAACgrGnAuvjJXvJ43xbmft2YSHOfQLaM0gwWL14sCxYskJ9//lnatGkjYWFhBfbPnDmzJIcFAADAOZpKcHvXhvLm3G1yKCVT0jJzJDYq3NPd8o9gNjY2Vm688cay7w0AAADy1agSIY1rRMmepAz5c3+yXN6ytqe75B/B7AcffFD2PQEAAEARnRpWOxvM7j1JMGsHF00AAADwYh0bVTNf1+xL9nRX/CuY/eqrr+SWW26R7t27S6dOnQrc3DVp0iRp3LixREZGSrdu3WTFihUulwjTGrc33HBDCV4BAACA9+vUMNZ8Xbs/WXLzWHxfJsHsv//9bxkyZIjUqVNH/vzzT+natavUqFFDdu3aJVdddZVbx5o+fbqMGDFCxowZI2vWrJH27dtLv379zJXFirNnzx55/PHHpWfPniV5CQAAAD6hZZ2qEhUeIqeyzsj2xDRPd8c/gtn//Oc/8t5778nEiRNNzdmRI0fKvHnz5KGHHpKUlBS3jjVu3DgZOnSoCY4TEhJk8uTJEhUVJVOnTi32crp33HGHjB07Vpo2bVqSlwAAAOATQkOCpX39s7Oza/aSalAmC8D27dsnF154ofm+UqVKkpZ29lPCnXfeadIO3n77bZeOk52dLatXr5ZRo0blbwsODpbevXvL0qVLHT7uhRdekNq1a8s999wjixYtKvY5srKyzM0qNTXVfM3JyTG38mZ9jop4Ll/D2NjHuDjG2NjHuDjG2NjHuPje2HSoHy1LdyXJqj1J8vdO8X4/LjluPE+Jgtm4uDg5ceKENGrUSBo2bCjLli0z6QG7d+9260IKx48fN7Osmq5gS+9v2bLFYY3b999/X9auXevSc7z66qtmBrewuXPnmhngiqIz17CPsbGPcXGMsbGPcXGMsbGPcfGdsTlzUi9fGyKLNx+UWbP2+f24ZGRklG8w26tXL/n++++lY8eOJj3g0UcfNQvCVq1aJX/729+kvOgMsM7+TpkyRWrWrOnSY3TWV3NybWdmGzRoIH379pXo6GipiE8W+oPv06dPkYtLBDrGxj7GxTHGxj7GxTHGxj7GxffGpnt6tkx5baEkZgbJhZf1kdioML8el9RzZ9LLLZjVfNm8vDzz/QMPPGAWfy1ZskSuu+46ue+++1w+jgakISEhcvTo0QLb9b7O/ha2c+dOs/Dr2muvzd9m7UdoaKhs3bpVmjVrVuAxERER5laY/iAq8k1a0c/nSxgb+xgXxxgb+xgXxxgb+xgX3xmbOrFh0qRmZdl9PF02HD4ll7eq7dfjEubGc5QomNW8Vr1Z3XbbbebmLl081rlzZ5k/f35+eS0NTvX+8OHDi7Rv1aqVrF+/vsC2Z5991szYTpgwwcy4AgAA+KOODWNNMLtm30mPBbN+VWdWF14NHDhQevToIQcPHjTbPvnkE5PT6g5NAdC0gY8++kg2b94sw4YNk/T0dJO+oAYNGpS/QEzr0LZt27bATS+tW7VqVfO9BscAAAD+eiUwpcEsShnMfv3116YWrFYy0Dqz1moBWpbrlVdecetYt956q7z55psyevRo6dChg1nYNXv27PxFYVo54fDhwyXpJgAAgN8Fs2v3cfGEUqcZvPTSS6YerM6a6lW4rC666CKzz12aUmAvrUAtXLiw2Md++OGHbj8fAACAr2kZV1Uqh4dIenaubDuaJq3jy38hu9/OzOpCq0suuaTI9piYGElOppgvAABAWQsJDpL2Dc5dPIFUg9IFs1ppYMeOHUW2a74sV+QCAAAo57xZrgRWumBWLz/78MMPy/LlyyUoKEgOHTokn332mTz++ONmARcAAADKXqdGZ2dm/2RmtnQ5s0899ZQpoXXFFVeYKzRoyoHWctVg9sEHHyzJIQEAAOBExwZnZ2Z3HU+Xk+nZUq0ylZxKNDOrs7HPPPOMuaTthg0bzOVsjx07Ji+++GLZ9xAAAACGBq9Na1Y23/+5n9nZEs/MWmld14SEhLL56QAAAMCpjg2rmZnZP/clS69WZ0uZBjK3gtm7777bpXZTp04taX8AAADgJG/26zUHqGhQkmBWa7o2atRIOnbsKBYLxXoBAAA8ffGEkOAgCWRuBbNaqeCLL76Q3bt3m8vN6uVsq1evXn69AwAAQAEt6lSVKhGhcirrDBdPcHcB2KRJk8ylZUeOHCk//PCDNGjQQG655RaZM2cOM7UAAAAVdvGEGPP9GlIN3K9moCW4br/9dpk3b55s2rRJ2rRpI/fff780btxYTp06VT69BAAAQD4unlDK0lz5Dw4ONmW6dFY2Nze3NIcCAACAm8Hsn8zMuh/MZmVlmbzZPn36SIsWLWT9+vXy9ttvy759+6RKlSrl00sAAADk69gwtsDFEwKZWwvANJ1g2rRpJldWy3RpUFuzZs3y6x0AAACKiI0Kl6a1KsuuY+nm4gmBXG/WrWB28uTJ0rBhQ2natKn89ttv5mbPzJkzy6p/AAAAcJBqsOtYusmbJZh10aBBg0yOLAAAADwfzH61mosnuH3RBAAAAHjHlcDUuv2BffGEUlUzAAAAgGecV/vsxRPSs3Nl65E0CVQEswAAAD6IiyecRTALAADg6xdP2EcwCwAAAJ+9eEKyBCqCWQAAAB+/eMLu4+lyIkAvnkAwCwAA4OMXTwjkS9sSzAIAAPiwTgGeN0swCwAA4A/B7N7AzJslmAUAAPCHiyccSJYzuXkSaAhmAQAAfPziCZXDQyQjO1fe/X2XLN2ZZK4IFijcupwtAAAAvMu8TUckJ/ds8PrGnK3ma3xMpIy5NkGubBsv/o6ZWQAAAB81e8NhGfbpGskulF5wJCXTbNf9/o5gFgAAwAdpKsHYHzaJvYQC6zbd7+8pBwSzAAAAPmjF7hNyOCXT4X4NYXW/tvNnBLMAAAA+KDHNcSBbkna+imAWAADAB9WuGlmm7XwVwSwAAIAP6tqkuqlaEORgv27X/drOnxHMAgAA+KCQ4CBTfksVDmit93W/tvNnBLMAAAA+6sq28fLOwE4SF1MwlaB65XCzPRDqzHLRBAAAAB92Zdt46ZMQZ6oW/N/sLfLn/mS5s0ejgAhkFTOzAAAAPi4kOEh6NKshN3aqZ+6v3ntSAgXBLAAAgJ/o0ujsYq81e0/KmUJXBfNXBLMAAAB+omVcVakaESrp2bmy5UiaBAKCWQAAAD9KN+jUqJr5fuUe/77ylxXBLAAAgB/peq6u7Ko9gZE3SzALAADgR7rYzMxaLBbxdwSzAAAAfqR9g1gJCwmSxLQs2X/itPg7glkAAAA/EhkWIu3qx5rvVwRA3izBLAAAgJ/p0vhsqsEqglkAAAD4mgvO1ZsNhIoGBLMAAAB+pvO5RWA7j6VL0qks8WcEswAAAH6mWuVwaVGnivl+lZ9f2pZgFgAAwA91aWytN+vfqQYEswAAAH7ognOLwFb6+cUTCGYBAAD80AXnZmY3HEyRjOwz4q8IZgEAAPxQvdhKEh8TKWfyLLJ2f7L4K4JZAAAAPxQUFGSTN+u/qQYEswAAAH6fN3tC/JVXBLOTJk2Sxo0bS2RkpHTr1k1WrFjhsO3MmTOlS5cuEhsbK5UrV5YOHTrIJ598UqH9BQAA8KW82TV7T8qZ3DzxRx4PZqdPny4jRoyQMWPGyJo1a6R9+/bSr18/SUxMtNu+evXq8swzz8jSpUvlr7/+kiFDhpjbnDlzKrzvAAAA3qxFnapSNTJU0rNzZcuRNPFHHg9mx40bJ0OHDjUBaUJCgkyePFmioqJk6tSpdttfdtllcuONN0rr1q2lWbNm8vDDD0u7du1k8eLFFd53AAAAbxYSHJR/NTB/TTUI9eSTZ2dny+rVq2XUqFH524KDg6V3795m5tUZi8Uiv/76q2zdulVef/11u22ysrLMzSo1NdV8zcnJMbfyZn2OinguX8PY2Me4OMbY2Me4OMbY2Me4BNbYdG4QIwu3HpPlu5JkYNf6PjEu7jxPkEUjQg85dOiQ1KtXT5YsWSI9evTI3z5y5Ej57bffZPny5XYfl5KSYh6nQWpISIj85z//kbvvvttu2+eff17Gjh1bZPvnn39uZoABAAD82c5UkX9vDJXoMIu80DlXgoLE62VkZMiAAQNMzBcdHe29M7MlVbVqVVm7dq2cOnVK5s+fb3JumzZtalIQCtNZX91vOzPboEED6du3r9PBKatPFvPmzZM+ffpIWFhYuT+fL2Fs7GNcHGNs7GNcHGNs7GNcAmtssnJy5Z0tv0pqjkjbHpdJo+pRXj8u1jPprvBoMFuzZk0zs3r06NEC2/V+XFycw8dpKkLz5s3N91rNYPPmzfLqq6/aDWYjIiLMrTD9QVTkm7Sin8+XMDb2MS6OMTb2MS6OMTb2MS6BMTZhYWHSrn6srN57UtYeSJPmdWK8flzceQ6PLgALDw+Xzp07m9lVq7y8PHPfNu3AGX2MbV4sAAAAipboWrnb/xaBeTzNQFMABg8ebGrHdu3aVcaPHy/p6emmuoEaNGiQyY/VmVelX7WtVjLQAHbWrFmmzuw777zj4VcCAADgvRdPmPybyMq9BLNl7tZbb5Vjx47J6NGj5ciRIyZtYPbs2VKnTh2zf9++fSatwEoD3fvvv18OHDgglSpVklatWsmnn35qjgMAAICirOW5dh1Ll6RTWVKjStEUTF/l8WBWDR8+3NzsWbhwYYH7L730krkBAADANbFR4dKyTlXZejRNVu45KVe2dbw2ydd4/KIJAAAAKH9dGp+dnV3lZxdPIJgFAAAIpEVge0+KPyGYBQAACKCZ2Y0HUyQj+4z4C4JZAACAAFC/WpTUjYmUM3kWWbsvWfwFwSwAAECA6GJNNdjjP6kGBLMAAAABVG9WrfKjerMEswAAAAHigiZnZ2bX7D0pZ3LzxB8QzAIAAASIFrWrStXIUEnPzpXNh9PEHxDMAgAABIjg4CDpcu5qYCv9pN4swSwAAEAALgKbs/GwfLf2oCzdmSS5eRbxVV5xOVsAAABUDIvlbOC6fPdJc1PxMZEy5toEubJtvPgaZmYBAAACxOwNh+WtuduKbD+SkinDPl1j9vsaglkAAIAAkJtnkbE/bBJ7CQXWbbrf11IOCGYBAAACwIrdJ+RwSqbD/RrC6n5t50sIZgEAAAJAYlpmmbbzFgSzAAAAAaB21cgybectCGYBAAACQNcm1U3VgiAH+3W77td2voRgFgAAIACEBAeZ8luqcEBrva/7tZ0vIZgFAAAIEFe2jZd3BnaSuJiCqQR6X7f7Yp1ZLpoAAAAQQK5sGy99EuJk2a4k+cdHq+R0Tq5MuK2jz6UXWDEzCwAAEGBCgoPkouY15fJWtcx9DWx9FcEsAABAgLq4+dlgdvH24+KrCGYBAAAC1MXNa5qva/adlFNZZ8QXEcwCAAAEqIY1oqRh9Sg5k2eRFbt9M9WAYBYAACCAXXRudnaRj6YaEMwCAAAEsJ7n1fTpvFmCWQAAgAB2YbMaEhQksj3xlBxNzRRfQzALAAAQwGKjwuX8ejE+OztLMAsAABDgLj6XN/vHDoJZAAAA+Ggwu3jHcbFYLOJLCGYBAAACXOfG1SQyLFgS07Jk29FT4ksIZgEAAAJcRGiIdG1SI3921pcQzAIAAEAubn4umN1+THwJwSwAAADk4ua1zNflu09I9pk88RUEswAAAJBWcVWlZpVwycjOlT/3nRRfQTALAAAACQ4Okgub/a+qga8gmAUAAIBxsfXStgSzAAAA8NV6s+v2J0vK6RzxBQSzAAAAMOrGVpKmtSpLnkVk6c4k8QUEswAAAMjX08cubUswCwAAgHwX2Vza1hcQzAIAACBf92Y1JCQ4SHYfT5cDJzPE2xHMAgAAIF90ZJh0aBDrM6kGBLMAAACwm2qwaDvBLAAAAHxMz3P1ZpfsTJI8LW3gxQhmAQAAUICmGVQOD5ET6dmy6XCqeDOCWQAAABQQFhIs3ZvW8ImqBgSzAAAAcHhpW29fBEYwCwAAAIeXtl2x+4Rk5eSKtyKYBQAAQBHNa1eROtERknUmT1bvSxZvRTALAACAIoKCguTi5rXM93/sTBJvRTALAAAAuy4+7+wiMIJZAAAA+OzFEzYeSpM/jgTJ8t0nJNfL6s6GeroDAAAA8E5r9p6U0OAgOZNnkS93h8iXu1dJfEykjLk2Qa5sGy/egJlZAAAAFDF7w2EZ9ukaE8jaOpKSabbrfm/gFcHspEmTpHHjxhIZGSndunWTFStWOGw7ZcoU6dmzp1SrVs3cevfuXWx7AAAAuEdTCcb+sEnsJRRYt+l+b0g58HgwO336dBkxYoSMGTNG1qxZI+3bt5d+/fpJYmKi3fYLFy6U22+/XRYsWCBLly6VBg0aSN++feXgwYMV3ncAAAB/tGL3CTmckulwv4awul/bSaAHs+PGjZOhQ4fKkCFDJCEhQSZPnixRUVEydepUu+0/++wzuf/++6VDhw7SqlUr+e9//yt5eXkyf/78Cu87AACAP0pMyyzTdn67ACw7O1tWr14to0aNyt8WHBxsUgd01tUVGRkZkpOTI9WrV7e7Pysry9ysUlNTzVd9jN7Km/U5KuK5fA1jYx/j4hhjYx/j4hhjYx/j4hhjc1aNqFCX25XHWLlzzCCLxeKxZIdDhw5JvXr1ZMmSJdKjR4/87SNHjpTffvtNli9f7vQYOks7Z84c2bhxo8m5Lez555+XsWPHFtn++eefmxlgAAAAFKSpsGPXhEhytt4LkqIsEhsuMqZTrgTb211KOlk5YMAASUlJkejoaP8tzfXaa6/JtGnTTB6tvUBW6ayv5uTazsxa82ydDU5ZfbKYN2+e9OnTR8LCwsr9+XwJY2Mf4+IYY2Mf4+IYY2Mf4+IYY/M/YY2PyoPT1pnvbWc+z8auQfLS39pLvzZ1pDxYz6S7wqPBbM2aNSUkJESOHj1aYLvej4uLK/axb775pglmf/nlF2nXrp3DdhEREeZWmL5BK/JNWtHP50sYG/sYF8cYG/sYF8cYG/sYF8cYG5FrOtSX0NAQU7XAdjFYXAXUmXVn7D0azIaHh0vnzp3N4q0bbrjBbLMu5ho+fLjDx/3f//2fvPzyyya9oEuXLhXYYwAAgMBxZdt46ZMQJ0t3JMrcRculb89u0qN5bQkpj9yCEvJ4moGmAAwePNgEpV27dpXx48dLenq6qW6gBg0aZPJqX331VXP/9ddfl9GjR5ucV61Ne+TIEbO9SpUq5gYAAICyo4FrtybVJWmzxXz1pkDWK4LZW2+9VY4dO2YCVA1MteTW7NmzpU6dszkY+/btMxUOrN555x1TBeHmm28ucBytU6uLvQAAABA4PB7MKk0pcJRWoIu7bO3Zs6eCegUAAABv5/GLJgAAAAAlRTALAAAAn0UwCwAAAJ9FMAsAAACfRTALAAAAn0UwCwAAAJ9FMAsAAACf5RV1ZiuSxWIxX1NTUyvk+XJyciQjI8M8X6Bf47kwxsY+xsUxxsY+xsUxxsY+xsUxxsY7xsUap1njtuIEXDCblpZmvjZo0MDTXQEAAICTuC0mJqa4JhJkcSXk9SN5eXnSokULWb16tQQFFb228AUXXCArV650aXvhbbb3rd/rJwsNnPfv3y/R0dFl+loc9bU07Ytr48oY2Nvm6H55jY274+LKY9wdF3vbnY0V7xnfec+Ux7jY2+5r4+LqY3jPuN+G94zrf5tL8zdbecvYBPrvksViMYFs3bp1JTi4+KzYgJuZ1QEJDw93GOWHhITY/SHZ2154m+39wvv0+7IOTBz1tTTti2vjyhjY2+bsflmPjbvj4spj3B0Xe9udjRXvGd95z5THuNjb7mvj4upjeM+434b3jOt/m8vib7Y3jA2/S+J0RjagF4A98MADbu+zt73wNtv7xT1HWXH3OVxp7+7YuDsurvajNEpyfGePKYv3jLOx4j3j+n1/HBd7231tXFx9DO8Z99vwnnmg1Nv5my1+8btkT8ClGVQ0nZbXTxYpKSllPsvm6xgb+xgXxxgb+xgXxxgb+xgXxxgb3xuXgJyZrUgREREyZswY8xUFMTb2MS6OMTb2MS6OMTb2MS6OMTa+Ny7MzAIAAMBnMTMLAAAAn0UwCwAAAJ9FMAsAAACfRTALAAAAn0UwCwAAAJ9FMOuFMjIypFGjRvL44497uiteITk5Wbp06SIdOnSQtm3bypQpUzzdJa+hlxW87LLLJCEhQdq1ayczZszwdJe8xo033ijVqlWTm2++WQLdjz/+KC1btpTzzjtP/vvf/3q6O16D94h9/L9iH3+LvDd2oTSXF3rmmWdkx44d5hrIb775pgS63NxcycrKkqioKElPTzf/iaxatUpq1Kghge7w4cNy9OhR85/rkSNHpHPnzrJt2zapXLmyBLqFCxea63p/9NFH8tVXX0mgOnPmjAlKFixYYAqe63tkyZIl/P7wHnGI/1fs42+R98YuzMx6me3bt8uWLVvkqquu8nRXvIZet1n/81D6H4l+/uIz2Fnx8fHmD46Ki4uTmjVryokTJzzdLa+gM0tVq1aVQLdixQpp06aN1KtXT6pUqWL+b5k7d66nu+UVeI/Yx/8r9vG3yHtjF4JZN/z+++9y7bXXSt26dSUoKEi+/fbbIm0mTZokjRs3lsjISOnWrZv5Q+IOnZ5/9dVXxZdUxLjo6Z327dtL/fr15YknnjD/ufqCihgbq9WrV5uZA/1U7O0qclx8XWnH6tChQyaQtdLvDx48KL6O91DFjI0v/b9SEePiq3+LyntcPB27EMy6QU8r6JtYf6j2TJ8+XUaMGGEu97ZmzRrTtl+/fpKYmJjfxpprU/imf3C+++47adGihbn5kvIeFxUbGyvr1q2T3bt3y+eff25OgfmCihgbpbMmgwYNkvfee098QUWNiz8oi7HyR4xL+Y+Nr/2/UhHj4qt/i8pzXLwidtGcWbhPh+6bb74psK1r166WBx54IP9+bm6upW7dupZXX33VpWM+9dRTlvr161saNWpkqVGjhiU6OtoyduxYS6CPS2HDhg2zzJgxw+JrymtsMjMzLT179rR8/PHHFl9Unu+ZBQsWWG666SaLvyjJWP3xxx+WG264IX//ww8/bPnss88s/qQ07yF/e4+U1dj4+v8rFfH/jq/+LSrrcfGG2IWZ2TKSnZ1tTsf07t07f1twcLC5v3TpUpeOoVP0uop0z549Jnl66NChMnr0aAn0cdFPvrpIQ6WkpJhTIroy29eVxdjo/z133XWX9OrVS+68807xB2UxLoHClbHq2rWrbNiwwaQWnDp1Sn7++Wczq+LPeA+Vbmz88f+VshgXf/1bVNpx8YbYhWC2jBw/ftzkFdWpU6fAdr2vq0EDVVmMy969e6Vnz57m1IZ+ffDBB+X8888XX1cWY/PHH3+YU0Ca46Sn3fW2fv168WVl9buk/9n+/e9/l1mzZpn8Nn8MYlwZq9DQUHnrrbfk8ssvN++Pxx57zO9XX7v6HgqE90hJxsYf/18pi3Hx179F/hDbhHq6A7BPPxVD8meW1q5d6+lueKWLL75Y8vLyPN0Nr/TLL794ugte47rrrjM3FMR7xD7+X7GPv0XeG7swM1tGdEWjlu0onAyu97W0SaBiXBxjbOxjXFzHWNnHuDjG2NjHuPj2uBDMlpHw8HBTWHr+/Pn52/STrd7v0aOHBCrGxTHGxj7GxXWMlX2Mi2OMjX2Mi2+PC2kGbtDFE3p1CystzaGnHKpXry4NGzY0pSsGDx5sLnenpyPGjx9vSl4MGTJE/Bnj4hhjYx/j4jrGyj7GxTHGxj7GxY/HpUJrJ/g4LeGiQ1b4Nnjw4Pw2EydOtDRs2NASHh5uylksW7bM4u8YF8cYG/sYF9cxVvYxLo4xNvYxLv47LkH6j6cDagAAAKAkyJkFAACAzyKYBQAAgM8imAUAAIDPIpgFAACAzyKYBQAAgM8imAUAAIDPIpgFAACAzyKYBQAAgM8imAUAEVm4cKEEBQVJcnKyy495/vnnpUOHDuXSn6SkJKldu7bs2bOnxP3zNiV5Dd27d5evv/66XPsFwLcRzAIIGEuXLpWQkBC5+uqrxdu9/PLLcv3110vjxo0lkD377LPy1FNPSV5enqe7AsBLEcwCCBjvv/++PPjgg/L777/LoUOHxFtlZGSYvt5zzz0S6K666ipJS0uTn3/+2dNdAeClCGYBBIRTp07J9OnTZdiwYWZm9sMPPyy2ve6PjY2Vb7/9Vs477zyJjIyUfv36yf79+4u0/eSTT8wMakxMjNx2220m+LKaPXu2XHzxxeZYNWrUkGuuuUZ27txZ7HPPmjVLIiIizCn24ujp9zZt2pi2+vxvvfVWgf2HDx82r7VSpUrSpEkT+fzzz0278ePHF5sK0LVrV6lcubLp80UXXSR79+7N3//DDz/IBRdcYMajZs2acuONNxYYhy5dukjVqlUlLi5OBgwYIImJicW+hsWLF0vPnj1NHxs0aCAPPfSQpKen5+/XmfT+/fvLtGnTij0OgMBFMAsgIHz55ZfSqlUradmypQwcOFCmTp0qFovF6Qypnu7/+OOP5Y8//jC5nhqs2tLAVAPeH3/80dx+++03ee211/L3a2A2YsQIWbVqlcyfP1+Cg4NNAFjcafNFixZJ586di+3b6tWr5ZZbbjH9Wb9+vcnffe655woE6YMGDTIz0BqgauD73nvvFRtcnjlzRm644Qa59NJL5a+//jJpGffee6/Jc1U//fST6bsGl3/++ad5PRr4WuXk5MiLL74o69atM2Oi+b533XWXw+fTsbvyyivlpptuMs+nHzY0uB0+fHiBdvocOiYAYJcFAALAhRdeaBk/frz5Picnx1KzZk3LggUL8vfr9/pf4smTJ839Dz74wNxftmxZfpvNmzebbcuXLzf3x4wZY4mKirKkpqbmt3niiScs3bp1c9iPY8eOmWOsX7/eYZvrr7/ecvfddxfYVrh/AwYMsPTp06dAG33uhISEAn1duXJl/v7t27ebbf/617/sPm9SUpLZv3DhQrv7e/ToYbnjjjssrtLn1uOlpaXZfQ333HOP5d577y3wmEWLFlmCg4Mtp0+fzt/23XffmW25ubkuPzeAwMHMLAC/t3XrVlmxYoXcfvvt5n5oaKjceuutJi+1ONpOT6lb6cyunnrfvHlz/jY9ba+n1a3i4+MLzH5u377dPG/Tpk0lOjo6f0HXvn37HD7v6dOnzWn84mgfNAXAlt7X58vNzTWvWfvfqVOn/P3NmzeXatWqOTxm9erVzUyqplNce+21MmHCBJOqYLV27Vq54oorip0t1sc1bNjQjInO8Bb3WnUGV2eSq1Spkn/T59ZZ6927d+e30xQE3ZaVlVXsmAAITASzAPyeBq16Cr1u3bomwNPbO++8Y069p6SklOrYYWFhBe7rKXnbFAIN7k6cOCFTpkyR5cuXm5vKzs52eEzNRT158qR4wgcffGDSCy688EJz2r9FixaybNmy/KDSEU2n0EBUA/bPPvtMVq5cKd98802xr1XzmO+77z4TJFtvGuBqQN6sWbP8djp+msNb3PMDCFwEswD8mgaxmvOqi6MKB00a3H7xxRfFPlZzXa10tlPzZlu3bu1yrVh9jJaX0hlNfZwrQWrHjh1l06ZNxbbRY2kery29r8GnLprS3GDtv+a2Wu3YscPl5x81apQsWbJE2rZtaxaOqXbt2pk8WXu2bNliXq/mC+uCLp3Fdrb4S2eN9XXqjHHhW3h4eH67DRs2mD4BgD0EswD8mi7K0gBOy1xpYGZ704VHxaUa6KyrlvLS2VQ9ha6n4LXCgO2ip+LoKX2tYKALrzSQ/PXXX81iMGd0hnPjxo3FBp6PPfaYCSx1wdW2bdvko48+krffflsef/xxs1+Dyd69e5sFXJpioUGtfq+zm9YFXYXpqX0NYnVmVisYzJ0718ySWoP3MWPGmOBfv2qagy48e/31180+TS3QAHTixImya9cu+f77703fivPkk0+agFkXfOkHDH2u7777rsgCMF381bdvX6fjBiAwEcwC8GsarGpQp2WzCtNgVmdedSW9PVFRUSbg0hJTmo+qOZ166t1VWrlAS0ppIKzB86OPPipvvPGG08edf/75ZtZSKzA4Yt2vx9djjx49Wl544YUC1QN0RrpOnTpyySWXmCoEQ4cONbmsjvJx9fXqDKuOi87wavD7wAMPmFQAddlll8mMGTNMoKpXPuvVq5cJlFWtWrVM/qvuT0hIMDO0b775ZrGvU2d6tfqDBuM6m6uzr/o6dMbc6uDBgybgHTJkiNNxAxCYgnQVmKc7AQDeRgOzRx55xGOXj9UyWE888YQ5xa5BcVk4cOCAqeX6yy+/FLuQy5vohwmdodbZbQCwJ9TuVgCAR+nFDvS0u85MagBaEprWoIusdKZXqxKMHDnSVFPQmVpfUbt2bZdSMwAELoJZAPBSOjNcGnoRg6efftrksGp6gVYo0EoDhSsweDPNDQaA4pBmAAAAAJ/FAjAAAAD4LIJZAAAA+CyCWQAAAPgsglkAAAD4LIJZAAAA+CyCWQAAAPgsglkAAAD4LIJZAAAA+CyCWQAAAIiv+n92YBm9yiWjzAAAAABJRU5ErkJggg==",
|
||
"text/plain": [
|
||
"<Figure size 800x500 with 1 Axes>"
|
||
]
|
||
},
|
||
"metadata": {},
|
||
"output_type": "display_data"
|
||
},
|
||
{
|
||
"name": "stdout",
|
||
"output_type": "stream",
|
||
"text": [
|
||
"Максимальный R²: 0.7344\n",
|
||
"Лучшее alpha: 51.79474679231202\n"
|
||
]
|
||
}
|
||
],
|
||
"source": [
|
||
"import matplotlib.pyplot as plt\n",
|
||
"from sklearn.linear_model import Ridge\n",
|
||
"from sklearn.preprocessing import StandardScaler\n",
|
||
"from sklearn.pipeline import make_pipeline\n",
|
||
"from sklearn.model_selection import cross_val_score\n",
|
||
"import numpy as np\n",
|
||
"\n",
|
||
"# Сетка значений alpha\n",
|
||
"alphas = np.logspace(-4, 4, 50)\n",
|
||
"r2_scores = []\n",
|
||
"\n",
|
||
"for alpha in alphas:\n",
|
||
" lasso = make_pipeline(StandardScaler(), Ridge(alpha=alpha, random_state=42))\n",
|
||
" scores = cross_val_score(lasso, X_train, y_train, cv=5, scoring='r2')\n",
|
||
" r2_scores.append(np.mean(scores))\n",
|
||
"\n",
|
||
"# Построим график\n",
|
||
"plt.figure(figsize=(8,5))\n",
|
||
"plt.semilogx(alphas, r2_scores, marker='o')\n",
|
||
"plt.xlabel(\"Alpha (log scale)\")\n",
|
||
"plt.ylabel(\"Mean R² (5-fold CV)\")\n",
|
||
"plt.title(\"Зависимость R² от alpha в Ridge\")\n",
|
||
"plt.grid(True)\n",
|
||
"plt.show()\n",
|
||
"\n",
|
||
"max_idx = np.argmax(r2_scores)\n",
|
||
"max_r2 = r2_scores[max_idx]\n",
|
||
"best_alpha = alphas[max_idx]\n",
|
||
"\n",
|
||
"print(f\"Максимальный R²: {max_r2:.4f}\")\n",
|
||
"print(f\"Лучшее alpha: {best_alpha}\")\n"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": null,
|
||
"metadata": {},
|
||
"outputs": [],
|
||
"source": []
|
||
}
|
||
],
|
||
"metadata": {
|
||
"colab": {
|
||
"provenance": []
|
||
},
|
||
"kernelspec": {
|
||
"display_name": "Python 3",
|
||
"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.6"
|
||
}
|
||
},
|
||
"nbformat": 4,
|
||
"nbformat_minor": 0
|
||
}
|