mieszkania5/SysInf.ipynb

2856 lines
230 KiB
Plaintext
Raw Normal View History

2023-10-17 17:30:25 +02:00
{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Systemy informatyczne - 1. Organizacja pracy zespołowej"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Klonowanie dostępnych danych uczących"
]
},
2023-10-17 17:30:25 +02:00
{
"cell_type": "code",
2023-10-17 18:50:02 +02:00
"execution_count": 9,
2023-10-17 17:30:25 +02:00
"metadata": {},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"fatal: destination path 'mieszkania5' already exists and is not an empty directory.\n"
]
}
],
"source": [
"!git clone git://gonito.net/mieszkania5"
]
},
{
"cell_type": "markdown",
2023-10-17 17:30:25 +02:00
"metadata": {},
"source": [
"## Import danych treningowych, walidacyjnych i testowych"
2023-10-17 17:30:25 +02:00
]
},
{
"cell_type": "code",
2023-10-17 18:50:02 +02:00
"execution_count": 10,
2023-10-17 17:30:25 +02:00
"metadata": {},
"outputs": [],
"source": [
"import numpy as np\n",
"import pandas as pd"
2023-10-17 17:30:25 +02:00
]
},
{
"cell_type": "markdown",
2023-10-17 17:30:25 +02:00
"metadata": {},
"source": [
"### Dane treningowe"
2023-10-17 17:30:25 +02:00
]
},
{
"cell_type": "code",
2023-10-17 18:50:02 +02:00
"execution_count": 11,
2023-10-17 17:30:25 +02:00
"metadata": {},
"outputs": [],
"source": [
"df_train = pd.read_csv(r'mieszkania5\\train\\train.tsv', sep='\\t', header=None)\n"
2023-10-17 17:30:25 +02:00
]
},
{
"cell_type": "code",
2023-10-17 18:50:02 +02:00
"execution_count": 12,
2023-10-17 17:30:25 +02:00
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>0</th>\n",
" <th>1</th>\n",
" <th>2</th>\n",
" <th>3</th>\n",
" <th>4</th>\n",
" <th>5</th>\n",
2023-10-17 17:30:25 +02:00
" <th>6</th>\n",
" <th>7</th>\n",
2023-10-17 17:30:25 +02:00
" <th>8</th>\n",
" <th>9</th>\n",
" <th>...</th>\n",
" <th>16</th>\n",
" <th>17</th>\n",
" <th>18</th>\n",
2023-10-17 17:30:25 +02:00
" <th>19</th>\n",
" <th>20</th>\n",
" <th>21</th>\n",
" <th>22</th>\n",
" <th>23</th>\n",
" <th>24</th>\n",
" <th>25</th>\n",
2023-10-17 17:30:25 +02:00
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>309000.0</td>\n",
" <td>do zamieszkania</td>\n",
" <td>390 zł</td>\n",
" <td>spółdzielcze własnościowe</td>\n",
" <td>7113</td>\n",
" <td>https://www.otodom.pl/oferta/niezalezny-uklad-...</td>\n",
2023-10-17 17:30:25 +02:00
" <td>2</td>\n",
" <td>NaN</td>\n",
2023-10-17 17:30:25 +02:00
" <td>43.44</td>\n",
" <td>wtórny</td>\n",
" <td>...</td>\n",
" <td>NaN</td>\n",
" <td>gazowe</td>\n",
" <td>plastikowe</td>\n",
" <td>NaN</td>\n",
2023-10-17 17:30:25 +02:00
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>cegła</td>\n",
" <td>Polecamy na sprzedaż dwupokojowe mieszkanie p...</td>\n",
" <td>NaN</td>\n",
" <td>telewizja kablowa, internet, meble, piwnica, g...</td>\n",
2023-10-17 17:30:25 +02:00
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>314900.0</td>\n",
" <td>do wykończenia</td>\n",
" <td>NaN</td>\n",
" <td>pełna własność</td>\n",
" <td>7392</td>\n",
" <td>https://www.otodom.pl/oferta/urokliwe-mieszkan...</td>\n",
2023-10-17 17:30:25 +02:00
" <td>2</td>\n",
" <td>NaN</td>\n",
2023-10-17 17:30:25 +02:00
" <td>42.60</td>\n",
" <td>pierwotny</td>\n",
" <td>...</td>\n",
" <td>NaN</td>\n",
" <td>gazowe</td>\n",
" <td>plastikowe</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
2023-10-17 17:30:25 +02:00
" <td>NaN</td>\n",
" <td>cegła</td>\n",
" <td>Kameralne 2 pokojowe mieszkanie z aneksem kuc...</td>\n",
" <td>NaN</td>\n",
" <td>telewizja kablowa, internet, telefon, drzwi / ...</td>\n",
2023-10-17 17:30:25 +02:00
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>249000.0</td>\n",
" <td>do remontu</td>\n",
" <td>300 zł</td>\n",
" <td>pełna własność</td>\n",
" <td>5621</td>\n",
" <td>https://www.otodom.pl/oferta/mieszkanie-do-rem...</td>\n",
2023-10-17 17:30:25 +02:00
" <td>2</td>\n",
" <td>NaN</td>\n",
2023-10-17 17:30:25 +02:00
" <td>44.30</td>\n",
" <td>wtórny</td>\n",
" <td>...</td>\n",
" <td>NaN</td>\n",
" <td>miejskie</td>\n",
" <td>plastikowe</td>\n",
2023-10-17 17:30:25 +02:00
" <td>1960.0</td>\n",
" <td>NaN</td>\n",
" <td>2019-06-30</td>\n",
" <td>cegła</td>\n",
" <td>Oferta bezpośrednio od właściciela - bez pośr...</td>\n",
" <td>NaN</td>\n",
" <td>telewizja kablowa, internet, telefon, domofon ...</td>\n",
2023-10-17 17:30:25 +02:00
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>419000.0</td>\n",
" <td>do zamieszkania</td>\n",
" <td>490 zł</td>\n",
" <td>pełna własność</td>\n",
" <td>4761</td>\n",
" <td>https://www.otodom.pl/oferta/w-szeregowcu-4-po...</td>\n",
2023-10-17 17:30:25 +02:00
" <td>4</td>\n",
" <td>NaN</td>\n",
2023-10-17 17:30:25 +02:00
" <td>88</td>\n",
" <td>wtórny</td>\n",
" <td>...</td>\n",
" <td>NaN</td>\n",
" <td>gazowe</td>\n",
" <td>plastikowe</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>cegła</td>\n",
" <td>Drodzy Państwo Zapraszam do zapoznania się z ...</td>\n",
2023-10-17 17:30:25 +02:00
" <td>NaN</td>\n",
" <td>telewizja kablowa, internet, zmywarka, lodówka...</td>\n",
2023-10-17 17:30:25 +02:00
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>499000.0</td>\n",
" <td>NaN</td>\n",
" <td>850 zł</td>\n",
" <td>NaN</td>\n",
" <td>6481</td>\n",
" <td>https://www.otodom.pl/oferta/komfortowe-przest...</td>\n",
2023-10-17 17:30:25 +02:00
" <td>3</td>\n",
" <td>NaN</td>\n",
2023-10-17 17:30:25 +02:00
" <td>77</td>\n",
" <td>wtórny</td>\n",
" <td>...</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>plastikowe</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
2023-10-17 17:30:25 +02:00
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>Biuro Immohouse ma przyjemność proponować do ...</td>\n",
" <td>NaN</td>\n",
" <td>balkon, piwnica, winda</td>\n",
2023-10-17 17:30:25 +02:00
" </tr>\n",
" <tr>\n",
" <th>...</th>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
2023-10-17 17:30:25 +02:00
" </tr>\n",
" <tr>\n",
" <th>2542</th>\n",
" <td>507600.0</td>\n",
" <td>do wykończenia</td>\n",
" <td>1 zł</td>\n",
" <td>pełna własność</td>\n",
" <td>5400</td>\n",
" <td>https://www.otodom.pl/oferta/mieszkanie-do-spr...</td>\n",
2023-10-17 17:30:25 +02:00
" <td>4</td>\n",
" <td>NaN</td>\n",
2023-10-17 17:30:25 +02:00
" <td>94</td>\n",
" <td>wtórny</td>\n",
" <td>...</td>\n",
" <td>NaN</td>\n",
" <td>gazowe</td>\n",
" <td>drewniane</td>\n",
2023-10-17 17:30:25 +02:00
" <td>1914.0</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>cegła</td>\n",
" <td>Do sprzedaży mieszkanie na drugim piętrze w s...</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
2023-10-17 17:30:25 +02:00
" </tr>\n",
" <tr>\n",
" <th>2543</th>\n",
" <td>342400.0</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>spółdzielcze własnościowe</td>\n",
" <td>6400</td>\n",
" <td>https://www.otodom.pl/oferta/mieszkanie-53-50-...</td>\n",
2023-10-17 17:30:25 +02:00
" <td>2</td>\n",
" <td>NaN</td>\n",
2023-10-17 17:30:25 +02:00
" <td>53.50</td>\n",
" <td>wtórny</td>\n",
" <td>...</td>\n",
" <td>NaN</td>\n",
" <td>miejskie</td>\n",
" <td>drewniane</td>\n",
2023-10-17 17:30:25 +02:00
" <td>1999.0</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>cegła</td>\n",
" <td>| Świetnie zlokalizowane, przestronne, czyste...</td>\n",
" <td>NaN</td>\n",
" <td>telewizja kablowa, internet, telefon, monitori...</td>\n",
2023-10-17 17:30:25 +02:00
" </tr>\n",
" <tr>\n",
" <th>2544</th>\n",
" <td>335000.0</td>\n",
" <td>NaN</td>\n",
" <td>280 zł</td>\n",
" <td>pełna własność</td>\n",
" <td>6063</td>\n",
" <td>https://www.otodom.pl/oferta/mieszkanie-55-25-...</td>\n",
2023-10-17 17:30:25 +02:00
" <td>3</td>\n",
" <td>NaN</td>\n",
2023-10-17 17:30:25 +02:00
" <td>55.25</td>\n",
" <td>wtórny</td>\n",
" <td>...</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>plastikowe</td>\n",
2023-10-17 17:30:25 +02:00
" <td>1910.0</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>cegła</td>\n",
" <td>MIESZKANIE ŁAZARZ Przedmiotem sprzedaży jest ...</td>\n",
" <td>NaN</td>\n",
" <td>telewizja kablowa, internet, telefon, monitori...</td>\n",
2023-10-17 17:30:25 +02:00
" </tr>\n",
" <tr>\n",
" <th>2545</th>\n",
" <td>260000.0</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>4194</td>\n",
" <td>https://www.otodom.pl/oferta/mieszkanie-udzial...</td>\n",
2023-10-17 17:30:25 +02:00
" <td>3</td>\n",
" <td>NaN</td>\n",
2023-10-17 17:30:25 +02:00
" <td>62</td>\n",
" <td>wtórny</td>\n",
" <td>...</td>\n",
" <td>NaN</td>\n",
" <td>piece kaflowe</td>\n",
" <td>NaN</td>\n",
2023-10-17 17:30:25 +02:00
" <td>1930.0</td>\n",
" <td>NaN</td>\n",
" <td>2011-07-05</td>\n",
" <td>cegła</td>\n",
" <td>Polecam do sprzedaży mieszkanie w udziale kam...</td>\n",
" <td>NaN</td>\n",
" <td>piwnica, oddzielna kuchnia, pom. użytkowe</td>\n",
2023-10-17 17:30:25 +02:00
" </tr>\n",
" <tr>\n",
" <th>2546</th>\n",
" <td>1990000.0</td>\n",
" <td>do zamieszkania</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>5077</td>\n",
" <td>https://www.otodom.pl/oferta/mieszkania-w-kami...</td>\n",
2023-10-17 17:30:25 +02:00
" <td>więcej niż 10</td>\n",
" <td>NaN</td>\n",
2023-10-17 17:30:25 +02:00
" <td>392</td>\n",
" <td>wtórny</td>\n",
" <td>...</td>\n",
" <td>NaN</td>\n",
" <td>gazowe</td>\n",
2023-10-17 17:30:25 +02:00
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>cegła</td>\n",
" <td>Sprzedam 7 mieszkań w centrum Poznania przy u...</td>\n",
" <td>NaN</td>\n",
" <td>lodówka, meble, piekarnik, kuchenka, pralka</td>\n",
2023-10-17 17:30:25 +02:00
" </tr>\n",
" </tbody>\n",
"</table>\n",
"<p>2547 rows × 26 columns</p>\n",
2023-10-17 17:30:25 +02:00
"</div>"
],
"text/plain": [
" 0 1 2 3 4 \\\n",
"0 309000.0 do zamieszkania 390 zł spółdzielcze własnościowe 7113 \n",
"1 314900.0 do wykończenia NaN pełna własność 7392 \n",
"2 249000.0 do remontu 300 zł pełna własność 5621 \n",
"3 419000.0 do zamieszkania 490 zł pełna własność 4761 \n",
"4 499000.0 NaN 850 zł NaN 6481 \n",
"... ... ... ... ... ... \n",
"2542 507600.0 do wykończenia 1 zł pełna własność 5400 \n",
"2543 342400.0 NaN NaN spółdzielcze własnościowe 6400 \n",
"2544 335000.0 NaN 280 zł pełna własność 6063 \n",
"2545 260000.0 NaN NaN NaN 4194 \n",
"2546 1990000.0 do zamieszkania NaN NaN 5077 \n",
"\n",
" 5 6 7 \\\n",
"0 https://www.otodom.pl/oferta/niezalezny-uklad-... 2 NaN \n",
"1 https://www.otodom.pl/oferta/urokliwe-mieszkan... 2 NaN \n",
"2 https://www.otodom.pl/oferta/mieszkanie-do-rem... 2 NaN \n",
"3 https://www.otodom.pl/oferta/w-szeregowcu-4-po... 4 NaN \n",
"4 https://www.otodom.pl/oferta/komfortowe-przest... 3 NaN \n",
"... ... ... .. \n",
"2542 https://www.otodom.pl/oferta/mieszkanie-do-spr... 4 NaN \n",
"2543 https://www.otodom.pl/oferta/mieszkanie-53-50-... 2 NaN \n",
"2544 https://www.otodom.pl/oferta/mieszkanie-55-25-... 3 NaN \n",
"2545 https://www.otodom.pl/oferta/mieszkanie-udzial... 3 NaN \n",
"2546 https://www.otodom.pl/oferta/mieszkania-w-kami... więcej niż 10 NaN \n",
"\n",
" 8 9 ... 16 17 18 19 20 \\\n",
"0 43.44 wtórny ... NaN gazowe plastikowe NaN NaN \n",
"1 42.60 pierwotny ... NaN gazowe plastikowe NaN NaN \n",
"2 44.30 wtórny ... NaN miejskie plastikowe 1960.0 NaN \n",
"3 88 wtórny ... NaN gazowe plastikowe NaN NaN \n",
"4 77 wtórny ... NaN NaN plastikowe NaN NaN \n",
"... ... ... ... .. ... ... ... .. \n",
"2542 94 wtórny ... NaN gazowe drewniane 1914.0 NaN \n",
"2543 53.50 wtórny ... NaN miejskie drewniane 1999.0 NaN \n",
"2544 55.25 wtórny ... NaN NaN plastikowe 1910.0 NaN \n",
"2545 62 wtórny ... NaN piece kaflowe NaN 1930.0 NaN \n",
"2546 392 wtórny ... NaN gazowe NaN NaN NaN \n",
"\n",
" 21 22 23 \\\n",
"0 NaN cegła Polecamy na sprzedaż dwupokojowe mieszkanie p... \n",
"1 NaN cegła Kameralne 2 pokojowe mieszkanie z aneksem kuc... \n",
"2 2019-06-30 cegła Oferta bezpośrednio od właściciela - bez pośr... \n",
"3 NaN cegła Drodzy Państwo Zapraszam do zapoznania się z ... \n",
"4 NaN NaN Biuro Immohouse ma przyjemność proponować do ... \n",
"... ... ... ... \n",
"2542 NaN cegła Do sprzedaży mieszkanie na drugim piętrze w s... \n",
"2543 NaN cegła | Świetnie zlokalizowane, przestronne, czyste... \n",
"2544 NaN cegła MIESZKANIE ŁAZARZ Przedmiotem sprzedaży jest ... \n",
"2545 2011-07-05 cegła Polecam do sprzedaży mieszkanie w udziale kam... \n",
"2546 NaN cegła Sprzedam 7 mieszkań w centrum Poznania przy u... \n",
"\n",
" 24 25 \n",
"0 NaN telewizja kablowa, internet, meble, piwnica, g... \n",
"1 NaN telewizja kablowa, internet, telefon, drzwi / ... \n",
"2 NaN telewizja kablowa, internet, telefon, domofon ... \n",
"3 NaN telewizja kablowa, internet, zmywarka, lodówka... \n",
"4 NaN balkon, piwnica, winda \n",
"... .. ... \n",
"2542 NaN NaN \n",
"2543 NaN telewizja kablowa, internet, telefon, monitori... \n",
"2544 NaN telewizja kablowa, internet, telefon, monitori... \n",
"2545 NaN piwnica, oddzielna kuchnia, pom. użytkowe \n",
"2546 NaN lodówka, meble, piekarnik, kuchenka, pralka \n",
"\n",
"[2547 rows x 26 columns]"
]
},
2023-10-17 18:50:02 +02:00
"execution_count": 12,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"df_train"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Dane walidacyjne"
]
},
{
"cell_type": "code",
2023-10-17 18:50:02 +02:00
"execution_count": 13,
"metadata": {},
"outputs": [],
"source": [
"df_valid = pd.read_csv(r'mieszkania5\\dev-0\\in.tsv', sep='\\t', header=None)"
]
},
{
"cell_type": "code",
2023-10-17 18:50:02 +02:00
"execution_count": 14,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>0</th>\n",
" <th>1</th>\n",
" <th>2</th>\n",
" <th>3</th>\n",
" <th>4</th>\n",
" <th>5</th>\n",
" <th>6</th>\n",
" <th>7</th>\n",
" <th>8</th>\n",
" <th>9</th>\n",
" <th>...</th>\n",
" <th>15</th>\n",
" <th>16</th>\n",
" <th>17</th>\n",
" <th>18</th>\n",
" <th>19</th>\n",
" <th>20</th>\n",
" <th>21</th>\n",
" <th>22</th>\n",
" <th>23</th>\n",
" <th>24</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>do zamieszkania</td>\n",
" <td>250 zł</td>\n",
" <td>pełna własność</td>\n",
" <td>6311</td>\n",
" <td>https://www.otodom.pl/oferta/idealne-mieszkani...</td>\n",
" <td>3</td>\n",
" <td>NaN</td>\n",
" <td>59.10</td>\n",
" <td>wtórny</td>\n",
" <td>4.0</td>\n",
" <td>...</td>\n",
" <td>NaN</td>\n",
" <td>miejskie</td>\n",
" <td>plastikowe</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>wielka płyta</td>\n",
" <td>Zamieszkaj od zaraz idealna lokalizacja OFE...</td>\n",
" <td>NaN</td>\n",
" <td>telewizja kablowa, internet, telefon, domofon ...</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>do zamieszkania</td>\n",
" <td>NaN</td>\n",
" <td>pełna własność</td>\n",
" <td>7868</td>\n",
" <td>https://www.otodom.pl/oferta/2-pokoje-38m2-po-...</td>\n",
" <td>2</td>\n",
" <td>NaN</td>\n",
" <td>38.00</td>\n",
" <td>wtórny</td>\n",
" <td>12.0</td>\n",
" <td>...</td>\n",
" <td>NaN</td>\n",
" <td>inne</td>\n",
" <td>plastikowe</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>Na sprzedaż mieszkanie dwupokojowe na osiedlu...</td>\n",
" <td>NaN</td>\n",
" <td>balkon</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>do zamieszkania</td>\n",
" <td>650 zł</td>\n",
" <td>pełna własność</td>\n",
" <td>5717</td>\n",
" <td>https://www.otodom.pl/oferta/3-pokoje-na-jezyc...</td>\n",
" <td>3</td>\n",
" <td>NaN</td>\n",
" <td>63.84</td>\n",
" <td>wtórny</td>\n",
" <td>4.0</td>\n",
" <td>...</td>\n",
" <td>NaN</td>\n",
" <td>miejskie</td>\n",
" <td>plastikowe</td>\n",
" <td>1958.0</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>cegła</td>\n",
" <td>!! Oferta dostępna tylko u nas !! Polecam ofe...</td>\n",
" <td>NaN</td>\n",
" <td>telewizja kablowa, internet, telefon, piwnica,...</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>do zamieszkania</td>\n",
" <td>359 zł</td>\n",
" <td>spółdzielcze własnościowe</td>\n",
" <td>7380</td>\n",
" <td>https://www.otodom.pl/oferta/uniwersytet-przyr...</td>\n",
" <td>4</td>\n",
" <td>NaN</td>\n",
" <td>50.00</td>\n",
" <td>wtórny</td>\n",
" <td>10.0</td>\n",
" <td>...</td>\n",
" <td>NaN</td>\n",
" <td>miejskie</td>\n",
" <td>plastikowe</td>\n",
" <td>1975.0</td>\n",
" <td>NaN</td>\n",
" <td>2019-06-30</td>\n",
" <td>wielka płyta</td>\n",
" <td>Oferta  bezpośrednio od właściciela  - bez po...</td>\n",
" <td>NaN</td>\n",
" <td>telewizja kablowa, internet, telefon, drzwi / ...</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>7373</td>\n",
" <td>https://www.otodom.pl/oferta/mieszkanie-blisko...</td>\n",
" <td>3</td>\n",
" <td>NaN</td>\n",
" <td>65.62</td>\n",
" <td>pierwotny</td>\n",
" <td>3.0</td>\n",
" <td>...</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>2020.0</td>\n",
" <td>NaN</td>\n",
" <td>2020-01-01</td>\n",
" <td>NaN</td>\n",
" <td>MIESZKANIE 3-POKOJOWE O POW.65,62M2 Mieszkani...</td>\n",
" <td>NaN</td>\n",
" <td>garaż/miejsce parkingowe, taras, pom. użytkowe</td>\n",
" </tr>\n",
" <tr>\n",
" <th>...</th>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" </tr>\n",
" <tr>\n",
" <th>457</th>\n",
" <td>do wykończenia</td>\n",
" <td>NaN</td>\n",
" <td>pełna własność</td>\n",
" <td>9007</td>\n",
" <td>https://www.otodom.pl/oferta/mieszkanie-zajezd...</td>\n",
" <td>3</td>\n",
" <td>NaN</td>\n",
" <td>72.78</td>\n",
" <td>pierwotny</td>\n",
" <td>5.0</td>\n",
" <td>...</td>\n",
" <td>NaN</td>\n",
" <td>miejskie</td>\n",
" <td>plastikowe</td>\n",
" <td>2019.0</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>cegła</td>\n",
" <td>Zapraszam do zapoznania się z nową atrakcyjną...</td>\n",
" <td>NaN</td>\n",
" <td>telewizja kablowa, internet, monitoring / ochr...</td>\n",
" </tr>\n",
" <tr>\n",
" <th>458</th>\n",
" <td>do wykończenia</td>\n",
" <td>NaN</td>\n",
" <td>pełna własność</td>\n",
" <td>9202</td>\n",
" <td>https://www.otodom.pl/oferta/mieszkanie-zajezd...</td>\n",
" <td>2</td>\n",
" <td>NaN</td>\n",
" <td>51.23</td>\n",
" <td>pierwotny</td>\n",
" <td>5.0</td>\n",
" <td>...</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>Zapraszam do zapoznania się z nową atrakcyjną...</td>\n",
" <td>NaN</td>\n",
" <td>garaż/miejsce parkingowe, winda</td>\n",
" </tr>\n",
" <tr>\n",
" <th>459</th>\n",
" <td>do wykończenia</td>\n",
" <td>NaN</td>\n",
" <td>pełna własność</td>\n",
" <td>5723</td>\n",
" <td>https://www.otodom.pl/oferta/nowe-mieszkanie-o...</td>\n",
" <td>3</td>\n",
" <td>NaN</td>\n",
" <td>54.16</td>\n",
" <td>pierwotny</td>\n",
" <td>3.0</td>\n",
" <td>...</td>\n",
" <td>NaN</td>\n",
" <td>kotłownia</td>\n",
" <td>plastikowe</td>\n",
" <td>2019.0</td>\n",
" <td>NaN</td>\n",
" <td>2019-12-31</td>\n",
" <td>silikat</td>\n",
" <td>Mieszkanie składa się z 3 pokoi, aneksu kuche...</td>\n",
" <td>NaN</td>\n",
" <td>telewizja kablowa, internet, telefon, domofon ...</td>\n",
" </tr>\n",
" <tr>\n",
" <th>460</th>\n",
" <td>do zamieszkania</td>\n",
" <td>1 102.05 zł</td>\n",
" <td>pełna własność</td>\n",
" <td>7758</td>\n",
" <td>https://www.otodom.pl/oferta/apartament-w-atan...</td>\n",
" <td>3</td>\n",
" <td>NaN</td>\n",
" <td>90.10</td>\n",
" <td>wtórny</td>\n",
" <td>5.0</td>\n",
" <td>...</td>\n",
" <td>NaN</td>\n",
" <td>kotłownia</td>\n",
" <td>plastikowe</td>\n",
" <td>2001.0</td>\n",
" <td>NaN</td>\n",
" <td>2018-04-13</td>\n",
" <td>cegła</td>\n",
" <td>Proponuję bardzo atrakcyjny, przestronny, w p...</td>\n",
" <td>NaN</td>\n",
" <td>telewizja kablowa, drzwi / okna antywłamaniowe...</td>\n",
" </tr>\n",
" <tr>\n",
" <th>461</th>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>11822</td>\n",
" <td>https://www.otodom.pl/oferta/mieszkanie-71-90-...</td>\n",
" <td>2</td>\n",
" <td>NaN</td>\n",
" <td>71.90</td>\n",
" <td>wtórny</td>\n",
" <td>3.0</td>\n",
" <td>...</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>drewniane</td>\n",
" <td>2016.0</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>cegła</td>\n",
" <td>Link do oferty: -wielkopolskie-poznan-grunwal...</td>\n",
" <td>NaN</td>\n",
" <td>balkon, garaż/miejsce parkingowe</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"<p>462 rows × 25 columns</p>\n",
"</div>"
],
"text/plain": [
" 0 1 2 3 \\\n",
"0 do zamieszkania 250 zł pełna własność 6311 \n",
"1 do zamieszkania NaN pełna własność 7868 \n",
"2 do zamieszkania 650 zł pełna własność 5717 \n",
"3 do zamieszkania 359 zł spółdzielcze własnościowe 7380 \n",
"4 NaN NaN NaN 7373 \n",
".. ... ... ... ... \n",
"457 do wykończenia NaN pełna własność 9007 \n",
"458 do wykończenia NaN pełna własność 9202 \n",
"459 do wykończenia NaN pełna własność 5723 \n",
"460 do zamieszkania 1 102.05 zł pełna własność 7758 \n",
"461 NaN NaN NaN 11822 \n",
"\n",
" 4 5 6 7 \\\n",
"0 https://www.otodom.pl/oferta/idealne-mieszkani... 3 NaN 59.10 \n",
"1 https://www.otodom.pl/oferta/2-pokoje-38m2-po-... 2 NaN 38.00 \n",
"2 https://www.otodom.pl/oferta/3-pokoje-na-jezyc... 3 NaN 63.84 \n",
"3 https://www.otodom.pl/oferta/uniwersytet-przyr... 4 NaN 50.00 \n",
"4 https://www.otodom.pl/oferta/mieszkanie-blisko... 3 NaN 65.62 \n",
".. ... .. .. ... \n",
"457 https://www.otodom.pl/oferta/mieszkanie-zajezd... 3 NaN 72.78 \n",
"458 https://www.otodom.pl/oferta/mieszkanie-zajezd... 2 NaN 51.23 \n",
"459 https://www.otodom.pl/oferta/nowe-mieszkanie-o... 3 NaN 54.16 \n",
"460 https://www.otodom.pl/oferta/apartament-w-atan... 3 NaN 90.10 \n",
"461 https://www.otodom.pl/oferta/mieszkanie-71-90-... 2 NaN 71.90 \n",
"\n",
" 8 9 ... 15 16 17 18 19 20 \\\n",
"0 wtórny 4.0 ... NaN miejskie plastikowe NaN NaN NaN \n",
"1 wtórny 12.0 ... NaN inne plastikowe NaN NaN NaN \n",
"2 wtórny 4.0 ... NaN miejskie plastikowe 1958.0 NaN NaN \n",
"3 wtórny 10.0 ... NaN miejskie plastikowe 1975.0 NaN 2019-06-30 \n",
"4 pierwotny 3.0 ... NaN NaN NaN 2020.0 NaN 2020-01-01 \n",
".. ... ... ... .. ... ... ... .. ... \n",
"457 pierwotny 5.0 ... NaN miejskie plastikowe 2019.0 NaN NaN \n",
"458 pierwotny 5.0 ... NaN NaN NaN NaN NaN NaN \n",
"459 pierwotny 3.0 ... NaN kotłownia plastikowe 2019.0 NaN 2019-12-31 \n",
"460 wtórny 5.0 ... NaN kotłownia plastikowe 2001.0 NaN 2018-04-13 \n",
"461 wtórny 3.0 ... NaN NaN drewniane 2016.0 NaN NaN \n",
"\n",
" 21 22 23 \\\n",
"0 wielka płyta Zamieszkaj od zaraz idealna lokalizacja OFE... NaN \n",
"1 NaN Na sprzedaż mieszkanie dwupokojowe na osiedlu... NaN \n",
"2 cegła !! Oferta dostępna tylko u nas !! Polecam ofe... NaN \n",
"3 wielka płyta Oferta  bezpośrednio od właściciela  - bez po... NaN \n",
"4 NaN MIESZKANIE 3-POKOJOWE O POW.65,62M2 Mieszkani... NaN \n",
".. ... ... .. \n",
"457 cegła Zapraszam do zapoznania się z nową atrakcyjną... NaN \n",
"458 NaN Zapraszam do zapoznania się z nową atrakcyjną... NaN \n",
"459 silikat Mieszkanie składa się z 3 pokoi, aneksu kuche... NaN \n",
"460 cegła Proponuję bardzo atrakcyjny, przestronny, w p... NaN \n",
"461 cegła Link do oferty: -wielkopolskie-poznan-grunwal... NaN \n",
"\n",
" 24 \n",
"0 telewizja kablowa, internet, telefon, domofon ... \n",
"1 balkon \n",
"2 telewizja kablowa, internet, telefon, piwnica,... \n",
"3 telewizja kablowa, internet, telefon, drzwi / ... \n",
"4 garaż/miejsce parkingowe, taras, pom. użytkowe \n",
".. ... \n",
"457 telewizja kablowa, internet, monitoring / ochr... \n",
"458 garaż/miejsce parkingowe, winda \n",
"459 telewizja kablowa, internet, telefon, domofon ... \n",
"460 telewizja kablowa, drzwi / okna antywłamaniowe... \n",
"461 balkon, garaż/miejsce parkingowe \n",
"\n",
"[462 rows x 25 columns]"
]
},
2023-10-17 18:50:02 +02:00
"execution_count": 14,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"df_valid"
]
},
{
"cell_type": "code",
2023-10-17 18:50:02 +02:00
"execution_count": 15,
"metadata": {},
"outputs": [],
"source": [
"df_valid_cena = pd.read_csv(r'mieszkania5\\dev-0\\expected.tsv', sep='\\t', header=None)"
]
},
{
"cell_type": "code",
2023-10-17 18:50:02 +02:00
"execution_count": 16,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>0</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>373000.00</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>299000.00</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>365000.00</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>369000.00</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>483791.00</td>\n",
" </tr>\n",
" <tr>\n",
" <th>...</th>\n",
" <td>...</td>\n",
" </tr>\n",
" <tr>\n",
" <th>457</th>\n",
" <td>655544.02</td>\n",
" </tr>\n",
" <tr>\n",
" <th>458</th>\n",
" <td>471397.97</td>\n",
" </tr>\n",
" <tr>\n",
" <th>459</th>\n",
" <td>309958.00</td>\n",
" </tr>\n",
" <tr>\n",
" <th>460</th>\n",
" <td>699000.00</td>\n",
" </tr>\n",
" <tr>\n",
" <th>461</th>\n",
" <td>850000.00</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"<p>462 rows × 1 columns</p>\n",
"</div>"
],
"text/plain": [
" 0\n",
"0 373000.00\n",
"1 299000.00\n",
"2 365000.00\n",
"3 369000.00\n",
"4 483791.00\n",
".. ...\n",
"457 655544.02\n",
"458 471397.97\n",
"459 309958.00\n",
"460 699000.00\n",
"461 850000.00\n",
"\n",
"[462 rows x 1 columns]"
]
},
2023-10-17 18:50:02 +02:00
"execution_count": 16,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"df_valid_cena"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Dane testowe"
]
},
{
"cell_type": "code",
2023-10-17 18:50:02 +02:00
"execution_count": 17,
"metadata": {},
"outputs": [],
"source": [
"df_test = pd.read_csv(r'mieszkania5\\test-A\\in.tsv', sep='\\t', header=None)"
]
},
{
"cell_type": "code",
2023-10-17 18:50:02 +02:00
"execution_count": 18,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>0</th>\n",
" <th>1</th>\n",
" <th>2</th>\n",
" <th>3</th>\n",
" <th>4</th>\n",
" <th>5</th>\n",
" <th>6</th>\n",
" <th>7</th>\n",
" <th>8</th>\n",
" <th>9</th>\n",
" <th>...</th>\n",
" <th>15</th>\n",
" <th>16</th>\n",
" <th>17</th>\n",
" <th>18</th>\n",
" <th>19</th>\n",
" <th>20</th>\n",
" <th>21</th>\n",
" <th>22</th>\n",
" <th>23</th>\n",
" <th>24</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>do wykończenia</td>\n",
" <td>NaN</td>\n",
" <td>pełna własność</td>\n",
" <td>6938</td>\n",
" <td>https://www.otodom.pl/oferta/nowe-mieszkanie-z...</td>\n",
" <td>3</td>\n",
" <td>NaN</td>\n",
" <td>61.99</td>\n",
" <td>pierwotny</td>\n",
" <td>7.0</td>\n",
" <td>...</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>plastikowe</td>\n",
" <td>2020.0</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>Prezentujemy naszą najnowszą inwestycje zloka...</td>\n",
" <td>NaN</td>\n",
" <td>telewizja kablowa, internet, telefon, drzwi / ...</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>do zamieszkania</td>\n",
" <td>NaN</td>\n",
" <td>pełna własność</td>\n",
" <td>6078</td>\n",
" <td>https://www.otodom.pl/oferta/3-pok-parter-nisk...</td>\n",
" <td>4</td>\n",
" <td>NaN</td>\n",
" <td>64.00</td>\n",
" <td>wtórny</td>\n",
" <td>4.0</td>\n",
" <td>...</td>\n",
" <td>NaN</td>\n",
" <td>miejskie</td>\n",
" <td>NaN</td>\n",
" <td>1982.0</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>wielka płyta</td>\n",
" <td>Polecam na sprzedaż duże atrakcyjnie zlokaliz...</td>\n",
" <td>NaN</td>\n",
" <td>domofon / wideofon, balkon</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>do wykończenia</td>\n",
" <td>NaN</td>\n",
" <td>pełna własność</td>\n",
" <td>6150</td>\n",
" <td>https://www.otodom.pl/oferta/hot-oferta-od-dew...</td>\n",
" <td>3</td>\n",
" <td>NaN</td>\n",
" <td>51.15</td>\n",
" <td>pierwotny</td>\n",
" <td>5.0</td>\n",
" <td>...</td>\n",
" <td>NaN</td>\n",
" <td>miejskie</td>\n",
" <td>plastikowe</td>\n",
" <td>2020.0</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>cegła</td>\n",
" <td>&amp;gt...</td>\n",
" <td>NaN</td>\n",
" <td>telewizja kablowa, internet, telefon, domofon ...</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>do zamieszkania</td>\n",
" <td>350 zł</td>\n",
" <td>pełna własność</td>\n",
" <td>9373</td>\n",
" <td>https://www.otodom.pl/oferta/mieszkanie-z-ogro...</td>\n",
" <td>2</td>\n",
" <td>NaN</td>\n",
" <td>45.77</td>\n",
" <td>wtórny</td>\n",
" <td>7.0</td>\n",
" <td>...</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>!! OFERTA BEZPOŚREDNIA !! Na sprzedaż mieszkan...</td>\n",
" <td>NaN</td>\n",
" <td>telewizja kablowa, internet, telefon, drzwi / ...</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>7200</td>\n",
" <td>https://www.otodom.pl/oferta/osiedle-nowych-ko...</td>\n",
" <td>2</td>\n",
" <td>NaN</td>\n",
" <td>44.36</td>\n",
" <td>pierwotny</td>\n",
" <td>13.0</td>\n",
" <td>...</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>plastikowe</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>2020-08-01</td>\n",
" <td>NaN</td>\n",
" <td>Inwestycja NOWYCH KOSMONAUTÓW powstaje u zbie...</td>\n",
" <td>NaN</td>\n",
" <td>telewizja kablowa, internet, telefon, drzwi / ...</td>\n",
" </tr>\n",
" <tr>\n",
" <th>...</th>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" </tr>\n",
" <tr>\n",
" <th>413</th>\n",
" <td>do wykończenia</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>7150</td>\n",
" <td>https://www.otodom.pl/oferta/zielony-marcelin-...</td>\n",
" <td>1</td>\n",
" <td>NaN</td>\n",
" <td>34.97</td>\n",
" <td>pierwotny</td>\n",
" <td>8.0</td>\n",
" <td>...</td>\n",
" <td>NaN</td>\n",
" <td>miejskie</td>\n",
" <td>plastikowe</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>Zielony Marcelin I etap mieszkanie nr 407, 1 ...</td>\n",
" <td>NaN</td>\n",
" <td>telewizja kablowa, internet, telefon, drzwi / ...</td>\n",
" </tr>\n",
" <tr>\n",
" <th>414</th>\n",
" <td>do wykończenia</td>\n",
" <td>NaN</td>\n",
" <td>pełna własność</td>\n",
" <td>6499</td>\n",
" <td>https://www.otodom.pl/oferta/nowe-mieszkanie-p...</td>\n",
" <td>3</td>\n",
" <td>NaN</td>\n",
" <td>49.06</td>\n",
" <td>pierwotny</td>\n",
" <td>3.0</td>\n",
" <td>...</td>\n",
" <td>NaN</td>\n",
" <td>kotłownia</td>\n",
" <td>plastikowe</td>\n",
" <td>2018.0</td>\n",
" <td>NaN</td>\n",
" <td>2018-12-31</td>\n",
" <td>silikat</td>\n",
" <td>Mieszkanie składa się z 3 pokoi z aneksem kuc...</td>\n",
" <td>NaN</td>\n",
" <td>telewizja kablowa, internet, telefon, domofon ...</td>\n",
" </tr>\n",
" <tr>\n",
" <th>415</th>\n",
" <td>do wykończenia</td>\n",
" <td>NaN</td>\n",
" <td>pełna własność</td>\n",
" <td>9451</td>\n",
" <td>https://www.otodom.pl/oferta/mieszkanie-76-71-...</td>\n",
" <td>3</td>\n",
" <td>NaN</td>\n",
" <td>76.71</td>\n",
" <td>pierwotny</td>\n",
" <td>5.0</td>\n",
" <td>...</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>plastikowe</td>\n",
" <td>2019.0</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>Zapraszam do zapoznania się z nową atrakcyjną...</td>\n",
" <td>NaN</td>\n",
" <td>monitoring / ochrona, garaż/miejsce parkingowe...</td>\n",
" </tr>\n",
" <tr>\n",
" <th>416</th>\n",
" <td>do wykończenia</td>\n",
" <td>NaN</td>\n",
" <td>pełna własność</td>\n",
" <td>9322</td>\n",
" <td>https://www.otodom.pl/oferta/mieszkanie-zajezd...</td>\n",
" <td>3</td>\n",
" <td>NaN</td>\n",
" <td>72.63</td>\n",
" <td>pierwotny</td>\n",
" <td>5.0</td>\n",
" <td>...</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>Zapraszam do zapoznania się z nową atrakcyjną...</td>\n",
" <td>NaN</td>\n",
" <td>garaż/miejsce parkingowe, winda</td>\n",
" </tr>\n",
" <tr>\n",
" <th>417</th>\n",
" <td>do wykończenia</td>\n",
" <td>NaN</td>\n",
" <td>pełna własność</td>\n",
" <td>6500</td>\n",
" <td>https://www.otodom.pl/oferta/nowe-mieszkanie-w...</td>\n",
" <td>2</td>\n",
" <td>NaN</td>\n",
" <td>65.84</td>\n",
" <td>wtórny</td>\n",
" <td>10.0</td>\n",
" <td>...</td>\n",
" <td>NaN</td>\n",
" <td>miejskie</td>\n",
" <td>plastikowe</td>\n",
" <td>2012.0</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>pustak</td>\n",
" <td>Super mieszkanie 2-pokojowe 65,84m2. wykończo...</td>\n",
" <td>NaN</td>\n",
" <td>telewizja kablowa, internet, telefon, monitori...</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"<p>418 rows × 25 columns</p>\n",
"</div>"
],
"text/plain": [
" 0 1 2 3 \\\n",
"0 do wykończenia NaN pełna własność 6938 \n",
"1 do zamieszkania NaN pełna własność 6078 \n",
"2 do wykończenia NaN pełna własność 6150 \n",
"3 do zamieszkania 350 zł pełna własność 9373 \n",
"4 NaN NaN NaN 7200 \n",
".. ... ... ... ... \n",
"413 do wykończenia NaN NaN 7150 \n",
"414 do wykończenia NaN pełna własność 6499 \n",
"415 do wykończenia NaN pełna własność 9451 \n",
"416 do wykończenia NaN pełna własność 9322 \n",
"417 do wykończenia NaN pełna własność 6500 \n",
"\n",
" 4 5 6 7 \\\n",
"0 https://www.otodom.pl/oferta/nowe-mieszkanie-z... 3 NaN 61.99 \n",
"1 https://www.otodom.pl/oferta/3-pok-parter-nisk... 4 NaN 64.00 \n",
"2 https://www.otodom.pl/oferta/hot-oferta-od-dew... 3 NaN 51.15 \n",
"3 https://www.otodom.pl/oferta/mieszkanie-z-ogro... 2 NaN 45.77 \n",
"4 https://www.otodom.pl/oferta/osiedle-nowych-ko... 2 NaN 44.36 \n",
".. ... .. .. ... \n",
"413 https://www.otodom.pl/oferta/zielony-marcelin-... 1 NaN 34.97 \n",
"414 https://www.otodom.pl/oferta/nowe-mieszkanie-p... 3 NaN 49.06 \n",
"415 https://www.otodom.pl/oferta/mieszkanie-76-71-... 3 NaN 76.71 \n",
"416 https://www.otodom.pl/oferta/mieszkanie-zajezd... 3 NaN 72.63 \n",
"417 https://www.otodom.pl/oferta/nowe-mieszkanie-w... 2 NaN 65.84 \n",
"\n",
" 8 9 ... 15 16 17 18 19 20 \\\n",
"0 pierwotny 7.0 ... NaN NaN plastikowe 2020.0 NaN NaN \n",
"1 wtórny 4.0 ... NaN miejskie NaN 1982.0 NaN NaN \n",
"2 pierwotny 5.0 ... NaN miejskie plastikowe 2020.0 NaN NaN \n",
"3 wtórny 7.0 ... NaN NaN NaN NaN NaN NaN \n",
"4 pierwotny 13.0 ... NaN NaN plastikowe NaN NaN 2020-08-01 \n",
".. ... ... ... .. ... ... ... .. ... \n",
"413 pierwotny 8.0 ... NaN miejskie plastikowe NaN NaN NaN \n",
"414 pierwotny 3.0 ... NaN kotłownia plastikowe 2018.0 NaN 2018-12-31 \n",
"415 pierwotny 5.0 ... NaN NaN plastikowe 2019.0 NaN NaN \n",
"416 pierwotny 5.0 ... NaN NaN NaN NaN NaN NaN \n",
"417 wtórny 10.0 ... NaN miejskie plastikowe 2012.0 NaN NaN \n",
"\n",
" 21 22 23 \\\n",
"0 NaN Prezentujemy naszą najnowszą inwestycje zloka... NaN \n",
"1 wielka płyta Polecam na sprzedaż duże atrakcyjnie zlokaliz... NaN \n",
"2 cegła                                           &gt... NaN \n",
"3 NaN !! OFERTA BEZPOŚREDNIA !! Na sprzedaż mieszkan... NaN \n",
"4 NaN Inwestycja NOWYCH KOSMONAUTÓW powstaje u zbie... NaN \n",
".. ... ... .. \n",
"413 NaN Zielony Marcelin I etap mieszkanie nr 407, 1 ... NaN \n",
"414 silikat Mieszkanie składa się z 3 pokoi z aneksem kuc... NaN \n",
"415 NaN Zapraszam do zapoznania się z nową atrakcyjną... NaN \n",
"416 NaN Zapraszam do zapoznania się z nową atrakcyjną... NaN \n",
"417 pustak Super mieszkanie 2-pokojowe 65,84m2. wykończo... NaN \n",
"\n",
" 24 \n",
"0 telewizja kablowa, internet, telefon, drzwi / ... \n",
"1 domofon / wideofon, balkon \n",
"2 telewizja kablowa, internet, telefon, domofon ... \n",
"3 telewizja kablowa, internet, telefon, drzwi / ... \n",
"4 telewizja kablowa, internet, telefon, drzwi / ... \n",
".. ... \n",
"413 telewizja kablowa, internet, telefon, drzwi / ... \n",
"414 telewizja kablowa, internet, telefon, domofon ... \n",
"415 monitoring / ochrona, garaż/miejsce parkingowe... \n",
"416 garaż/miejsce parkingowe, winda \n",
"417 telewizja kablowa, internet, telefon, monitori... \n",
"\n",
"[418 rows x 25 columns]"
]
},
2023-10-17 18:50:02 +02:00
"execution_count": 18,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"df_test"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Wybranie interesujących nas kolumn (cena, ilość pokoi, metraż, rok budowy)"
]
},
{
"cell_type": "code",
2023-10-17 18:50:02 +02:00
"execution_count": 19,
"metadata": {},
"outputs": [],
"source": [
"df_train = df_train[[0, 6, 8, 19]]"
]
},
{
"cell_type": "code",
2023-10-17 18:50:02 +02:00
"execution_count": 20,
"metadata": {},
"outputs": [],
"source": [
"df_valid[0] = df_valid_cena"
]
},
{
"cell_type": "code",
2023-10-17 18:50:02 +02:00
"execution_count": 21,
"metadata": {},
"outputs": [],
"source": [
"df_valid = df_valid[[0, 5, 7, 18]]"
]
},
{
"cell_type": "code",
2023-10-17 18:50:02 +02:00
"execution_count": 22,
"metadata": {},
"outputs": [],
"source": [
"df_test = df_test[[5, 7, 18]]"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Zamiana nazw kolumn"
]
},
{
"cell_type": "code",
2023-10-17 18:50:02 +02:00
"execution_count": 23,
"metadata": {},
"outputs": [],
"source": [
"df_train = df_train.rename(columns = {0:\"cena\", 6:\"pokoje\", 8:\"metraz\", 19:\"rok\"})"
]
},
{
"cell_type": "code",
2023-10-17 18:50:02 +02:00
"execution_count": 24,
"metadata": {},
"outputs": [],
"source": [
"df_valid = df_valid.rename(columns = {0:\"cena\", 5:\"pokoje\", 7:\"metraz\", 18:\"rok\"})"
]
},
{
"cell_type": "code",
2023-10-17 18:50:02 +02:00
"execution_count": 25,
"metadata": {},
"outputs": [],
"source": [
"df_test = df_test.rename(columns = {5:\"pokoje\", 7:\"metraz\", 18:\"rok\"})"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Czyszczenie danych"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Czyszczenie danych treningowych"
]
},
{
"cell_type": "code",
2023-10-17 18:50:02 +02:00
"execution_count": 26,
"metadata": {},
"outputs": [],
"source": [
"df_train = df_train.dropna()"
]
},
{
"cell_type": "code",
2023-10-17 18:50:02 +02:00
"execution_count": 27,
"metadata": {},
"outputs": [],
"source": [
"df_train = df_train.replace( \"więcej niż 10\", '11')"
]
},
{
"cell_type": "code",
2023-10-17 18:50:02 +02:00
"execution_count": 28,
"metadata": {},
"outputs": [],
"source": [
"df_train = df_train[(df_train['rok'] >= 1800) & (df_train['rok'] <= 2023)]\n"
]
},
{
"cell_type": "code",
2023-10-17 18:50:02 +02:00
"execution_count": 29,
"metadata": {},
"outputs": [],
"source": [
"df_train = df_train[df_train[\"metraz\"] != '6 909']\n"
]
},
{
"cell_type": "code",
2023-10-17 18:50:02 +02:00
"execution_count": 30,
"metadata": {},
"outputs": [],
"source": [
"df_train[\"pokoje\"] = df_train[\"pokoje\"].astype(float)\n",
"df_train[\"metraz\"] = df_train[\"metraz\"].astype(float)"
]
},
{
"cell_type": "code",
2023-10-17 18:50:02 +02:00
"execution_count": 31,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>cena</th>\n",
" <th>pokoje</th>\n",
" <th>metraz</th>\n",
" <th>rok</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>count</th>\n",
" <td>1.763000e+03</td>\n",
" <td>1763.000000</td>\n",
" <td>1763.000000</td>\n",
" <td>1763.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>mean</th>\n",
" <td>4.262096e+05</td>\n",
" <td>2.609756</td>\n",
" <td>60.068327</td>\n",
" <td>1992.024957</td>\n",
" </tr>\n",
" <tr>\n",
" <th>std</th>\n",
" <td>2.478208e+05</td>\n",
" <td>1.038289</td>\n",
" <td>29.652713</td>\n",
" <td>37.968540</td>\n",
" </tr>\n",
" <tr>\n",
" <th>min</th>\n",
" <td>8.500000e+04</td>\n",
" <td>1.000000</td>\n",
" <td>19.000000</td>\n",
" <td>1840.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>25%</th>\n",
" <td>3.100000e+05</td>\n",
" <td>2.000000</td>\n",
" <td>43.000000</td>\n",
" <td>1976.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>50%</th>\n",
" <td>3.671000e+05</td>\n",
" <td>2.000000</td>\n",
" <td>52.300000</td>\n",
" <td>2010.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>75%</th>\n",
" <td>4.700000e+05</td>\n",
" <td>3.000000</td>\n",
" <td>68.000000</td>\n",
" <td>2019.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>max</th>\n",
" <td>6.000000e+06</td>\n",
" <td>11.000000</td>\n",
" <td>404.000000</td>\n",
" <td>2022.000000</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" cena pokoje metraz rok\n",
"count 1.763000e+03 1763.000000 1763.000000 1763.000000\n",
"mean 4.262096e+05 2.609756 60.068327 1992.024957\n",
"std 2.478208e+05 1.038289 29.652713 37.968540\n",
"min 8.500000e+04 1.000000 19.000000 1840.000000\n",
"25% 3.100000e+05 2.000000 43.000000 1976.000000\n",
"50% 3.671000e+05 2.000000 52.300000 2010.000000\n",
"75% 4.700000e+05 3.000000 68.000000 2019.000000\n",
"max 6.000000e+06 11.000000 404.000000 2022.000000"
]
},
2023-10-17 18:50:02 +02:00
"execution_count": 31,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"df_train.describe()"
]
},
{
"cell_type": "code",
2023-10-17 18:50:02 +02:00
"execution_count": 32,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>cena</th>\n",
" <th>pokoje</th>\n",
" <th>metraz</th>\n",
" <th>rok</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>249000.0</td>\n",
" <td>2.0</td>\n",
" <td>44.30</td>\n",
" <td>1960.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>6</th>\n",
" <td>449000.0</td>\n",
" <td>4.0</td>\n",
" <td>92.00</td>\n",
" <td>1930.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>7</th>\n",
" <td>389000.0</td>\n",
" <td>3.0</td>\n",
" <td>63.60</td>\n",
" <td>1985.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>9</th>\n",
" <td>260000.0</td>\n",
" <td>3.0</td>\n",
" <td>44.20</td>\n",
" <td>1970.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>10</th>\n",
" <td>330682.0</td>\n",
" <td>3.0</td>\n",
" <td>48.99</td>\n",
" <td>2019.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>...</th>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2541</th>\n",
" <td>383680.0</td>\n",
" <td>3.0</td>\n",
" <td>70.40</td>\n",
" <td>2016.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2542</th>\n",
" <td>507600.0</td>\n",
" <td>4.0</td>\n",
" <td>94.00</td>\n",
" <td>1914.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2543</th>\n",
" <td>342400.0</td>\n",
" <td>2.0</td>\n",
" <td>53.50</td>\n",
" <td>1999.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2544</th>\n",
" <td>335000.0</td>\n",
" <td>3.0</td>\n",
" <td>55.25</td>\n",
" <td>1910.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2545</th>\n",
" <td>260000.0</td>\n",
" <td>3.0</td>\n",
" <td>62.00</td>\n",
" <td>1930.0</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"<p>1763 rows × 4 columns</p>\n",
"</div>"
],
"text/plain": [
" cena pokoje metraz rok\n",
"2 249000.0 2.0 44.30 1960.0\n",
"6 449000.0 4.0 92.00 1930.0\n",
"7 389000.0 3.0 63.60 1985.0\n",
"9 260000.0 3.0 44.20 1970.0\n",
"10 330682.0 3.0 48.99 2019.0\n",
"... ... ... ... ...\n",
"2541 383680.0 3.0 70.40 2016.0\n",
"2542 507600.0 4.0 94.00 1914.0\n",
"2543 342400.0 2.0 53.50 1999.0\n",
"2544 335000.0 3.0 55.25 1910.0\n",
"2545 260000.0 3.0 62.00 1930.0\n",
"\n",
"[1763 rows x 4 columns]"
]
},
2023-10-17 18:50:02 +02:00
"execution_count": 32,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"df_train"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Czyszczenie danych walidacyjnych"
]
},
{
"cell_type": "code",
2023-10-17 18:50:02 +02:00
"execution_count": 33,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>cena</th>\n",
" <th>pokoje</th>\n",
" <th>metraz</th>\n",
" <th>rok</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>count</th>\n",
" <td>4.620000e+02</td>\n",
" <td>462.000000</td>\n",
" <td>462.000000</td>\n",
" <td>322.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>mean</th>\n",
" <td>4.108530e+05</td>\n",
" <td>2.528139</td>\n",
" <td>57.329113</td>\n",
" <td>1988.605590</td>\n",
" </tr>\n",
" <tr>\n",
" <th>std</th>\n",
" <td>2.049347e+05</td>\n",
" <td>0.953512</td>\n",
" <td>25.300686</td>\n",
" <td>113.363432</td>\n",
" </tr>\n",
" <tr>\n",
" <th>min</th>\n",
" <td>1.597610e+05</td>\n",
" <td>1.000000</td>\n",
" <td>1.000000</td>\n",
" <td>70.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>25%</th>\n",
" <td>2.984000e+05</td>\n",
" <td>2.000000</td>\n",
" <td>42.000000</td>\n",
" <td>1980.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>50%</th>\n",
" <td>3.520765e+05</td>\n",
" <td>2.000000</td>\n",
" <td>50.510000</td>\n",
" <td>2013.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>75%</th>\n",
" <td>4.687800e+05</td>\n",
" <td>3.000000</td>\n",
" <td>66.315000</td>\n",
" <td>2019.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>max</th>\n",
" <td>2.318580e+06</td>\n",
" <td>6.000000</td>\n",
" <td>234.200000</td>\n",
" <td>2021.000000</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" cena pokoje metraz rok\n",
"count 4.620000e+02 462.000000 462.000000 322.000000\n",
"mean 4.108530e+05 2.528139 57.329113 1988.605590\n",
"std 2.049347e+05 0.953512 25.300686 113.363432\n",
"min 1.597610e+05 1.000000 1.000000 70.000000\n",
"25% 2.984000e+05 2.000000 42.000000 1980.000000\n",
"50% 3.520765e+05 2.000000 50.510000 2013.000000\n",
"75% 4.687800e+05 3.000000 66.315000 2019.000000\n",
"max 2.318580e+06 6.000000 234.200000 2021.000000"
]
},
2023-10-17 18:50:02 +02:00
"execution_count": 33,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"df_valid.describe()"
]
},
{
"cell_type": "code",
2023-10-17 18:50:02 +02:00
"execution_count": 34,
"metadata": {},
"outputs": [],
"source": [
"df_valid = df_valid.dropna()"
]
},
{
"cell_type": "code",
2023-10-17 18:50:02 +02:00
"execution_count": 35,
"metadata": {},
"outputs": [],
"source": [
"df_valid = df_valid[df_valid['metraz'] > 10]"
]
},
{
"cell_type": "code",
2023-10-17 18:50:02 +02:00
"execution_count": 36,
"metadata": {},
"outputs": [],
"source": [
"df_valid = df_valid[(df_valid['rok'] >= 1800) & (df_valid['rok'] <= 2023)]\n"
]
},
{
"cell_type": "code",
2023-10-17 18:50:02 +02:00
"execution_count": 37,
"metadata": {},
"outputs": [],
"source": [
"df_valid = df_valid.replace( \"więcej niż 10\", '11')"
]
},
{
"cell_type": "code",
2023-10-17 18:50:02 +02:00
"execution_count": 38,
"metadata": {},
"outputs": [],
"source": [
"df_valid[\"pokoje\"] = df_valid[\"pokoje\"].astype(float)\n",
"df_valid[\"metraz\"] = df_valid[\"metraz\"].astype(float)"
]
},
{
"cell_type": "code",
2023-10-17 18:50:02 +02:00
"execution_count": 39,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>cena</th>\n",
" <th>pokoje</th>\n",
" <th>metraz</th>\n",
" <th>rok</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>365000.00</td>\n",
" <td>3.0</td>\n",
" <td>63.84</td>\n",
" <td>1958.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>369000.00</td>\n",
" <td>4.0</td>\n",
" <td>50.00</td>\n",
" <td>1975.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>483791.00</td>\n",
" <td>3.0</td>\n",
" <td>65.62</td>\n",
" <td>2020.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>5</th>\n",
" <td>430000.00</td>\n",
" <td>5.0</td>\n",
" <td>96.00</td>\n",
" <td>2019.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>9</th>\n",
" <td>325000.00</td>\n",
" <td>2.0</td>\n",
" <td>49.00</td>\n",
" <td>2001.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>...</th>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" </tr>\n",
" <tr>\n",
" <th>455</th>\n",
" <td>641395.58</td>\n",
" <td>2.0</td>\n",
" <td>72.78</td>\n",
" <td>2019.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>457</th>\n",
" <td>655544.02</td>\n",
" <td>3.0</td>\n",
" <td>72.78</td>\n",
" <td>2019.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>459</th>\n",
" <td>309958.00</td>\n",
" <td>3.0</td>\n",
" <td>54.16</td>\n",
" <td>2019.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>460</th>\n",
" <td>699000.00</td>\n",
" <td>3.0</td>\n",
" <td>90.10</td>\n",
" <td>2001.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>461</th>\n",
" <td>850000.00</td>\n",
" <td>2.0</td>\n",
" <td>71.90</td>\n",
" <td>2016.0</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"<p>320 rows × 4 columns</p>\n",
"</div>"
],
"text/plain": [
" cena pokoje metraz rok\n",
"2 365000.00 3.0 63.84 1958.0\n",
"3 369000.00 4.0 50.00 1975.0\n",
"4 483791.00 3.0 65.62 2020.0\n",
"5 430000.00 5.0 96.00 2019.0\n",
"9 325000.00 2.0 49.00 2001.0\n",
".. ... ... ... ...\n",
"455 641395.58 2.0 72.78 2019.0\n",
"457 655544.02 3.0 72.78 2019.0\n",
"459 309958.00 3.0 54.16 2019.0\n",
"460 699000.00 3.0 90.10 2001.0\n",
"461 850000.00 2.0 71.90 2016.0\n",
"\n",
"[320 rows x 4 columns]"
]
},
2023-10-17 18:50:02 +02:00
"execution_count": 39,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"df_valid"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Czyszczenie danych testowych"
]
},
{
"cell_type": "code",
2023-10-17 18:50:02 +02:00
"execution_count": 40,
"metadata": {},
"outputs": [],
"source": [
"df_test = df_test.dropna()"
]
},
{
"cell_type": "code",
2023-10-17 18:50:02 +02:00
"execution_count": 41,
"metadata": {},
"outputs": [],
"source": [
"df_test = df_test.replace( \"więcej niż 10\", '11')"
]
},
{
"cell_type": "code",
2023-10-17 18:50:02 +02:00
"execution_count": 42,
"metadata": {},
"outputs": [],
"source": [
"df_test[\"pokoje\"] = df_test[\"pokoje\"].astype(float)\n",
"df_test[\"metraz\"] = df_test[\"metraz\"].astype(float)"
]
},
{
"cell_type": "code",
2023-10-17 18:50:02 +02:00
"execution_count": 43,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>cena</th>\n",
" <th>pokoje</th>\n",
" <th>metraz</th>\n",
" <th>rok</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>count</th>\n",
" <td>1.763000e+03</td>\n",
" <td>1763.000000</td>\n",
" <td>1763.000000</td>\n",
" <td>1763.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>mean</th>\n",
" <td>4.262096e+05</td>\n",
" <td>2.609756</td>\n",
" <td>60.068327</td>\n",
" <td>1992.024957</td>\n",
" </tr>\n",
" <tr>\n",
" <th>std</th>\n",
" <td>2.478208e+05</td>\n",
" <td>1.038289</td>\n",
" <td>29.652713</td>\n",
" <td>37.968540</td>\n",
" </tr>\n",
" <tr>\n",
" <th>min</th>\n",
" <td>8.500000e+04</td>\n",
" <td>1.000000</td>\n",
" <td>19.000000</td>\n",
" <td>1840.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>25%</th>\n",
" <td>3.100000e+05</td>\n",
" <td>2.000000</td>\n",
" <td>43.000000</td>\n",
" <td>1976.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>50%</th>\n",
" <td>3.671000e+05</td>\n",
" <td>2.000000</td>\n",
" <td>52.300000</td>\n",
" <td>2010.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>75%</th>\n",
" <td>4.700000e+05</td>\n",
" <td>3.000000</td>\n",
" <td>68.000000</td>\n",
" <td>2019.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>max</th>\n",
" <td>6.000000e+06</td>\n",
" <td>11.000000</td>\n",
" <td>404.000000</td>\n",
" <td>2022.000000</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" cena pokoje metraz rok\n",
"count 1.763000e+03 1763.000000 1763.000000 1763.000000\n",
"mean 4.262096e+05 2.609756 60.068327 1992.024957\n",
"std 2.478208e+05 1.038289 29.652713 37.968540\n",
"min 8.500000e+04 1.000000 19.000000 1840.000000\n",
"25% 3.100000e+05 2.000000 43.000000 1976.000000\n",
"50% 3.671000e+05 2.000000 52.300000 2010.000000\n",
"75% 4.700000e+05 3.000000 68.000000 2019.000000\n",
"max 6.000000e+06 11.000000 404.000000 2022.000000"
]
},
2023-10-17 18:50:02 +02:00
"execution_count": 43,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"df_train.describe()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Model regresji liniowej"
]
},
{
"cell_type": "code",
2023-10-17 18:50:02 +02:00
"execution_count": 44,
"metadata": {},
"outputs": [],
"source": [
"from sklearn.linear_model import LinearRegression"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Podział danych"
]
},
{
"cell_type": "code",
2023-10-17 18:50:02 +02:00
"execution_count": 45,
"metadata": {},
"outputs": [],
"source": [
"X_train = df_train[[\"pokoje\", \"metraz\", \"rok\"]]\n",
"y_train = df_train[[\"cena\"]]"
]
},
{
"cell_type": "code",
2023-10-17 18:50:02 +02:00
"execution_count": 46,
"metadata": {},
"outputs": [],
"source": [
"X_val = df_valid[[\"pokoje\", \"metraz\", \"rok\"]]\n",
"y_val = df_valid[[\"cena\"]]"
]
},
{
"cell_type": "code",
2023-10-17 18:50:02 +02:00
"execution_count": 47,
"metadata": {},
"outputs": [],
"source": [
"X_test = df_test[[\"pokoje\", \"metraz\", \"rok\"]]"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Uczenie modelu"
]
},
{
"cell_type": "code",
2023-10-17 18:50:02 +02:00
"execution_count": 48,
"metadata": {},
"outputs": [],
"source": [
"model = LinearRegression()"
]
},
{
"cell_type": "code",
2023-10-17 18:50:02 +02:00
"execution_count": 49,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
2023-10-17 18:50:02 +02:00
"<style>#sk-container-id-1 {color: black;}#sk-container-id-1 pre{padding: 0;}#sk-container-id-1 div.sk-toggleable {background-color: white;}#sk-container-id-1 label.sk-toggleable__label {cursor: pointer;display: block;width: 100%;margin-bottom: 0;padding: 0.3em;box-sizing: border-box;text-align: center;}#sk-container-id-1 label.sk-toggleable__label-arrow:before {content: \"▸\";float: left;margin-right: 0.25em;color: #696969;}#sk-container-id-1 label.sk-toggleable__label-arrow:hover:before {color: black;}#sk-container-id-1 div.sk-estimator:hover label.sk-toggleable__label-arrow:before {color: black;}#sk-container-id-1 div.sk-toggleable__content {max-height: 0;max-width: 0;overflow: hidden;text-align: left;background-color: #f0f8ff;}#sk-container-id-1 div.sk-toggleable__content pre {margin: 0.2em;color: black;border-radius: 0.25em;background-color: #f0f8ff;}#sk-container-id-1 input.sk-toggleable__control:checked~div.sk-toggleable__content {max-height: 200px;max-width: 100%;overflow: auto;}#sk-container-id-1 input.sk-toggleable__control:checked~label.sk-toggleable__label-arrow:before {content: \"▾\";}#sk-container-id-1 div.sk-estimator input.sk-toggleable__control:checked~label.sk-toggleable__label {background-color: #d4ebff;}#sk-container-id-1 div.sk-label input.sk-toggleable__control:checked~label.sk-toggleable__label {background-color: #d4ebff;}#sk-container-id-1 input.sk-hidden--visually {border: 0;clip: rect(1px 1px 1px 1px);clip: rect(1px, 1px, 1px, 1px);height: 1px;margin: -1px;overflow: hidden;padding: 0;position: absolute;width: 1px;}#sk-container-id-1 div.sk-estimator {font-family: monospace;background-color: #f0f8ff;border: 1px dotted black;border-radius: 0.25em;box-sizing: border-box;margin-bottom: 0.5em;}#sk-container-id-1 div.sk-estimator:hover {background-color: #d4ebff;}#sk-container-id-1 div.sk-parallel-item::after {content: \"\";width: 100%;border-bottom: 1px solid gray;flex-grow: 1;}#sk-container-id-1 div.sk-label:hover label.sk-toggleable__label {background-color: #d4ebff;}#sk-container-id-1 div.sk-serial::before {content: \"\";position: absolute;border-left: 1px solid gray;box-sizing: border-box;top: 0;bottom: 0;left: 50%;z-index: 0;}#sk-container-id-1 div.sk-serial {display: flex;flex-direction: column;align-items: center;background-color: white;padding-right: 0.2em;padding-left: 0.2em;position: relative;}#sk-container-id-1 div.sk-item {position: relative;z-index: 1;}#sk-container-id-1 div.sk-parallel {display: flex;align-items: stretch;justify-content: center;background-color: white;position: relative;}#sk-container-id-1 div.sk-item::before, #sk-container-id-1 div.sk-parallel-item::before {content: \"\";position: absolute;border-left: 1px solid gray;box-sizing: border-box;top: 0;bottom: 0;left: 50%;z-index: -1;}#sk-container-id-1 div.sk-parallel-item {display: flex;flex-direction: column;z-index: 1;position: relative;background-color: white;}#sk-container-id-1 div.sk-parallel-item:first-child::after {align-self: flex-end;width: 50%;}#sk-container-id-1 div.sk-parallel-item:last-child::after {align-self: flex-start;width: 50%;}#sk-container-id-1 div.sk-parallel-item:only-child::after {width: 0;}#sk-container-id-1 div.sk-dashed-wrapped {border: 1px dashed gray;margin: 0 0.4em 0.5em 0.4em;box-sizing: border-box;padding-bottom: 0.4em;background-color: white;}#sk-container-id-1 div.sk-label label {font-family: monospace;font-weight: bold;display: inline-block;line-height: 1.2em;}#sk-container-id-1 div.sk-label-container {text-align: center;}#sk-container-id-1 div.sk-container {/* jupyter's `normalize.less` sets `[hidden] { display: none; }` but bootstrap.min.css set `[hidden] { display: none !important; }` so we also need the `!important` here to be able to override the default hidden behavior on the sphinx rendered scikit-learn.org. See: https://github.com/scikit-learn/scikit-learn/issues/21755 */display: inline-block !important;position: relative;}#sk-container-id-1 div.sk-text-repr-fallback {display: none;}</style><div id=\"sk-container-id-1\" class=\"sk-top-container\"><div class=\"sk-text-r
],
"text/plain": [
"LinearRegression()"
2023-10-17 17:30:25 +02:00
]
},
2023-10-17 18:50:02 +02:00
"execution_count": 49,
2023-10-17 17:30:25 +02:00
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"model.fit(X_train, y_train)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Walidacja modelu"
2023-10-17 17:30:25 +02:00
]
},
{
"cell_type": "code",
2023-10-17 18:50:02 +02:00
"execution_count": 50,
2023-10-17 17:30:25 +02:00
"metadata": {},
"outputs": [],
"source": [
"from sklearn.metrics import mean_squared_error, r2_score"
2023-10-17 17:30:25 +02:00
]
},
{
"cell_type": "code",
2023-10-17 18:50:02 +02:00
"execution_count": 51,
2023-10-17 17:30:25 +02:00
"metadata": {},
"outputs": [],
"source": [
"y_train_pred = model.predict(X_train)"
2023-10-17 17:30:25 +02:00
]
},
{
"cell_type": "code",
2023-10-17 18:50:02 +02:00
"execution_count": 52,
2023-10-17 17:30:25 +02:00
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"0.6264197107092035"
]
},
2023-10-17 18:50:02 +02:00
"execution_count": 52,
"metadata": {},
"output_type": "execute_result"
}
],
2023-10-17 17:30:25 +02:00
"source": [
"r2_score(y_true=y_train, y_pred=y_train_pred)"
2023-10-17 17:30:25 +02:00
]
},
{
"cell_type": "code",
2023-10-17 18:50:02 +02:00
"execution_count": 53,
2023-10-17 17:30:25 +02:00
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"22930468691.882328"
]
},
2023-10-17 18:50:02 +02:00
"execution_count": 53,
"metadata": {},
"output_type": "execute_result"
}
],
2023-10-17 17:30:25 +02:00
"source": [
"mean_squared_error(y_true=y_train, y_pred=y_train_pred)"
2023-10-17 17:30:25 +02:00
]
},
{
"cell_type": "code",
2023-10-17 18:50:02 +02:00
"execution_count": 54,
2023-10-17 17:30:25 +02:00
"metadata": {},
"outputs": [],
"source": [
"y_val_pred = model.predict(X_val)"
]
},
{
"cell_type": "code",
2023-10-17 18:50:02 +02:00
"execution_count": 55,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"0.5872189061243203"
]
},
2023-10-17 18:50:02 +02:00
"execution_count": 55,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"r2_score(y_true=y_val, y_pred=y_val_pred)"
]
},
{
"cell_type": "code",
2023-10-17 18:50:02 +02:00
"execution_count": 56,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"12603444942.321444"
]
},
2023-10-17 18:50:02 +02:00
"execution_count": 56,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"mean_squared_error(y_true=y_val, y_pred=y_val_pred)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Predykcja cen mieszkań"
2023-10-17 17:30:25 +02:00
]
},
{
"cell_type": "code",
2023-10-17 18:50:02 +02:00
"execution_count": 57,
2023-10-17 17:30:25 +02:00
"metadata": {},
"outputs": [],
"source": [
"y_test_pred = model.predict(X_test)"
2023-10-17 17:30:25 +02:00
]
},
{
"cell_type": "code",
2023-10-17 18:50:02 +02:00
"execution_count": 58,
2023-10-17 17:30:25 +02:00
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>cena</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>445999.679659</td>\n",
2023-10-17 17:30:25 +02:00
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>391984.112513</td>\n",
2023-10-17 17:30:25 +02:00
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>361680.683534</td>\n",
2023-10-17 17:30:25 +02:00
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>634737.891029</td>\n",
2023-10-17 17:30:25 +02:00
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>334716.539450</td>\n",
2023-10-17 17:30:25 +02:00
" </tr>\n",
" <tr>\n",
" <th>...</th>\n",
" <td>...</td>\n",
" </tr>\n",
" <tr>\n",
" <th>287</th>\n",
" <td>639199.416015</td>\n",
2023-10-17 17:30:25 +02:00
" </tr>\n",
" <tr>\n",
" <th>288</th>\n",
" <td>493459.955384</td>\n",
2023-10-17 17:30:25 +02:00
" </tr>\n",
" <tr>\n",
" <th>289</th>\n",
" <td>343927.359472</td>\n",
2023-10-17 17:30:25 +02:00
" </tr>\n",
" <tr>\n",
" <th>290</th>\n",
" <td>559751.151754</td>\n",
2023-10-17 17:30:25 +02:00
" </tr>\n",
" <tr>\n",
" <th>291</th>\n",
" <td>511183.577622</td>\n",
2023-10-17 17:30:25 +02:00
" </tr>\n",
" </tbody>\n",
"</table>\n",
"<p>292 rows × 1 columns</p>\n",
2023-10-17 17:30:25 +02:00
"</div>"
],
"text/plain": [
" cena\n",
"0 445999.679659\n",
"1 391984.112513\n",
"2 361680.683534\n",
"3 634737.891029\n",
"4 334716.539450\n",
".. ...\n",
"287 639199.416015\n",
"288 493459.955384\n",
"289 343927.359472\n",
"290 559751.151754\n",
"291 511183.577622\n",
2023-10-17 17:30:25 +02:00
"\n",
"[292 rows x 1 columns]"
2023-10-17 17:30:25 +02:00
]
},
2023-10-17 18:50:02 +02:00
"execution_count": 58,
2023-10-17 17:30:25 +02:00
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"y_test_pred_df = pd.DataFrame(y_test_pred, columns=['cena'])\n",
"y_test_pred_df"
2023-10-17 17:30:25 +02:00
]
},
{
"cell_type": "markdown",
2023-10-17 17:30:25 +02:00
"metadata": {},
"source": [
"## Wizualizacja regresji liniowej"
2023-10-17 17:30:25 +02:00
]
},
{
"cell_type": "code",
2023-10-17 18:50:02 +02:00
"execution_count": 59,
2023-10-17 17:30:25 +02:00
"metadata": {},
"outputs": [],
"source": [
"import matplotlib.pyplot as plt"
2023-10-17 17:30:25 +02:00
]
},
{
"cell_type": "markdown",
2023-10-17 17:30:25 +02:00
"metadata": {},
"source": [
"### Cena nieruchomości ze względna na liczbę pokoi dla danych treningowych"
2023-10-17 17:30:25 +02:00
]
},
{
"cell_type": "code",
2023-10-17 18:50:02 +02:00
"execution_count": 60,
2023-10-17 17:30:25 +02:00
"metadata": {},
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAhYAAAGsCAYAAACB/u5dAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8pXeV/AAAACXBIWXMAAA9hAAAPYQGoP6dpAAA6OElEQVR4nO3de1iUdf7/8dcACoIwiopgoiJpimhpeE6z1LItt4Nh2+puW23bwQ7m1/2W7dWWu5W2naytr5Vbup2TLU1bM8tSa9U0XEtFzQOewbMMog7IzO8Pf5DI6Qbvuee+x+fjuriumHkPvJ2Aec39Obn8fr9fAAAAJggLdgMAACB0ECwAAIBpCBYAAMA0BAsAAGAaggUAADANwQIAAJiGYAEAAExDsAAAAKYhWAAAANMQLAAAgGmCFiyWLFmi4cOHq1WrVnK5XJo9e3adv4bf79ezzz6rjh07KjIyUuedd56efPJJ85sFAACGRATrGxcVFenCCy/UbbfdphtuuKFeX+OBBx7QggUL9Oyzz6pr1646dOiQDh06ZHKnAADAKJcdDiFzuVyaNWuWrrvuuvLbvF6v/vSnP+n999/XkSNHlJ6erqefflqDBg2SJK1fv17dunXT2rVrdcEFFwSncQAAUIFt51jce++9WrZsmT744AP9+OOPyszM1LBhw7Rp0yZJ0ty5c9W+fXt9+umnSklJUbt27fT73/+eKxYAAASRLYPFjh07NH36dGVlZWnAgAFKTU3V+PHjdckll2j69OmSpK1bt2r79u3KysrSW2+9pRkzZig7O1s33nhjkLsHAODcFbQ5FjVZs2aNSktL1bFjxwq3e71eNWvWTJLk8/nk9Xr11ltvlde98cYbuvjii7Vx40aGRwAACAJbBoujR48qPDxc2dnZCg8Pr3Bf48aNJUlJSUmKiIioED46d+4s6dQVD4IFAADWs2Ww6N69u0pLS7Vv3z4NGDCgypr+/fvr5MmT2rJli1JTUyVJP/30kySpbdu2lvUKAAB+FrRVIUePHtXmzZslnQoSzz//vC677DLFx8erTZs2Gj16tP7zn//oueeeU/fu3bV//34tXLhQ3bp109VXXy2fz6eePXuqcePGmjJlinw+n8aMGaO4uDgtWLAgGP8kAADOeUELFosWLdJll11W6fZbbrlFM2bMUElJiZ544gm99dZb2r17t5o3b64+ffpo4sSJ6tq1qyRpz549uu+++7RgwQLFxMToqquu0nPPPaf4+Hir/zkAAEA22ccCAACEBlsuNwUAAM5EsAAAAKaxfFWIz+fTnj17FBsbK5fLZfW3BwAA9eD3+1VYWKhWrVopLKz66xKWB4s9e/YoOTnZ6m8LAABMsHPnTrVu3bra+y0PFrGxsZJONRYXF2f1twcAAPXg8XiUnJxc/jpeHcuDRdnwR1xcHMECAACHqW0aA5M3AQCAaQgWAADANAQLAABgGoIFAAAwDcECAACYhmABAABMQ7AAAACmIVgAAADTWL5BFgDYRanPrxW5h7Sv8IQSYqPUKyVe4WGcYQScjToHi927d+uhhx7SZ599pmPHjun888/X9OnTlZGREYj+ACAg5q/N08S5OcorOFF+W5I7So8NT9Ow9KQgdgY4W52GQg4fPqz+/furQYMG+uyzz5STk6PnnntOTZs2DVR/AGC6+WvzdPc7qyqECknKLzihu99Zpflr84LUGeB8dbpi8fTTTys5OVnTp08vvy0lJcX0pgAgUEp9fk2cmyN/Fff5JbkkTZybo6FpiQyLAPVQpysWc+bMUUZGhjIzM5WQkKDu3btr2rRpNT7G6/XK4/FU+ACAYFmRe6jSlYrT+SXlFZzQitxD1jUFhJA6BYutW7dq6tSp6tChgz7//HPdfffduv/++/XPf/6z2sdMmjRJbre7/CM5OfmsmwaA+tpXWH2oqE8dgIpcfr+/qiuCVWrYsKEyMjK0dOnS8tvuv/9+rVy5UsuWLavyMV6vV16vt/zzsvPcCwoKODYdgOWWbTmom6ctr7Xu/Tv6qG9qMws6ApzB4/HI7XbX+vpdpysWSUlJSktLq3Bb586dtWPHjmofExkZqbi4uAofABAsvVLileSOUnWzJ1w6tTqkV0q8lW0BIaNOwaJ///7auHFjhdt++ukntW3b1tSmACBQwsNcemz4qTdIZ4aLss8fG57GxE2gnuoULB588EEtX75cTz31lDZv3qz33ntPr7/+usaMGROo/gDAdMPSkzR1dA8luqMq3J7ojtLU0T3YxwI4C3WaYyFJn376qSZMmKBNmzYpJSVF48aN0x133GH48UbHaAAg0Nh5EzDO6Ot3nYPF2SJYAADgPAGZvAkAAFATggUAADANwQIAAJiGYAEAAExDsAAAAKYhWAAAANMQLAAAgGkIFgAAwDQECwAAYBqCBQAAMA3BAgAAmIZgAQAATEOwAAAApiFYAAAA0xAsAACAaQgWAADANAQLAABgGoIFAAAwDcECAACYhmABAABMQ7AAAACmIVgAAADTECwAAIBpCBYAAMA0BAsAAGAaggUAADANwQIAAJiGYAEAAExDsAAAAKYhWAAAANMQLAAAgGkIFgAAwDQECwAAYBqCBQAAMA3BAgAAmIZgAQAATEOwAAAApiFYAAAA0xAsAACAaQgWAADANAQLAABgGoIFAAAwDcECAACYhmABAABMQ7AAAACmIVgAAADT1ClYPP7443K5XBU+OnXqFKjeAACAw0TU9QFdunTRl19++fMXiKjzlwAAACGqzqkgIiJCiYmJgegFAAA4XJ3nWGzatEmtWrVS+/btNWrUKO3YsaPGeq/XK4/HU+EDAACEpjoFi969e2vGjBmaP3++pk6dqtzcXA0YMECFhYXVPmbSpElyu93lH8nJyWfdNAAAsCeX3+/31/fBR44cUdu2bfX888/r9ttvr7LG6/XK6/WWf+7xeJScnKyCggLFxcXV91sDAAALeTweud3uWl+/z2rmZZMmTdSxY0dt3ry52prIyEhFRkaezbcBAAAOcVb7WBw9elRbtmxRUlKSWf0AAAAHq1OwGD9+vBYvXqxt27Zp6dKluv766xUeHq6bb745UP0BAAAHqdNQyK5du3TzzTfr4MGDatGihS655BItX75cLVq0CFR/AADAQeoULD744INA9QEAAEIAZ4UAAADTECwAAIBpCBYAAMA0BAsAAGAaggUAADANwQIAAJiGYAEAAExDsAAAAKYhWAAAANMQLAAAgGkIFgAAwDQECwAAYBqCBQAAMA3BAgAAmIZgAQAATEOwAAAApiFYAAAA0xAsAACAaQgWAADANAQLAABgGoIFAAAwDcECAACYhmABAABMQ7AAAACmIVgAAADTECwAAIBpCBYAAMA0BAsAAGAaggUAADANwQIAAJiGYAEAAExDsAAAAKYhWAAAANMQLAAAgGkIFgAAwDQECwAAYBqCBQAAMA3BAgAAmIZgAQAATEOwAAAApiFYAAAA0xAsAACAaQgWAADANAQLAABgGoIFAAAwDcECAACY5qyCxeTJk+VyuTR27FiT2gEAAE5W72CxcuVKvfbaa+rWrZuZ/QAAAAerV7A4evSoRo0apWnTpqlp06Zm9wQAAByqXsFizJgxuvrqqzVkyJBaa71erzweT4UPAAAQmiLq+oAPPvhAq1at0sqVKw3VT5o0SRMnTqxzYwAAwHnqdMVi586deuCBB/Tuu+8qKirK0GMmTJiggoKC8o+dO3fWq1EAAGB/Lr/f7zdaPHv2bF1//fUKDw8vv620tFQul0thYWHyer0V7quKx+OR2+1WQUGB4uLi6t85AACwjNHX7zoNhQwePFhr1qypcNutt96qTp066aGHHqo1VAAAgNBWp2ARGxur9PT0CrfFxMSoWbNmlW4HAADnHnbeBAAApqnzqpAzLVq0yIQ2AABAKOCKBQAAMA3BAgAAmIZgAQAATEOwAAAApiFYAAAA0xAsAACAaQgWAADANAQLAABgGoIFAAAwDcECAACYhmABAABMQ7AAAACmIVgAAADTECwAAIBpCBYAAMA0BAsAAGAaggUAADANwQIAAJiGYAEAAExDsAA
2023-10-17 17:30:25 +02:00
"text/plain": [
"<Figure size 640x480 with 1 Axes>"
2023-10-17 17:30:25 +02:00
]
},
"metadata": {},
"output_type": "display_data"
2023-10-17 17:30:25 +02:00
}
],
"source": [
"coef = np.polyfit(X_train['pokoje'], y_train['cena'], 1)\n",
"poly1d_fn = np.poly1d(coef)\n",
"\n",
"plt.plot(X_train['pokoje'], y_train['cena'], 'o', X_train['pokoje'], poly1d_fn(X_train['pokoje']), '--k')\n",
"plt.show()"
2023-10-17 17:30:25 +02:00
]
},
{
"cell_type": "markdown",
2023-10-17 17:30:25 +02:00
"metadata": {},
"source": [
"### Cena nieruchomości ze względna na rok wybudowania dla danych treningowych"
2023-10-17 17:30:25 +02:00
]
},
{
"cell_type": "code",
2023-10-17 18:50:02 +02:00
"execution_count": 61,
2023-10-17 17:30:25 +02:00
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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
2023-10-17 17:30:25 +02:00
"text/plain": [
"<Figure size 640x480 with 1 Axes>"
2023-10-17 17:30:25 +02:00
]
},
"metadata": {},
"output_type": "display_data"
2023-10-17 17:30:25 +02:00
}
],
"source": [
"coef = np.polyfit(X_train['rok'], y_train['cena'], 1)\n",
"poly1d_fn = np.poly1d(coef)\n",
"\n",
"plt.plot(X_train['rok'], y_train['cena'], 'o', X_train['rok'], poly1d_fn(X_train['rok']), '--k')\n",
"plt.show()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Cena nieruchomości ze względna na metraż dla danych treningowych"
2023-10-17 17:30:25 +02:00
]
},
{
"cell_type": "code",
2023-10-17 18:50:02 +02:00
"execution_count": 62,
2023-10-17 17:30:25 +02:00
"metadata": {},
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAhYAAAGsCAYAAACB/u5dAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8pXeV/AAAACXBIWXMAAA9hAAAPYQGoP6dpAABGMUlEQVR4nO3de1zUVf4/8NdwG0BgEBEBRcS7hJpXJPOSoqGmQlvburWa+tU0dTXbtqxtzdqifq3dy1pLWdfM1r5C3i95t/CGmhJeES8pFwW5wwAz5/cH35kcZgZm4DP31/Px4PHI+ZyZOacRP6/5fM55H5kQQoCIiIhIAm627gARERE5DwYLIiIikgyDBREREUmGwYKIiIgkw2BBREREkmGwICIiIskwWBAREZFkGCyIiIhIMgwWREREJBkGCyIiIpKMzYLFwYMHMXHiRISHh0MmkyEtLc3s1xBC4J///Ce6d+8OuVyO9u3b480335S+s0RERGQSD1u9cUVFBfr27YsZM2bg0UcfbdZrLFy4ELt27cI///lP9O7dG0VFRSgqKpK4p0RERGQqmT1sQiaTyZCamorExETtY0qlEq+88gq++eYbFBcXIyYmBu+88w5GjhwJADh37hz69OmDzMxM9OjRwzYdJyIiIh12O8di/vz5SE9Px/r163HmzBk8/vjjSEhIwKVLlwAAmzdvRufOnbFlyxZERUWhU6dO+J//+R9esSAiIrIhuwwW169fx+rVq7FhwwYMGzYMXbp0wV/+8hc8+OCDWL16NQDgypUruHbtGjZs2IA1a9YgJSUFGRkZeOyxx2zceyIiItdlszkWjTl79ixUKhW6d++u87hSqUSbNm0AAGq1GkqlEmvWrNG2++qrrzBgwABcuHCBt0eIiIhswC6DRXl5Odzd3ZGRkQF3d3edY35+fgCAsLAweHh46ISPXr16Aai/4sFgQUREZH12GSz69esHlUqFgoICDBs2zGCboUOHoq6uDtnZ2ejSpQsA4OLFiwCAyMhIq/WViIiIfmOzVSHl5eW4fPkygPog8d577+Ghhx5CUFAQOnbsiKeeego//vgjli9fjn79+uH27dvYs2cP+vTpgwkTJkCtVmPQoEHw8/PDBx98ALVajXnz5iEgIAC7du2yxZCIiIhcns2Cxf79+/HQQw/pPT5t2jSkpKSgtrYW//jHP7BmzRrcvHkTwcHBGDJkCJYtW4bevXsDAG7duoUFCxZg165daNWqFcaNG4fly5cjKCjI2sMhIiIi2EkdCyIiInIOdrnclIiIiBwTgwURERFJxuqrQtRqNW7dugV/f3/IZDJrvz0RERE1gxACZWVlCA8Ph5ub8esSVg8Wt27dQkREhLXfloiIiCRw48YNdOjQwehxqwcLf39/APUdCwgIsPbbExERUTOUlpYiIiJCex43xurBQnP7IyAggMGCiIjIwTQ1jYGTN4mIiEgyDBZEREQkGQYLIiIikgyDBREREUmGwYKIiIgkw2BBREREkmGwICIiIskwWBAREZFkrF4gi4iInI9KLXAspwgFZdUI8ffG4KgguLtxPyhXZHawuHnzJl588UVs374dlZWV6Nq1K1avXo2BAwdaon9ERGTndmTmYtnmLOSWVGsfC1N4Y+nEaCTEhNmwZ2QLZt0KuXv3LoYOHQpPT09s374dWVlZWL58OVq3bm2p/hERkR3bkZmLuWtP6oQKAMgrqcbctSexIzPXRj0jWzHrisU777yDiIgIrF69WvtYVFSU5J0iIiL7p1ILLNucBWHgmAAgA7BscxbGRIfytogLMeuKxaZNmzBw4EA8/vjjCAkJQb9+/bBy5cpGn6NUKlFaWqrzQ0REju9YTpHelYp7CQC5JdU4llNkvU6RzZkVLK5cuYIVK1agW7du2LlzJ+bOnYs///nP+Pe//230OcnJyVAoFNqfiIiIFneaiIhsr6DMeKhoTjtyDjIhhKGrWAZ5eXlh4MCB+Omnn7SP/fnPf8bx48eRnp5u8DlKpRJKpVL7Z81+7iUlJdw2nYjIgaVnF2LKyiNNtvtm1hDEdWljhR6RJZWWlkKhUDR5/jbrikVYWBiio6N1HuvVqxeuX79u9DlyuRwBAQE6P0RE5PgGRwUhTOENY7MnZKhfHTI4Ksia3SIbMytYDB06FBcuXNB57OLFi4iMjJS0U0REZP/c3WRYOrH+y2bDcKH589KJ0Zy46WLMChbPPfccjhw5grfeeguXL1/GunXr8K9//Qvz5s2zVP+IiMiOJcSEYcVT/RGq8NZ5PFThjRVP9WcdCxdk1hwLANiyZQuWLFmCS5cuISoqCosXL8asWbNMfr6p92iIiMhxsPKm8zP1/G12sGgpBgsiIiLHY5HJm0RERESNYbAgIiIiyTBYEBERkWQYLIiIiEgyDBZEREQkGQYLIiIikgyDBREREUmGwYKIiIgkw2BBREREkmGwICIiIskwWBAREZFkGCyIiIhIMgwWREREJBkGCyIiIpIMgwURERFJhsGCiIiIJMNgQURERJJhsCAiIiLJMFgQERGRZBgsiIiISDIMFkRERCQZBgsiIiKSDIMFERERSYbBgoiIiCTDYEFERESSYbAgIiIiyTBYEBERkWQYLIiIiEgyDBZEREQkGQYLIiIikgyDBREREUmGwYKIiIgkw2BBREREkmGwICIiIskwWBAREZFkGCyIiIhIMgwWREREJBkGCyIiIpIMgwURERFJhsGCiIiIJMNgQURERJJhsCAiIiLJMFgQERGRZBgsiIiISDIMFkRERCQZBgsiIiKSjFnB4rXXXoNMJtP56dmzp6X6RkRERA7Gw9wn3Hffffjhhx9+ewEPs1+CiIiInJTZqcDDwwOhoaGW6AsRERE5OLPnWFy6dAnh4eHo3LkznnzySVy/fr3R9kqlEqWlpTo/RERE5JzMChaxsbFISUnBjh07sGLFCuTk5GDYsGEoKysz+pzk5GQoFArtT0RERIs7TURERPZJJoQQzX1ycXExIiMj8d5772HmzJkG2yiVSiiVSu2fS0tLERERgZKSEgQEBDT3rYmIiMiKSktLoVAomjx/t2jmZWBgILp3747Lly8bbSOXyyGXy1vyNkREROQgWlTHory8HNnZ2QgLC5OqP0REROTAzAoWf/nLX3DgwAFcvXoVP/30E5KSkuDu7o4pU6ZYqn9ERETkQMy6FfLrr79iypQpKCwsRNu2bfHggw/iyJEjaNu2raX6R0RERA7ErGCxfv16S/WDiIiInAD3CiEiIiLJMFgQERGRZBgsiIiISDIMFkRERCQZBgsiIiKSDIMFERERSYbBgoiIiCTDYEFERESSYbAgIiIiyTBYEBERkWQYLIiIiEgyDBZEREQkGQYLIiIikgyDBREREUmGwYKIiIgkw2BBREREkmGwICIiIskwWBAREZFkGCyIiIhIMgwWREREJBkGCyIiIpIMgwURERFJhsGCiIiIJMNgQURERJJhsCAiIiLJMFgQERGRZBgsiIiISDIMFkRERCQZBgsiIiKSDIMFERERSYbBgoiIiCTDYEFERESSYbAgIiIiyTBYEBERkWQYLIiIiEgyDBZEREQkGQYLIiIikgyDBREREUmGwYKIiIgkw2BBREREkmGwICIiIskwWBAREZFkGCyIiIhIMgwWREREJBkGCyIiIpIMgwURERFJpkXB4u2334ZMJsOiRYsk6g4RERE5smYHi+PHj+OLL75Anz59pOwPERERObBmBYvy8nI8+eSTWLlyJVq3bi11n4iIiMhBNStYzJs3DxMmTEB8fHyTbZVKJUpLS3V+iIiIyDl5mPuE9evX4+TJkzh+/LhJ7ZOTk7Fs2TKzO0ZERESOx6wrFjdu3MDChQvx9ddfw9vb26TnLFmyBCUlJdqfGzduNKujREREZP9kQghhauO0tDQkJSXB3d1d+5hKpYJMJoObmxuUSqXOMUNKS0uhUChQUlKCgICA5veciIiIrMbU87dZt0JGjx6Ns2fP6jw2ffp09OzZEy+++GKToYKIiIicm1nBwt/fHzExMTqPtWrVCm3atNF7nIiIiFwPK28SERGRZMxeFdLQ/v37Jeg
2023-10-17 17:30:25 +02:00
"text/plain": [
"<Figure size 640x480 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"coef = np.polyfit(X_train['metraz'], y_train['cena'], 1)\n",
"poly1d_fn = np.poly1d(coef)\n",
"\n",
"plt.plot(X_train['metraz'], y_train['cena'], 'o', X_train['metraz'], poly1d_fn(X_train['metraz']), '--k')\n",
"plt.show()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Cena nieruchomości ze względna na liczbę pokoi dla danych testowych"
2023-10-17 17:30:25 +02:00
]
},
{
"cell_type": "code",
2023-10-17 18:50:02 +02:00
"execution_count": 63,
2023-10-17 17:30:25 +02:00
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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
2023-10-17 17:30:25 +02:00
"text/plain": [
"<Figure size 640x480 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"coef = np.polyfit(X_train['metraz'], y_train['cena'], 1)\n",
"poly1d_fn = np.poly1d(coef)\n",
"\n",
"plt.plot(X_test['pokoje'], y_test_pred_df['cena'], 'yo', X_train['pokoje'], poly1d_fn(X_train['pokoje']), '--k')\n",
"plt.show()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Cena nieruchomości ze względna na rok wybudowania dla danych testowych"
2023-10-17 17:30:25 +02:00
]
},
{
"cell_type": "code",
2023-10-17 18:50:02 +02:00
"execution_count": 64,
2023-10-17 17:30:25 +02:00
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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
2023-10-17 17:30:25 +02:00
"text/plain": [
"<Figure size 640x480 with 1 Axes>"
2023-10-17 17:30:25 +02:00
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"coef = np.polyfit(X_train['metraz'], y_train['cena'], 1)\n",
"poly1d_fn = np.poly1d(coef)\n",
"\n",
"plt.plot(X_test['rok'], y_test_pred_df['cena'], 'yo', X_train['rok'], poly1d_fn(X_train['rok']), '--k')\n",
"plt.show()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Cena nieruchomości ze względna na metraż dla danych testowych"
]
},
{
"cell_type": "code",
2023-10-17 18:50:02 +02:00
"execution_count": 65,
"metadata": {},
"outputs": [
2023-10-17 17:30:25 +02:00
{
"data": {
"image/png": "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
2023-10-17 17:30:25 +02:00
"text/plain": [
"<Figure size 640x480 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"coef = np.polyfit(X_train['metraz'], y_train['cena'], 1)\n",
"poly1d_fn = np.poly1d(coef)\n",
"\n",
"plt.plot(X_test['metraz'], y_test_pred_df['cena'], 'yo', X_train['metraz'], poly1d_fn(X_train['metraz']), '--k')\n",
"plt.show()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Funkcja predykcji ceny mieszkania"
]
},
{
"cell_type": "code",
2023-10-17 18:50:02 +02:00
"execution_count": 66,
"metadata": {},
"outputs": [],
"source": [
"def cena_mieszkania(pokoje, metraz, rok):\n",
" mieszkanie = pd.DataFrame([[pokoje, metraz, rok]], columns=['pokoje', 'metraz', 'rok'])\n",
" cena = model.predict(mieszkanie).item()\n",
" return np.round(cena, 2)"
2023-10-17 17:30:25 +02:00
]
},
{
"cell_type": "code",
2023-10-17 18:50:02 +02:00
"execution_count": 70,
2023-10-17 17:30:25 +02:00
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"184531.94"
2023-10-17 17:30:25 +02:00
]
},
2023-10-17 18:50:02 +02:00
"execution_count": 70,
2023-10-17 17:30:25 +02:00
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"cena_mieszkania(pokoje=2, metraz=25, rok=2000)"
2023-10-17 17:30:25 +02:00
]
2023-10-17 18:50:02 +02:00
},
{
"cell_type": "code",
"execution_count": 69,
"metadata": {},
"outputs": [],
"source": [
"# Zapisanie modelu do pliku\n",
"import pickle\n",
"filename = 'mieszkania_model'\n",
"pickle.dump(model, open(filename, 'wb'))\n"
]
2023-10-17 17:30:25 +02:00
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.10.11"
}
},
"nbformat": 4,
"nbformat_minor": 2
}