Dnes nadviažem na predchádzajúci článok Ako na dátový projekt.
Na úvod by som zdôraznil, že tento článok používa zjednodušený súbor dát, ktorého cieľom je ukázať konkrétny postup analýzy pre začiatočníkov, ktorí chcú pochopiť, ako prebieha analýza dátovej sady v praxi, od prvého načítania dát až po jednoduchý predikčný model. V praxi sú dáta často komplexnejšie, neúplné a vyžadujú viac čistenia, ale postup v podstate zostáva rovnaký.
Dôležité je tiež uvedomiť si, že dátová veda nie je o nástrojoch, ale je o schopnosti premeniť dáta na informácie, ktoré majú reálnu hodnotu pre rozhodovanie.
Tak poďme teda na to.
V tejto prípadovej štúdii si krok za krokom prejdeme reálny workflow (t.j. ide o poradie krokov, aby bolo možné sa dostať od problému k výsledku) dátového projektu, od definovania cieľa až po prezentáciu výsledkov.
1/ Definovanie cieľa analýzy
Každý dátový projekt musí začínať otázkou a to „Aký problém riešime?“.
Pre túto prípadovú štúdiu budeme analyzovať dáta, ktoré obsahujú informácie o cenách nehnuteľností, pričom cieľom analýzy bude:
- identifikovať faktory, ktoré ovplyvňujú cenu
- preskúmať vzťah medzi veľkosťou, počtom izieb a lokalitou
- pripraviť základný analytický prehľad pre rozhodovanie
Bez jasne definovaného cieľa by sme síce vedeli vytvoriť rôzne grafy a modely, ale nemali by sme istotu, či riešime skutočný problém.
2/ Dátová sada (angl. Dataset) a jeho štruktúra
Použijeme jednoduchú modelovú dátovú sadu so štruktúrou bežnou v realitných dátach (dátovú sadu je treba si vytvoriť, alebo ju prevziať z verejne dostupných zdrojov):
| Stĺpec | Popis |
| price | Cena nehnuteľnosti |
| size_m2 | Veľkosť v m2 |
| rooms | Počet izieb |
| location | Lokalita |
| year_built | Rok výstavby nehnuteľnosti |
V reálnych projektoch je možné sa často stretnúť aj s ďalšími atribútmi, ako je typ nehnuteľnosti, stav rekonštrukcie alebo energetická trieda, ktoré môžu mať významný vplyv na cenu.
Dátovú sadu si vytvoríme a uložíme do súboru data vo formáte CSV.
3/ Načítanie dát pomocou jazyka Python
Programovaciemu jazyku Python sa budeme venovať síce neskôr (aj keď školení na tento jazyk je na internete dostupných skutočne veľmi veľa), ale pre tento článok ako príklad použitia je priamo ideálny.
Dôležité: Aj keď sa na stránke zobrazia úvodzovky ako „text“, pri písaní zdrojového kódu v jazyku Python vždy používajte
"text", inak kód nebude fungovať správne.
Použijeme knižnicu Pandas, ktorá je štandardom pre dátovú analýzu v jazyku Python.
import pandas as pd
df = pd.read_csv(„data.csv“)
df.head()
V tomto bode riešime kontrolu dát, overenie štruktúry a identifikáciu možných chýb už na začiatku.
Následne získame základné informácie o dátach.
df.info()
df.describe()
Týmto zistíme počet záznamov, typy dát, základné štatistiky a prípadne možné problémy (podozrivé hodnoty ako sú chýbajúce alebo extrémne hodnoty, nulové ceny,..), ktoré môžu signalizovať chybu v dátach.
4/ Čistenie dát
Čistenie dát je jedna z najdôležitejších častí analýzy. Pre čistenie údajov z dátovej sady môžeme použiť rôzne postupy, pre tento článok si ukážeme niekoľko jednoduchých príkladov:
- pre zistenie chýbajúcich hodnôt použijeme df.isnull().sum()
- v rámci jednoduchého riešenia, napríklad df[„price“].fillna(df[„price“].mean(), inplace=True)
- v reálnych projektoch by sme analyzovali dôvod chýbania hodnôt a následne zvolili vhodnejší postup
- pre zistenie, odstránenie duplicity použijeme df = df.drop_duplicates()
- pre zistenie extrémnych hodnôt použijeme df[df[„price“] > 1000000]
- extrémne hodnoty pritom môžu byť chyby v dátach a treba ich odstrániť
- alebo naopak pôjde o reálne luxusné nehnuteľnosti a potom tieto údaje treba ponechať a prípadne ich analyzovať zvlášť
- rozhodnutie samozrejme závisí od kontextu projektu
Tento krok výrazne ovplyvňuje výsledok, pretože nesprávne opravené extrémy môžu skresliť celú analýzu.
5/ Vizualizácia dát
V tomto bode sa dostávame k vizualizácii dát (tu použijeme knižnice ako Matplotlib a Seaborn), ktorá pomáha vidieť a pochopiť vzťahy v dátach, ktoré čísla neodhaľujú.
import matplotlib.pyplot as plt
import seaborn as sns
Potom použijeme kód pre:
- rozdelenie cien
sns.histplot(df[„price“], bins=30)
plt.show()
- vzťah medzi veľkosťou a cenou nehnuteľnosti (tu bude vidieť napríklad aj vplyv lokality danej nehnuteľnosti na cenu)
sns.scatterplot(data=df, x=“size_m2″, y=“price“)
plt.show()
- analýza vzťahov (t.j. korelácie)
df.corr()
Najsilnejšie vzťahy bývajú medzi veľkosťou, počtom izieb a súčasne lokalitou.
6/ Príklad na jednoduchý predikčný model ohľadne ceny
Jednoduchý lineárny regresný model:
from sklearn.model_selection import train_test_split
from sklearn.linear_model import LinearRegression
X = df[[„size_m2“, „rooms“]]
y = df[„price“]
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2)
model = LinearRegression()
model.fit(X_train, y_train)
V praxi by sme model vyhodnotili pomocou metrík ako R² (koeficient determinácie) alebo MAE (angl. Mean Absolute Error, t.j. priemerná absolútna chyba). Vysoké R² bude znamenať, že model dobre vysvetľuje variabilitu cien v dátach, zatiaľ čo nízke R² bude signalizovať, že model nezachytáva všetky relevantné faktory. Nízke hodnoty MAE budú zase znamenať, že priemerná odchýlka predikcie od skutočných cien je malá, teda predikcie sú presnejšie. Tieto metriky pomáhajú dátovému vedcovi rozhodnúť, či je model spoľahlivý alebo je potrebné použiť iný prístup či pridať ďalšie premenné.
Nakoniec samozrejme zostáva interpretácia výsledkov.
Treba si uvedomiť, že dôležitý nie je len samotný model, ale hlavne to čo na základe neho je možné vysvetliť. Ide o to, že dátový vedec musí vedieť výsledky vysvetliť jednoduchým jazykom, napríklad väčšie byty sú drahšie (veľkosť má najväčší vplyv), počet izieb má významný vplyv (každých +10 m² zvyšuje cenu približne o X€) alebo lokalita je kľúčový faktor, ktorý výrazne ovplyvňuje cenu nehnuteľnosti.
Skutočná hodnota analýzy vzniká až vtedy, keď jej výsledky dokážu podporiť rozhodovanie, napríklad pri nastavovaní predajnej ceny alebo investičnej stratégie.
Zaujal Vás článok?
Zvážte možnosť jeho zdieľania na sociálnych sieťach alebo sa podeľte o svoj názor a pripomienky k článku a to odoslaním správy na e-mailovú adresu info@dataspark.sk.

