2720 lines
129 KiB
Plaintext
2720 lines
129 KiB
Plaintext
{
|
||
"cells": [
|
||
{
|
||
"cell_type": "markdown",
|
||
"metadata": {
|
||
"id": "CvmiakWDcuyf"
|
||
},
|
||
"source": [
|
||
"# Лабораторная работа №3\n",
|
||
"## по предмету \"Системы искусственного интеллекта\"\n",
|
||
"\n",
|
||
"Целью работы является изучение методов регуляризации.\n"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"metadata": {
|
||
"id": "YEZ0T1uwj34v"
|
||
},
|
||
"source": [
|
||
"### Задание 1\n",
|
||
"\n",
|
||
"Выгрузите данные из датасета. Изучите колонки, проверьте наличие пропусков. Постройте матрицу корреляции между признаками и целевой переменной. Сделайте выводы, что показывает эта матрица."
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 128,
|
||
"metadata": {
|
||
"id": "91NHysjQj26f"
|
||
},
|
||
"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": 128,
|
||
"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": 118,
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"data": {
|
||
"text/plain": [
|
||
"brand 0\n",
|
||
"processor_brand 0\n",
|
||
"processor_name 0\n",
|
||
"processor_gnrtn 0\n",
|
||
"ram_gb 0\n",
|
||
"ram_type 0\n",
|
||
"ssd 0\n",
|
||
"hdd 0\n",
|
||
"os 0\n",
|
||
"os_bit 0\n",
|
||
"graphic_card_gb 0\n",
|
||
"weight 0\n",
|
||
"warranty 0\n",
|
||
"Touchscreen 0\n",
|
||
"msoffice 0\n",
|
||
"Price 0\n",
|
||
"rating 0\n",
|
||
"Number of Ratings 0\n",
|
||
"Number of Reviews 0\n",
|
||
"dtype: int64"
|
||
]
|
||
},
|
||
"metadata": {},
|
||
"output_type": "display_data"
|
||
},
|
||
{
|
||
"data": {
|
||
"text/plain": [
|
||
"brand 0\n",
|
||
"processor_brand 0\n",
|
||
"processor_name 0\n",
|
||
"processor_gnrtn 0\n",
|
||
"ram_gb 0\n",
|
||
"ram_type 0\n",
|
||
"ssd 0\n",
|
||
"hdd 0\n",
|
||
"os 0\n",
|
||
"os_bit 0\n",
|
||
"graphic_card_gb 0\n",
|
||
"weight 0\n",
|
||
"warranty 0\n",
|
||
"Touchscreen 0\n",
|
||
"msoffice 0\n",
|
||
"Price 0\n",
|
||
"rating 0\n",
|
||
"Number of Ratings 0\n",
|
||
"Number of Reviews 0\n",
|
||
"dtype: int64"
|
||
]
|
||
},
|
||
"metadata": {},
|
||
"output_type": "display_data"
|
||
}
|
||
],
|
||
"source": [
|
||
"display(df.isnull().sum())\n",
|
||
"display(df.isna().sum())"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 119,
|
||
"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": 119,
|
||
"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": 120,
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"data": {
|
||
"text/plain": [
|
||
"ram_gb float64\n",
|
||
"ssd float64\n",
|
||
"hdd float64\n",
|
||
"graphic_card_gb float64\n",
|
||
"Price int64\n",
|
||
"rating float64\n",
|
||
"Number of Ratings int64\n",
|
||
"Number of Reviews int64\n",
|
||
"brand_APPLE bool\n",
|
||
"brand_ASUS bool\n",
|
||
"brand_Avita bool\n",
|
||
"brand_DELL bool\n",
|
||
"brand_HP bool\n",
|
||
"brand_Lenovo bool\n",
|
||
"brand_MSI bool\n",
|
||
"brand_acer bool\n",
|
||
"processor_brand_AMD bool\n",
|
||
"processor_brand_Intel bool\n",
|
||
"processor_brand_M1 bool\n",
|
||
"processor_name_Celeron Dual bool\n",
|
||
"processor_name_Core i3 bool\n",
|
||
"processor_name_Core i5 bool\n",
|
||
"processor_name_Core i7 bool\n",
|
||
"processor_name_Core i9 bool\n",
|
||
"processor_name_M1 bool\n",
|
||
"processor_name_Pentium Quad bool\n",
|
||
"processor_name_Ryzen 3 bool\n",
|
||
"processor_name_Ryzen 5 bool\n",
|
||
"processor_name_Ryzen 7 bool\n",
|
||
"processor_name_Ryzen 9 bool\n",
|
||
"ram_type_DDR3 bool\n",
|
||
"ram_type_DDR4 bool\n",
|
||
"ram_type_DDR5 bool\n",
|
||
"ram_type_LPDDR3 bool\n",
|
||
"ram_type_LPDDR4 bool\n",
|
||
"ram_type_LPDDR4X bool\n",
|
||
"os_DOS bool\n",
|
||
"os_Mac bool\n",
|
||
"os_Windows bool\n",
|
||
"os_bit_32-bit bool\n",
|
||
"os_bit_64-bit bool\n",
|
||
"Touchscreen_No bool\n",
|
||
"Touchscreen_Yes bool\n",
|
||
"msoffice_No bool\n",
|
||
"msoffice_Yes bool\n",
|
||
"warranty_1 year bool\n",
|
||
"warranty_2 years bool\n",
|
||
"warranty_3 years bool\n",
|
||
"warranty_No warranty bool\n",
|
||
"processor_gnrtn_10th bool\n",
|
||
"processor_gnrtn_11th bool\n",
|
||
"processor_gnrtn_12th bool\n",
|
||
"processor_gnrtn_4th bool\n",
|
||
"processor_gnrtn_7th bool\n",
|
||
"processor_gnrtn_8th bool\n",
|
||
"processor_gnrtn_9th bool\n",
|
||
"processor_gnrtn_Not Available bool\n",
|
||
"weight_Casual bool\n",
|
||
"weight_Gaming bool\n",
|
||
"weight_ThinNlight bool\n",
|
||
"dtype: object"
|
||
]
|
||
},
|
||
"execution_count": 120,
|
||
"metadata": {},
|
||
"output_type": "execute_result"
|
||
}
|
||
],
|
||
"source": [
|
||
"df.dtypes\n"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 121,
|
||
"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": "markdown",
|
||
"metadata": {
|
||
"id": "hgqsngyck7xl"
|
||
},
|
||
"source": [
|
||
"### Задание 2\n",
|
||
"\n",
|
||
"Реализуйте алгоритм линеной регрессии без использования регуляризации."
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 122,
|
||
"metadata": {
|
||
"id": "Ch5WytHwlGpd"
|
||
},
|
||
"outputs": [
|
||
{
|
||
"data": {
|
||
"text/html": [
|
||
"<style>#sk-container-id-21 {\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-21 {\n",
|
||
" color: var(--sklearn-color-text);\n",
|
||
"}\n",
|
||
"\n",
|
||
"#sk-container-id-21 pre {\n",
|
||
" padding: 0;\n",
|
||
"}\n",
|
||
"\n",
|
||
"#sk-container-id-21 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-21 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-21 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-21 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-21 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-21 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-21 div.sk-parallel-item {\n",
|
||
" display: flex;\n",
|
||
" flex-direction: column;\n",
|
||
"}\n",
|
||
"\n",
|
||
"#sk-container-id-21 div.sk-parallel-item:first-child::after {\n",
|
||
" align-self: flex-end;\n",
|
||
" width: 50%;\n",
|
||
"}\n",
|
||
"\n",
|
||
"#sk-container-id-21 div.sk-parallel-item:last-child::after {\n",
|
||
" align-self: flex-start;\n",
|
||
" width: 50%;\n",
|
||
"}\n",
|
||
"\n",
|
||
"#sk-container-id-21 div.sk-parallel-item:only-child::after {\n",
|
||
" width: 0;\n",
|
||
"}\n",
|
||
"\n",
|
||
"/* Serial-specific style estimator block */\n",
|
||
"\n",
|
||
"#sk-container-id-21 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-21 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-21 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-21 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-21 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-21 label.sk-toggleable__label-arrow:hover:before {\n",
|
||
" color: var(--sklearn-color-text);\n",
|
||
"}\n",
|
||
"\n",
|
||
"/* Toggleable content - dropdown */\n",
|
||
"\n",
|
||
"#sk-container-id-21 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-21 div.sk-toggleable__content.fitted {\n",
|
||
" /* fitted */\n",
|
||
" background-color: var(--sklearn-color-fitted-level-0);\n",
|
||
"}\n",
|
||
"\n",
|
||
"#sk-container-id-21 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-21 div.sk-toggleable__content.fitted pre {\n",
|
||
" /* unfitted */\n",
|
||
" background-color: var(--sklearn-color-fitted-level-0);\n",
|
||
"}\n",
|
||
"\n",
|
||
"#sk-container-id-21 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-21 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-21 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-21 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-21 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-21 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-21 div.sk-label label.sk-toggleable__label,\n",
|
||
"#sk-container-id-21 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-21 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-21 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-21 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-21 div.sk-label-container {\n",
|
||
" text-align: center;\n",
|
||
"}\n",
|
||
"\n",
|
||
"/* Estimator-specific */\n",
|
||
"#sk-container-id-21 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-21 div.sk-estimator.fitted {\n",
|
||
" /* fitted */\n",
|
||
" background-color: var(--sklearn-color-fitted-level-0);\n",
|
||
"}\n",
|
||
"\n",
|
||
"/* on hover */\n",
|
||
"#sk-container-id-21 div.sk-estimator:hover {\n",
|
||
" /* unfitted */\n",
|
||
" background-color: var(--sklearn-color-unfitted-level-2);\n",
|
||
"}\n",
|
||
"\n",
|
||
"#sk-container-id-21 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-21 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-21 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-21 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-21 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-21\" 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-55\" type=\"checkbox\" checked><label for=\"sk-estimator-id-55\" 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": 122,
|
||
"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": 123,
|
||
"metadata": {
|
||
"id": "nwDuPoSHlKDP"
|
||
},
|
||
"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": "markdown",
|
||
"metadata": {
|
||
"id": "eWc9D163lKPB"
|
||
},
|
||
"source": [
|
||
"### Задание 3\n",
|
||
"\n",
|
||
"Реализуйте алгоритм линейной регрессии с L1-регуляризацией."
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 124,
|
||
"metadata": {
|
||
"id": "LRuuj9PDli5A"
|
||
},
|
||
"outputs": [
|
||
{
|
||
"data": {
|
||
"text/html": [
|
||
"<style>#sk-container-id-22 {\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-22 {\n",
|
||
" color: var(--sklearn-color-text);\n",
|
||
"}\n",
|
||
"\n",
|
||
"#sk-container-id-22 pre {\n",
|
||
" padding: 0;\n",
|
||
"}\n",
|
||
"\n",
|
||
"#sk-container-id-22 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-22 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-22 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-22 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-22 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-22 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-22 div.sk-parallel-item {\n",
|
||
" display: flex;\n",
|
||
" flex-direction: column;\n",
|
||
"}\n",
|
||
"\n",
|
||
"#sk-container-id-22 div.sk-parallel-item:first-child::after {\n",
|
||
" align-self: flex-end;\n",
|
||
" width: 50%;\n",
|
||
"}\n",
|
||
"\n",
|
||
"#sk-container-id-22 div.sk-parallel-item:last-child::after {\n",
|
||
" align-self: flex-start;\n",
|
||
" width: 50%;\n",
|
||
"}\n",
|
||
"\n",
|
||
"#sk-container-id-22 div.sk-parallel-item:only-child::after {\n",
|
||
" width: 0;\n",
|
||
"}\n",
|
||
"\n",
|
||
"/* Serial-specific style estimator block */\n",
|
||
"\n",
|
||
"#sk-container-id-22 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-22 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-22 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-22 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-22 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-22 label.sk-toggleable__label-arrow:hover:before {\n",
|
||
" color: var(--sklearn-color-text);\n",
|
||
"}\n",
|
||
"\n",
|
||
"/* Toggleable content - dropdown */\n",
|
||
"\n",
|
||
"#sk-container-id-22 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-22 div.sk-toggleable__content.fitted {\n",
|
||
" /* fitted */\n",
|
||
" background-color: var(--sklearn-color-fitted-level-0);\n",
|
||
"}\n",
|
||
"\n",
|
||
"#sk-container-id-22 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-22 div.sk-toggleable__content.fitted pre {\n",
|
||
" /* unfitted */\n",
|
||
" background-color: var(--sklearn-color-fitted-level-0);\n",
|
||
"}\n",
|
||
"\n",
|
||
"#sk-container-id-22 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-22 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-22 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-22 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-22 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-22 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-22 div.sk-label label.sk-toggleable__label,\n",
|
||
"#sk-container-id-22 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-22 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-22 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-22 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-22 div.sk-label-container {\n",
|
||
" text-align: center;\n",
|
||
"}\n",
|
||
"\n",
|
||
"/* Estimator-specific */\n",
|
||
"#sk-container-id-22 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-22 div.sk-estimator.fitted {\n",
|
||
" /* fitted */\n",
|
||
" background-color: var(--sklearn-color-fitted-level-0);\n",
|
||
"}\n",
|
||
"\n",
|
||
"/* on hover */\n",
|
||
"#sk-container-id-22 div.sk-estimator:hover {\n",
|
||
" /* unfitted */\n",
|
||
" background-color: var(--sklearn-color-unfitted-level-2);\n",
|
||
"}\n",
|
||
"\n",
|
||
"#sk-container-id-22 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-22 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-22 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-22 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-22 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-22\" class=\"sk-top-container\"><div class=\"sk-text-repr-fallback\"><pre>Pipeline(steps=[('standardscaler', StandardScaler()),\n",
|
||
" ('lasso', Lasso(alpha=100, random_state=42))])</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 sk-dashed-wrapped\"><div class=\"sk-label-container\"><div class=\"sk-label fitted sk-toggleable\"><input class=\"sk-toggleable__control sk-hidden--visually\" id=\"sk-estimator-id-56\" type=\"checkbox\" ><label for=\"sk-estimator-id-56\" class=\"sk-toggleable__label fitted sk-toggleable__label-arrow\"><div><div>Pipeline</div></div><div><a class=\"sk-estimator-doc-link fitted\" rel=\"noreferrer\" target=\"_blank\" href=\"https://scikit-learn.org/1.7/modules/generated/sklearn.pipeline.Pipeline.html\">?<span>Documentation for Pipeline</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=\"user-set\">\n",
|
||
" <td><i class=\"copy-paste-icon\"\n",
|
||
" onclick=\"copyToClipboard('steps',\n",
|
||
" this.parentElement.nextElementSibling)\"\n",
|
||
" ></i></td>\n",
|
||
" <td class=\"param\">steps </td>\n",
|
||
" <td class=\"value\">[('standardscaler', ...), ('lasso', ...)]</td>\n",
|
||
" </tr>\n",
|
||
" \n",
|
||
"\n",
|
||
" <tr class=\"default\">\n",
|
||
" <td><i class=\"copy-paste-icon\"\n",
|
||
" onclick=\"copyToClipboard('transform_input',\n",
|
||
" this.parentElement.nextElementSibling)\"\n",
|
||
" ></i></td>\n",
|
||
" <td class=\"param\">transform_input </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('memory',\n",
|
||
" this.parentElement.nextElementSibling)\"\n",
|
||
" ></i></td>\n",
|
||
" <td class=\"param\">memory </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('verbose',\n",
|
||
" this.parentElement.nextElementSibling)\"\n",
|
||
" ></i></td>\n",
|
||
" <td class=\"param\">verbose </td>\n",
|
||
" <td class=\"value\">False</td>\n",
|
||
" </tr>\n",
|
||
" \n",
|
||
" </tbody>\n",
|
||
" </table>\n",
|
||
" </details>\n",
|
||
" </div>\n",
|
||
" </div></div></div><div class=\"sk-serial\"><div class=\"sk-item\"><div class=\"sk-estimator fitted sk-toggleable\"><input class=\"sk-toggleable__control sk-hidden--visually\" id=\"sk-estimator-id-57\" type=\"checkbox\" ><label for=\"sk-estimator-id-57\" class=\"sk-toggleable__label fitted sk-toggleable__label-arrow\"><div><div>StandardScaler</div></div><div><a class=\"sk-estimator-doc-link fitted\" rel=\"noreferrer\" target=\"_blank\" href=\"https://scikit-learn.org/1.7/modules/generated/sklearn.preprocessing.StandardScaler.html\">?<span>Documentation for StandardScaler</span></a></div></label><div class=\"sk-toggleable__content fitted\" data-param-prefix=\"standardscaler__\">\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('copy',\n",
|
||
" this.parentElement.nextElementSibling)\"\n",
|
||
" ></i></td>\n",
|
||
" <td class=\"param\">copy </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('with_mean',\n",
|
||
" this.parentElement.nextElementSibling)\"\n",
|
||
" ></i></td>\n",
|
||
" <td class=\"param\">with_mean </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('with_std',\n",
|
||
" this.parentElement.nextElementSibling)\"\n",
|
||
" ></i></td>\n",
|
||
" <td class=\"param\">with_std </td>\n",
|
||
" <td class=\"value\">True</td>\n",
|
||
" </tr>\n",
|
||
" \n",
|
||
" </tbody>\n",
|
||
" </table>\n",
|
||
" </details>\n",
|
||
" </div>\n",
|
||
" </div></div></div><div class=\"sk-item\"><div class=\"sk-estimator fitted sk-toggleable\"><input class=\"sk-toggleable__control sk-hidden--visually\" id=\"sk-estimator-id-58\" type=\"checkbox\" ><label for=\"sk-estimator-id-58\" class=\"sk-toggleable__label fitted sk-toggleable__label-arrow\"><div><div>Lasso</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.Lasso.html\">?<span>Documentation for Lasso</span></a></div></label><div class=\"sk-toggleable__content fitted\" data-param-prefix=\"lasso__\">\n",
|
||
" <div class=\"estimator-table\">\n",
|
||
" <details>\n",
|
||
" <summary>Parameters</summary>\n",
|
||
" <table class=\"parameters-table\">\n",
|
||
" <tbody>\n",
|
||
" \n",
|
||
" <tr class=\"user-set\">\n",
|
||
" <td><i class=\"copy-paste-icon\"\n",
|
||
" onclick=\"copyToClipboard('alpha',\n",
|
||
" this.parentElement.nextElementSibling)\"\n",
|
||
" ></i></td>\n",
|
||
" <td class=\"param\">alpha </td>\n",
|
||
" <td class=\"value\">100</td>\n",
|
||
" </tr>\n",
|
||
" \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('precompute',\n",
|
||
" this.parentElement.nextElementSibling)\"\n",
|
||
" ></i></td>\n",
|
||
" <td class=\"param\">precompute </td>\n",
|
||
" <td class=\"value\">False</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('max_iter',\n",
|
||
" this.parentElement.nextElementSibling)\"\n",
|
||
" ></i></td>\n",
|
||
" <td class=\"param\">max_iter </td>\n",
|
||
" <td class=\"value\">1000</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\">0.0001</td>\n",
|
||
" </tr>\n",
|
||
" \n",
|
||
"\n",
|
||
" <tr class=\"default\">\n",
|
||
" <td><i class=\"copy-paste-icon\"\n",
|
||
" onclick=\"copyToClipboard('warm_start',\n",
|
||
" this.parentElement.nextElementSibling)\"\n",
|
||
" ></i></td>\n",
|
||
" <td class=\"param\">warm_start </td>\n",
|
||
" <td class=\"value\">False</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",
|
||
"\n",
|
||
" <tr class=\"user-set\">\n",
|
||
" <td><i class=\"copy-paste-icon\"\n",
|
||
" onclick=\"copyToClipboard('random_state',\n",
|
||
" this.parentElement.nextElementSibling)\"\n",
|
||
" ></i></td>\n",
|
||
" <td class=\"param\">random_state </td>\n",
|
||
" <td class=\"value\">42</td>\n",
|
||
" </tr>\n",
|
||
" \n",
|
||
"\n",
|
||
" <tr class=\"default\">\n",
|
||
" <td><i class=\"copy-paste-icon\"\n",
|
||
" onclick=\"copyToClipboard('selection',\n",
|
||
" this.parentElement.nextElementSibling)\"\n",
|
||
" ></i></td>\n",
|
||
" <td class=\"param\">selection </td>\n",
|
||
" <td class=\"value\">'cyclic'</td>\n",
|
||
" </tr>\n",
|
||
" \n",
|
||
" </tbody>\n",
|
||
" </table>\n",
|
||
" </details>\n",
|
||
" </div>\n",
|
||
" </div></div></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": [
|
||
"Pipeline(steps=[('standardscaler', StandardScaler()),\n",
|
||
" ('lasso', Lasso(alpha=100, random_state=42))])"
|
||
]
|
||
},
|
||
"execution_count": 124,
|
||
"metadata": {},
|
||
"output_type": "execute_result"
|
||
}
|
||
],
|
||
"source": [
|
||
"from sklearn.linear_model import Lasso\n",
|
||
"from sklearn.pipeline import make_pipeline\n",
|
||
"from sklearn.preprocessing import StandardScaler\n",
|
||
"\n",
|
||
"lasso = make_pipeline(StandardScaler(), Lasso(alpha=100, random_state=42))\n",
|
||
"lasso.fit(X_train, y_train)"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 125,
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"name": "stdout",
|
||
"output_type": "stream",
|
||
"text": [
|
||
"MSE: 608702817.47\n",
|
||
"RMSE: 24671.90\n",
|
||
"R²: 0.6877\n"
|
||
]
|
||
}
|
||
],
|
||
"source": [
|
||
"y_pred = lasso.predict(X_test)\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": "markdown",
|
||
"metadata": {
|
||
"id": "RYFhErkHlmFV"
|
||
},
|
||
"source": [
|
||
"### Задание 4\n",
|
||
"\n",
|
||
"Реализуйте алгоритм линейной регрессии с L2-регуляризацией."
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 126,
|
||
"metadata": {
|
||
"id": "fUQ70y9Plq9u"
|
||
},
|
||
"outputs": [
|
||
{
|
||
"data": {
|
||
"text/html": [
|
||
"<style>#sk-container-id-23 {\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-23 {\n",
|
||
" color: var(--sklearn-color-text);\n",
|
||
"}\n",
|
||
"\n",
|
||
"#sk-container-id-23 pre {\n",
|
||
" padding: 0;\n",
|
||
"}\n",
|
||
"\n",
|
||
"#sk-container-id-23 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-23 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-23 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-23 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-23 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-23 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-23 div.sk-parallel-item {\n",
|
||
" display: flex;\n",
|
||
" flex-direction: column;\n",
|
||
"}\n",
|
||
"\n",
|
||
"#sk-container-id-23 div.sk-parallel-item:first-child::after {\n",
|
||
" align-self: flex-end;\n",
|
||
" width: 50%;\n",
|
||
"}\n",
|
||
"\n",
|
||
"#sk-container-id-23 div.sk-parallel-item:last-child::after {\n",
|
||
" align-self: flex-start;\n",
|
||
" width: 50%;\n",
|
||
"}\n",
|
||
"\n",
|
||
"#sk-container-id-23 div.sk-parallel-item:only-child::after {\n",
|
||
" width: 0;\n",
|
||
"}\n",
|
||
"\n",
|
||
"/* Serial-specific style estimator block */\n",
|
||
"\n",
|
||
"#sk-container-id-23 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-23 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-23 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-23 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-23 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-23 label.sk-toggleable__label-arrow:hover:before {\n",
|
||
" color: var(--sklearn-color-text);\n",
|
||
"}\n",
|
||
"\n",
|
||
"/* Toggleable content - dropdown */\n",
|
||
"\n",
|
||
"#sk-container-id-23 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-23 div.sk-toggleable__content.fitted {\n",
|
||
" /* fitted */\n",
|
||
" background-color: var(--sklearn-color-fitted-level-0);\n",
|
||
"}\n",
|
||
"\n",
|
||
"#sk-container-id-23 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-23 div.sk-toggleable__content.fitted pre {\n",
|
||
" /* unfitted */\n",
|
||
" background-color: var(--sklearn-color-fitted-level-0);\n",
|
||
"}\n",
|
||
"\n",
|
||
"#sk-container-id-23 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-23 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-23 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-23 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-23 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-23 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-23 div.sk-label label.sk-toggleable__label,\n",
|
||
"#sk-container-id-23 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-23 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-23 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-23 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-23 div.sk-label-container {\n",
|
||
" text-align: center;\n",
|
||
"}\n",
|
||
"\n",
|
||
"/* Estimator-specific */\n",
|
||
"#sk-container-id-23 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-23 div.sk-estimator.fitted {\n",
|
||
" /* fitted */\n",
|
||
" background-color: var(--sklearn-color-fitted-level-0);\n",
|
||
"}\n",
|
||
"\n",
|
||
"/* on hover */\n",
|
||
"#sk-container-id-23 div.sk-estimator:hover {\n",
|
||
" /* unfitted */\n",
|
||
" background-color: var(--sklearn-color-unfitted-level-2);\n",
|
||
"}\n",
|
||
"\n",
|
||
"#sk-container-id-23 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-23 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-23 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-23 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-23 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-23\" class=\"sk-top-container\"><div class=\"sk-text-repr-fallback\"><pre>Pipeline(steps=[('standardscaler', StandardScaler()),\n",
|
||
" ('ridge', Ridge(alpha=100, random_state=42))])</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 sk-dashed-wrapped\"><div class=\"sk-label-container\"><div class=\"sk-label fitted sk-toggleable\"><input class=\"sk-toggleable__control sk-hidden--visually\" id=\"sk-estimator-id-59\" type=\"checkbox\" ><label for=\"sk-estimator-id-59\" class=\"sk-toggleable__label fitted sk-toggleable__label-arrow\"><div><div>Pipeline</div></div><div><a class=\"sk-estimator-doc-link fitted\" rel=\"noreferrer\" target=\"_blank\" href=\"https://scikit-learn.org/1.7/modules/generated/sklearn.pipeline.Pipeline.html\">?<span>Documentation for Pipeline</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=\"user-set\">\n",
|
||
" <td><i class=\"copy-paste-icon\"\n",
|
||
" onclick=\"copyToClipboard('steps',\n",
|
||
" this.parentElement.nextElementSibling)\"\n",
|
||
" ></i></td>\n",
|
||
" <td class=\"param\">steps </td>\n",
|
||
" <td class=\"value\">[('standardscaler', ...), ('ridge', ...)]</td>\n",
|
||
" </tr>\n",
|
||
" \n",
|
||
"\n",
|
||
" <tr class=\"default\">\n",
|
||
" <td><i class=\"copy-paste-icon\"\n",
|
||
" onclick=\"copyToClipboard('transform_input',\n",
|
||
" this.parentElement.nextElementSibling)\"\n",
|
||
" ></i></td>\n",
|
||
" <td class=\"param\">transform_input </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('memory',\n",
|
||
" this.parentElement.nextElementSibling)\"\n",
|
||
" ></i></td>\n",
|
||
" <td class=\"param\">memory </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('verbose',\n",
|
||
" this.parentElement.nextElementSibling)\"\n",
|
||
" ></i></td>\n",
|
||
" <td class=\"param\">verbose </td>\n",
|
||
" <td class=\"value\">False</td>\n",
|
||
" </tr>\n",
|
||
" \n",
|
||
" </tbody>\n",
|
||
" </table>\n",
|
||
" </details>\n",
|
||
" </div>\n",
|
||
" </div></div></div><div class=\"sk-serial\"><div class=\"sk-item\"><div class=\"sk-estimator fitted sk-toggleable\"><input class=\"sk-toggleable__control sk-hidden--visually\" id=\"sk-estimator-id-60\" type=\"checkbox\" ><label for=\"sk-estimator-id-60\" class=\"sk-toggleable__label fitted sk-toggleable__label-arrow\"><div><div>StandardScaler</div></div><div><a class=\"sk-estimator-doc-link fitted\" rel=\"noreferrer\" target=\"_blank\" href=\"https://scikit-learn.org/1.7/modules/generated/sklearn.preprocessing.StandardScaler.html\">?<span>Documentation for StandardScaler</span></a></div></label><div class=\"sk-toggleable__content fitted\" data-param-prefix=\"standardscaler__\">\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('copy',\n",
|
||
" this.parentElement.nextElementSibling)\"\n",
|
||
" ></i></td>\n",
|
||
" <td class=\"param\">copy </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('with_mean',\n",
|
||
" this.parentElement.nextElementSibling)\"\n",
|
||
" ></i></td>\n",
|
||
" <td class=\"param\">with_mean </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('with_std',\n",
|
||
" this.parentElement.nextElementSibling)\"\n",
|
||
" ></i></td>\n",
|
||
" <td class=\"param\">with_std </td>\n",
|
||
" <td class=\"value\">True</td>\n",
|
||
" </tr>\n",
|
||
" \n",
|
||
" </tbody>\n",
|
||
" </table>\n",
|
||
" </details>\n",
|
||
" </div>\n",
|
||
" </div></div></div><div class=\"sk-item\"><div class=\"sk-estimator fitted sk-toggleable\"><input class=\"sk-toggleable__control sk-hidden--visually\" id=\"sk-estimator-id-61\" type=\"checkbox\" ><label for=\"sk-estimator-id-61\" class=\"sk-toggleable__label fitted sk-toggleable__label-arrow\"><div><div>Ridge</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.Ridge.html\">?<span>Documentation for Ridge</span></a></div></label><div class=\"sk-toggleable__content fitted\" data-param-prefix=\"ridge__\">\n",
|
||
" <div class=\"estimator-table\">\n",
|
||
" <details>\n",
|
||
" <summary>Parameters</summary>\n",
|
||
" <table class=\"parameters-table\">\n",
|
||
" <tbody>\n",
|
||
" \n",
|
||
" <tr class=\"user-set\">\n",
|
||
" <td><i class=\"copy-paste-icon\"\n",
|
||
" onclick=\"copyToClipboard('alpha',\n",
|
||
" this.parentElement.nextElementSibling)\"\n",
|
||
" ></i></td>\n",
|
||
" <td class=\"param\">alpha </td>\n",
|
||
" <td class=\"value\">100</td>\n",
|
||
" </tr>\n",
|
||
" \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('max_iter',\n",
|
||
" this.parentElement.nextElementSibling)\"\n",
|
||
" ></i></td>\n",
|
||
" <td class=\"param\">max_iter </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('tol',\n",
|
||
" this.parentElement.nextElementSibling)\"\n",
|
||
" ></i></td>\n",
|
||
" <td class=\"param\">tol </td>\n",
|
||
" <td class=\"value\">0.0001</td>\n",
|
||
" </tr>\n",
|
||
" \n",
|
||
"\n",
|
||
" <tr class=\"default\">\n",
|
||
" <td><i class=\"copy-paste-icon\"\n",
|
||
" onclick=\"copyToClipboard('solver',\n",
|
||
" this.parentElement.nextElementSibling)\"\n",
|
||
" ></i></td>\n",
|
||
" <td class=\"param\">solver </td>\n",
|
||
" <td class=\"value\">'auto'</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",
|
||
"\n",
|
||
" <tr class=\"user-set\">\n",
|
||
" <td><i class=\"copy-paste-icon\"\n",
|
||
" onclick=\"copyToClipboard('random_state',\n",
|
||
" this.parentElement.nextElementSibling)\"\n",
|
||
" ></i></td>\n",
|
||
" <td class=\"param\">random_state </td>\n",
|
||
" <td class=\"value\">42</td>\n",
|
||
" </tr>\n",
|
||
" \n",
|
||
" </tbody>\n",
|
||
" </table>\n",
|
||
" </details>\n",
|
||
" </div>\n",
|
||
" </div></div></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": [
|
||
"Pipeline(steps=[('standardscaler', StandardScaler()),\n",
|
||
" ('ridge', Ridge(alpha=100, random_state=42))])"
|
||
]
|
||
},
|
||
"execution_count": 126,
|
||
"metadata": {},
|
||
"output_type": "execute_result"
|
||
}
|
||
],
|
||
"source": [
|
||
"from sklearn.linear_model import Ridge\n",
|
||
"\n",
|
||
"ridge = make_pipeline(StandardScaler(), Ridge(alpha=100, random_state=42))\n",
|
||
"ridge.fit(X_train, y_train)"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 127,
|
||
"metadata": {
|
||
"id": "78PA6hmwl-1p"
|
||
},
|
||
"outputs": [
|
||
{
|
||
"name": "stdout",
|
||
"output_type": "stream",
|
||
"text": [
|
||
"MSE: 576791993.95\n",
|
||
"RMSE: 24016.49\n",
|
||
"R²: 0.7040\n"
|
||
]
|
||
}
|
||
],
|
||
"source": [
|
||
"y_pred = ridge.predict(X_test)\n",
|
||
"\n",
|
||
"mse = mean_squared_error(y_test, y_pred)\n",
|
||
"rmse = np.sqrt(mse)\n",
|
||
"r2 = r2_score(y_test, y_pred)\n",
|
||
"\n",
|
||
"print(f\"MSE: {mse:.2f}\")\n",
|
||
"print(f\"RMSE: {rmse:.2f}\")\n",
|
||
"print(f\"R²: {r2:.4f}\")"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"metadata": {
|
||
"id": "ssFzfn1Pl4AI"
|
||
},
|
||
"source": [
|
||
"### Задание 5\n",
|
||
"\n",
|
||
"Сделайте выводы о результатах обучения."
|
||
]
|
||
}
|
||
],
|
||
"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
|
||
}
|