Icon

ProjektML

MULTIREGRESJA

to zaawansowane narzędzie statystyczne, które pozwala przewidzieć wartość konkretnej zmiennej liczbowej (np. ceny) na podstawie wielu różnych czynników jednocześnie. W moim projekcie model analizuje matematyczne korelacje między metrażem, standardem czy liczbą pokoi, obecnością windy, standardem wykończenia oraz funkcjonalnością mieszkania a następnie buduje równanie, które najlepiej opisuje rzeczywistość rynkową.

Postawione pytanie:

Jaka jest prawdopodobna cena czynszu dla mieszkania o danych parametrach ?

Normalizer sprawia, że wszystkie kolumny "mówią tym samym językiem". Sprowadza je do podobnego zakresu liczbowego, aby żadna cecha (jak wysoki czynsz czy duży metraż) nie zdominowała modelu samą wielkością liczby.

  • Metoda Z-Score to konkretny sposób normalizacji, który zamiast ściskać dane np. w przedziale 0-1, przelicza je w oparciu o średnią. Czyli jeśli na przykład średni czynsz to 500 euro to Z-Score zamieni 500 na 0.

Normalizer

Table partitioner

Table partitioner ma za zadanie podzielenie danych na dwie osobne części:

1) zbiór treningowy (na którym model się uczy)

2) zbiór testowy (na którym sprawdzamy wiedzę modelu)

  • Sampling strategy

    • Linear

    • Random

    • Stratified (sprawiedliwy podział)

    • First rows

Linear Regression Learner

Dlaczego Reference Category (Kategoria odniesienia) ma być "nie"?

Mówimy modelowi: "Traktuj 'nie' jako stan domyślny. Pokaż mi, co sprawia, że mieszkanie staje się funkcjonalne ('tak')".

Max number of epochs Limit prób. Jedna epoka to jedno pełne "przeczytanie" wszystkich danych przez model. Jeśli ustawmy za mało (np. 5): Model przerwie naukę w połowie, zanim znajdzie najlepszy wynik. Błąd będzie duży.Jeśli ustawimy dużo (np. 1000): Model po prostu przestanie się uczyć wcześniej, jeśli uzna, że jest gotowy. Nie zaszkodzi to wynikom.

Epsilon Jeśli w ostatnim kroku poprawiłeś wynik o mniej niż 0.00001 (wartość Epsilon), to uznaj, że wynik jest idealny i kończ pracę. Zwiększenie Epsilona (np. do 0.01) sprawi, że model skończy szybciej, ale wynik będzie mniej dokładny.
Regularization To jest najważniejsza opcja w zakładce Advanced. Chroni model przed Overfittingiem (wkuwaniem danych na pamięć)

  • A. Uniform (None) – Brak bezpiecznika

    • Model wierzy we wszystko, co znajdzie w danych.

    • Ryzyko: Jeśli w danych przypadkiem wyjdzie, że "Mieszkania na parterze z numerem 13 są zawsze luksusowe" (bo był tylko jeden taki przypadek), model uzna to za prawdę objawioną.

  • B. Gaussian (Ridge / L2) – "Umiarkowany Nauczyciel" (Zalecane)

    • Model dostaje karę za przypisywanie zbyt wielkiej wagi do jednej cechy.

    • Wymusza na modelu, by opierał się na wielu czynnikach (trochę metraż, trochę lokalizacja, trochę winda), a nie tylko na jednym.

    • Parametr Variance (sigma): Określa surowość kary.

      • Duża wariancja = Mała kara (model ma luz).

      • Mała wariancja = Duża kara (model jest bardzo ostrożny, "spłaszcza" wykres).

  • C. Laplace (Lasso / L1) – "Surowy Selekcjoner"

    • Ten typ regularyzacji potrafi całkowicie wyzerować wpływ słabych zmiennych.

    • Jeśli wrzucisz 50 kolumn, a tylko 5 ma sens, Laplace sprawi, że pozostałe 45 będzie miało wagę 0.

    • Używa się tego do automatycznego wybierania ważnych cech.

Logistic Regression Predictor

  • Stosuje wiedzę w praktyce: Bierze „równanie” (wzór), który wypracował Learner, i nakłada go na nowe dane (te ze zbioru testowego), których model wcześniej nie widział.

  • Oblicza prawdopodobieństwo: Dla każdego mieszkania z listy Predictor patrzy na jego cechy (metraż, windę, balkon) i wylicza procentową szansę na sukces (np. „To mieszkanie na 85% jest funkcjonalne”).

  • Wystawia werdykt: Na podstawie wyliczonego prawdopodobieństwa dopisuje do Twojej tabeli nową kolumnę z przewidywaną odpowiedzią (np. jeśli szansa jest powyżej 50%, wpisuje „tak”).

  • Nie uczy się niczego nowego: On tylko wykonuje instrukcje. Jeśli model (Learner) nauczył się czegoś źle, Predictor po prostu powieli ten błąd na nowych danych.

Regresja logitowa

Regresja logitowa to model klasyfikacyjny, który wylicza prawdopodobieństwo przynależności nieruchomości do danej kategorii poprzez dopasowanie danych wejściowych do funkcji sigmoidalnej.

Postawione pytania:
1: Czy mieszkanie jest funkcjonalne ?

2: Czy mieszkanie ma wysoki standard ?

1.1

1.2

2.1

2.2

One to many

Węzeł ten bierze jedną kolumnę tekstową (kategoryczną) i rozbija ją na tyle nowych kolumn, ile jest unikalnych wartości w oryginale. W tych nowych kolumnach wpisuje tylko dwie cyfry:

  • 1 (Prawda): Jeśli dana cecha występuje w tym wierszu.

  • 0 (Fałsz): Jeśli dana cecha nie występuje.

Przykładowo kolumna "Standard" (o wartościach: niski, średni, wysoki) została rozbita na osobne cechy. Dzięki temu w Multiregresji model mógł wyliczyć: „Jeśli Standard_wysoki wynosi 1, dodaj do ceny czynszu X”. Gdyby to słowo zostało w jednej kolumnie, model nie wiedziałby, jak je dodać do ceny.

Linear Regression Learner

„Mózg” procesu, który wylicza współczynniki i buduje wzór. Służy do znajdowania matematycznej zależności między jedną cechą, którą chcemy przewidzieć (zmienna zależna, np. cena), a wieloma cechami, które na nią wpływają (zmienne niezależne, np. metraż).

Target Column: Tu ustawiam "Czynsz za miesiąc [EUR]" To jest to, co model ma odgadnąć

Feature Selection (Include/Exclude): Wybieram zmienne niezależne (np. Metraż, Pokoje, Standard). Im więcej sensownych cech, tym lepszy model.

Regression Predictor

W statystyce i Machine Learningu proces dzielimy na naukę i testowanie. Regression Predictor służy do tego drugiego etapu. Jest to węzeł, który nie posiada własnej inteligencji – on po prostu bierze „równanie” przygotowane przez model i stosuje je do nowych danych.

Kluczowe cechy:

  • Wejścia: Przyjmuje dwa połączenia. Z góry otrzymuje Model (wzór matematyczny z Learnera), a z dołu Zbiór danych (zazwyczaj testowy z węzła Partitioning).

  • Wyjście: Produkuje tę samą tabelę, którą otrzymał, ale wzbogaconą o nową kolumnę z przewidywanymi wartościami.

  • Przeznaczenie: Służy do weryfikacji, jak model radzi sobie z danymi, których nie widział podczas nauki.

(współczynnik determinacji) R² = 0,69

model tłumaczy 70% różnic w danych. Pozostałe 30% to "szum" lub czynniki, których model nie widzi.

Mean absolute error = 331,12

pokazuje, o ile średnio prognozy różnią się od rzeczywistości. Jest wyrażony w tych samych jednostkach co dane. Średnio model myli się o 331 jednostek, czyli średnia różnica w przewidywanym czynszu to 331 euro.

Root Mean Squared Error = 459,28

Ponieważ RMSE jest wyraźnie większe od MAE, oznacza to, że w danych są outliery – czyli zdarzają się przypadki, gdzie model myli się znacznie bardziej niż o te średnie 331 jednostek.

Mean Signed Difference = 40,64

Wynik jest dodatni, co oznacza, że model ma lekką tendencję do przeszacowywania (overestimation). Średnio Twoje prognozy są o 40 jednostek za wysokie w stosunku do rzeczywistości. Gdyby wynik był ujemny, model częściej by niedoszacowywał.

Mean Absolute Percentage Error = 0,32

Pokazuje błąd w ujęciu procentowym względem wartości rzeczywistych. To najłatwiejszy wskaźnik do zrozumienia dla kogoś "z zewnątrz".
Czyli model myli się średnio o 32%

1) Bardzo wysoka celność modeli (92,9% – 95,1%) wynika w znacznej mierze z silnej nierównowagi klas, co przy małej liczbie mieszkań niefunkcjonalnych wskazuje na zjawisko przeuczenia i dopasowania się algorytmu do dominującej większości. Mimo to, rozszerzenie analizy o transformację „One-to-Many” pozwoliło zwiększyć liczbę trafnych predykcji do 175 i podnieść współczynnik Kappa z 0,57 do poziomu 0,742. Ten istotny wzrost wartości Kappa dowodzi, że model pełny rzeczywiście zyskuje realną zdolność rozpoznawania rzadszych przypadków niefunkcjonalnych, a nie tylko statystycznie powiela schemat klasy liczniejszej. Ostatecznie błąd zredukowany do poziomu 4,891% potwierdza dużą moc predykcyjną regresji logitowej w tym konkretnym zbiorze, choć tak optymistyczne wyniki należy traktować jako sygnał do ostrożnej walidacji modelu na bardziej zróżnicowanych danych rynkowych.

2) Przewidywanie wysokiego standardu mieszkania za pomocą parametrów liczbowych pozwoliło na poprawne zaklasyfikowanie 123 ofert, co przełożyło się na celność rzędu 66,848% i współczynnik Kappa na poziomie 0,322. Wzbogacenie modelu o cechy jakościowe, takie jak obecność balkonu czy windy, podniosło skuteczność do 69,565% i zwiększyło liczbę trafnych wskazań do 128, redukując błąd do poziomu 30,435%. Różnica w wynikach oraz wzrost współczynnika Kappa do 0,377 potwierdzają, że prestiż lokalu jest definiowany nie tylko przez cenę i metraż, ale w dużej mierze przez konkretne udogodnienia bezpośrednio podnoszące komfort życia. Wybór pytania o wysoki standard jest w pełni uzasadniony próbą zidentyfikowania obiektywnych czynników budujących wartość segmentu premium, co ma kluczowe znaczenie dla zrozumienia struktury rynkowej w Rydze. Mimo wyzwań wynikających z płynności granic między kategoriami, model ten dostarcza istotnych przesłanek na temat hierarchii cech, które realnie wpływają na pozycjonowanie ofert jako luksusowe.

Decision Tree, Random Forest

Decision Tree Learner to algorytm indukcyjny służący do budowy modelu klasyfikacyjnego. Jego zadaniem jest znalezienie w danych (np. o mieszkaniach w Rydze) takich reguł logicznych, które najlepiej odseparują od siebie poszczególne klasy zmiennej celu (np. standard „wysoki” od „średniego”).

Postawione pytania:
1: Czy mieszkanie jest funkcjonalne ?
2: Do której kategorii standardu (niski, średni czy wysoki) zostanie zaklasyfikowane mieszkanie na podstawie jego cech?

1.1

1.2

2.1

2.2

1) Modele osiągnęły zbliżone wyniki skuteczności: Drzewo Decyzyjne uzyskało 94,02% dokładności (Kappa: 0,636), a Las Losowy 94,57% (Kappa: 0,678). Ze względu na marginalną różnicę wybrano Drzewo Decyzyjne jako model optymalny, przy czym współczynnik Kappa powyżej 0,61 potwierdza, że klasyfikacja opiera się na rzeczywistych wzorcach, a nie na przypadkowym zgadywaniu. Należy jednak zauważyć, że tak wysoka dokładność ogólna jest częściowo uwarunkowana małą reprezentacją mieszkań niefunkcjonalnych w zbiorze, co ułatwia algorytmom poprawne typowanie klasy dominującej.

2) Mimo że Las Losowy osiągnął nieco wyższą skuteczność (73,91% celności i kappa 0,475) w porównaniu do Drzewa Decyzyjnego (71,20% i kappa 0,41), różnica wynosząca zaledwie 5 poprawnie sklasyfikowanych mieszkań (136 vs 131) jest niewielka. Wybór Drzewa Decyzyjnego jest w tej sytuacji bardziej uzasadniony ze względu na znacznie wyższą szybkość procesu oraz minimalne obciążenie procesora i pamięci RAM. Model ten pozwala na błyskawiczne generowanie wyników przy marginalnie wyższym poziomie błędu (28,8% vs 26,1%), co czyni go rozwiązaniem bardziej optymalnym technicznie. Ostatecznie postawienie na lekkość algorytmu zapewnia wysoką wydajność obliczeniową przy zachowaniu niemal identycznej wartości użytkowej w klasyfikacji standardu mieszkań.

Decision Tree Learner

Działa on w oparciu o proces podziału przestrzeni cech:

  • Algorytm analizuje wszystkie dostępne zmienne (czynsz, metraż, winda itp.).

  • Szuka zmiennej i konkretnego punktu podziału (tzw. split), który w największym stopniu zwiększa „czystość” (jednorodność) powstałych grup.

Tworzy węzły (pytania) i gałęzie (odpowiedzi), aż dojdzie do liści, które zawierają ostateczną decyzję klasyfikacyjną.

1) Class Column - Tutaj wskazujemy zmienną zależną (cel) W tym przypadku wybieram kolumnę Standard. Model będzie uczył się przewidywać wartości: wysoki, sredni, niski.

2) Quality Measure (Miara jakości) Decyduje o tym, jak algorytm ocenia, który podział danych jest „lepszy”

  • Gini Index: Mierzy statystyczne prawdopodobieństwo błędnej klasyfikacji elementu, jeśli zostałby on losowo przypisany do klasy zgodnie z rozkładem w danym węźle. Dąży do minimalizacji „zanieczyszczenia” (impurity). Jest szybki i dobrze radzi sobie z dużymi zbiorami.

  • Gain Ratio: Opiera się na Entropii (teoria informacji). Mierzy, o ile zmniejsza się niepewność co do klasyfikacji po dokonaniu podziału. Gain Ratio jest lepsze od zwykłego Information Gain, ponieważ nie promuje zmiennych o dużej liczbie unikalnych wartości.

3) Pruning Method Przycinanie zapobiega overfittingowi (przeuczeniu), czyli sytuacji, w której drzewo „wkuwa dane na pamięć” zamiast szukać ogólnych reguł.

  • No pruning: Drzewo rośnie do momentu, aż każdy liść będzie idealnie czysty lub skończą się dane.

  • MDL (Minimum Description Length): Zaawansowana metoda statystyczna. Wybiera model, który najlepiej kompresuje informację. Jeśli dodanie kolejnej gałęzi „kosztuje” matematycznie więcej niż zyskujemy na dokładności, gałąź jest odcinana.

4) Min number records per node Określa minimalną liczbę rekordów, jaka musi znajdować się w węźle, aby algorytm w ogóle próbował go dalej dzielić

5) Binary nominal splits

  • Zaznaczone: Każdy podział zmiennej tekstowej (np. Rodzaj budynku) będzie zawsze dwójkowy (np. „Kamienica” vs „Reszta”).

  • Odznaczone: Algorytm może stworzyć wiele odnóg jednocześnie (osobna gałąź dla każdego rodzaju budynku).

6) Average split point Dotyczy zmiennych liczbowych (np. Powierzchnia).

  • Jeśli model widzi, że podział następuje między wartościami 40 a 50, przy zaznaczonej opcji ustawi próg na 45. Dzięki temu reguły są bardziej „ludzkie” i czytelne.

7) Skip nominal columns without domain information Jeśli kolumna tekstowa nie ma zdefiniowanej tzw. „domeny” (listy wszystkich możliwych wartości), KNIME ją pominie.

Decision Tree Predictor

Węzeł ten nakłada reguły wypracowane przez Learnera na nowe dane, „przeprowadzając” każde mieszkanie przez ścieżki decyzyjne w celu wystawienia diagnozy. W projekcie automatycznie przypisuje on lokalom przewidywany standard (np. wysoki lub średni) na podstawie ich cech fizycznych i cenowych. Wynikiem jego pracy jest nowa kolumna z prognozami, która pozwala finalnie zmierzyć, jak często model trafnie rozpoznaje klasę standardu mieszkania.

Random Forest Learner

Random Forest Learner to algorytm zespołowy (ensemble learning), który buduje „las” składający się z wielu niezależnych drzew decyzyjnych (np. 100). Zamiast polegać na jednej opinii, model opiera się na głosowaniu demokratycznym: każde drzewo analizuje losowy wycinek danych i cech, a ostateczna klasyfikacja (np. „wysoki standard”) jest wynikiem najczęściej powtarzającej się odpowiedzi.

Tree Options (Parametry drzew)

  • Split Criterion (Kryterium podziału): Matematyczny „sędzia” oceniający jakość pytań.

    • Gini Index (Szybki Sprawdzacz Bałaganu):

      • Mierzy, jak bardzo wymieszane są klasy w grupie. Dąży do tego, by w jednym pudełku zostały same mieszkania o „wysokim standardzie”.

      • Zaleta: Bardzo szybki obliczeniowo.

      • Wada: Skupia się na największych grupach, czasem ignorując ważne, ale rzadsze przypadki.

    • Information Gain (Zysk Wiedzy – „Pułapka Prymusa”):

      • Mierzy, o ile zmniejsza się niepewność po zadaniu pytania.

      • Wada: Ma ogromną słabość do cech, które mają dużo unikalnych opcji.

    • Information Gain Ratio (Sprawiedliwy Sędzia):

      • To ulepszona wersja poprzednika. Bierze „Zysk Wiedzy”, ale dzieli go przez stopień skomplikowania pytania.

      • Zaleta: Jeśli pytanie jest zbyt szczegółowe (tworzy 50 małych gałęzi), ten sędzia obniża mu ocenę. Promuje pytania, które dają dużo wiedzy przy zachowaniu prostoty modelu.

  • Limit tree depth: Ogranicza wysokość drzewa (np. do 10). Zapobiega to tworzeniu zbyt szczegółowych reguł, które działałyby tylko na danych historycznych.

  • Minimum node size: Minimalna liczba mieszkań w gałęzi (np. 5). Jeśli grupa jest mniejsza, model przestaje ją dzielić, co eliminuje wpływ pojedynczych, dziwnych ofert na wynik ogólny.

Random Forest Predictor

Węzeł ten stosuje reguły wypracowane przez „las” drzew do nowych danych, przypisując każdemu mieszkaniu standard na podstawie wyniku demokratycznego głosowania wszystkich modeli. W projekcie automatycznie klasyfikuje on lokale z Rygi do kategorii wysoki, średni lub niski, bazując na ich cechach fizycznych i cenie. Wynikiem jego pracy jest kolumna z ostateczną prognozą oraz wskaźniki prawdopodobieństwa, które pokazują, jak bardzo model jest pewny swojej decyzji.

SVM

SVM (Support Vector Machine) to jeden z najpotężniejszych i najbardziej wszechstronnych algorytmów uczenia nadzorowanego, szczególnie ceniony w zadaniach klasyfikacji.

Postawione pytania:
1: Czy mieszkanie jest funkcjonalne ?
2: Do której kategorii standardu (niski, średni czy wysoki) zostanie zaklasyfikowane mieszkanie na podstawie jego cech?

1

2

1) Model przewidujący funkcjonalność osiągnął bardzo wysoką dokładność na poziomie 91,304%, poprawnie klasyfikując 168 przypadków przy zaledwie 16 błędach. Niski poziom błędu (8,696%) świadczy o tym, że algorytm SVM skutecznie wyznaczył granicę między mieszkaniami funkcjonalnymi a niefunkcjonalnymi na podstawie parametrów technicznych. Wartość współczynnika Cohen's kappa (0,394) wskazuje na umiarkowaną zgodność, co sugeruje, że wysoka celność może być częściowo potęgowana przez przewagę jednej z klas w zbiorze danych.

2) W zadaniu klasyfikacji standardu (niski, średni, wysoki) model uzyskał niższą celność wynoszącą 68,478%, trafnie rozpoznając kategorię w 126 przypadkach i myląc się w 58. Wyraźnie wyższy błąd na poziomie 31,522% wynika z większego skomplikowania problemu oraz faktu, że granice między różnymi standardami wykończenia są często płynne i subiektywne. Współczynnik Cohen's kappa równy 0,331 potwierdza, że przewidywanie standardu jest dla modelu SVM wyzwaniem większym niż ocena funkcjonalności.

SVM Learner

SVM to algorytm, który wyznacza optymalną granicę (hiperpłaszczyznę) między grupami danych, starając się zachować jak największy margines bezpieczeństwa od najbliższych punktów, zwanych wektorami nośnymi. Dzięki zastosowaniu tzw. „sztuczki z jądrem” (kernel trick), model potrafi precyzyjnie rozdzielić oferty o zbliżonych parametrach, co pozwala na uzyskanie wysokiej celności przewidywań przy relatywnie niedużym zbiorze danych. Jest to rozwiązanie szczególnie skuteczne w zadaniach, gdzie szukamy wyraźnych, matematycznych barier oddzielających np. standard wysoki od średniego.

  • Class column: Tutaj wskazujemy cel (target). To kolumna, którą model ma przewidzieć (np. Funkcjonalnosc lub Standard).

  • Overlapping penalty (C): To najważniejszy parametr SVM. Określa on, jak bardzo model ma karać za błędy w zbiorze treningowym.

    • Mała wartość (np. 0.1, 1.0): "Miękki margines". Model dopuszcza błędy, aby uzyskać prostszą, ogólniejszą granicę. Zapobiega to przeuczeniu (overfitting).

    • Duża wartość (np. 10, 100): "Twardy margines". Model stara się bezbłędnie sklasyfikować każdy punkt treningowy. Może to prowadzić do tego, że model "nauczy się danych na pamięć" i nie poradzi sobie z nowymi mieszkaniami.

  • Kernels - Jądra pozwalają SVM tworzyć zakrzywione granice, gdy danych nie da się oddzielić prostą linią.

    • Polynomial (Wielomianowe) Stosujemy, gdy wiemy, że cechy wpływają na siebie (np. duży metraż + niska cena daje inny efekt niż każda z tych cech osobno).

      • Power (Stopień): Określa stopień wielomianu.

        • 1: Granica jest linią prostą.

        • 2, 3: Granica staje się parabolą lub bardziej złożoną krzywą. Zbyt wysoki stopień (np. powyżej 4) drastycznie zwiększa czas obliczeń i ryzyko błędu.

      • Bias: Stała wartość dodawana do równania. Pozwala "przesunąć" granicę od środka układu współrzędnych, co pomaga lepiej dopasować model do danych, które nie są wycentrowane.

      • Gamma ($\gamma$): Kontroluje wpływ pojedynczych punktów treningowych. Wysoka Gamma oznacza, że model skupia się na punktach blisko granicy, niska Gamma bierze pod uwagę szerszy kontekst.

  • RBF (Radial Basis Function - Jądro Gaussowskie) Najpopularniejsze i najbardziej uniwersalne jądro. Traktuje każdy punkt jak "źródło pola".

    • Sigma: Określa zasięg wpływu punktu (szerokość krzywej Gaussa).

      • Mała Sigma: Punkt ma bardzo lokalny wpływ. Granica będzie bardzo "poszarpana" i dopasowana do konkretnych punktów.

      • Duża Sigma: Punkt ma szeroki wpływ. Granica będzie bardzo gładka i płynna.

  • HyperTangent (Sigmoid) Działa podobnie do funkcji aktywacji w sieciach neuronowych.

    • Kappa: Parametr skalujący (podobnie jak Gamma w wielomianie).

    • Delta: Parametr przesunięcia (podobnie jak Bias).

    • Zastosowanie: Rzadziej używane w klasyfikacji mieszkań, zazwyczaj gdy dane mają specyficzny rozkład przypominający dane z procesów biologicznych lub sygnałowych.

SVM Predictor

SVM Predictor wykorzystuje wypracowaną przez Learnera regułę matematyczną do przypisania konkretnej kategorii (np. standardu) nowym mieszkaniom ze zbioru testowego. Działa on jak automatyczny klasyfikator, który na podstawie cech fizycznych lokalu decyduje, po której stronie granicy decyzyjnej znajduje się dana oferta. W projekcie jego głównym zadaniem jest wygenerowanie kolumny z wynikami przewidywań, co umożliwia późniejszą ocenę skuteczności modelu w węzłach Scorer i ROC Curve poprzez bezpośrednie zestawienie prognoz z rzeczywistością rynkową.

"Analiza predykcyjna parametrów ofert długoterminowego najmu mieszkań w Rydze"

Narzędzia

Wnioski

PODSUMOWANIE I WNIOSKI

1) Analiza funkcjonalności mieszkań (Klasyfikacja binarna)
W pytaniu o funkcjonalność modele osiągnęły teoretycznie najwyższą skuteczność (do 95,109% w przypadku regresji logitowej), jednak wyniki te są silnie determinowane przez specyfikę zbioru danych. Głównym wyzwaniem była bardzo mała liczebność próby mieszkań niefunkcjonalnych, co sprzyjało zjawisku przeuczenia i tendencji algorytmów do wskazywania klasy dominującej. Najlepszą odporność na tę nierównowagę wykazała Regresja Logitowa (One-to-Many) – wysoki współczynnik Kappa (0,742) potwierdził, że model ten realnie wyłapuje wzorce rynkowe, a nie tylko statystycznie powiela większość. Na tym tle Naive Bayes wypadł znacznie słabiej (81,522% celności), co wynika z jego naiwnego założenia o niezależności cech; ignorowanie silnych korelacji między metrażem a liczbą pokoi prowadziło w tym modelu do błędnej oceny funkcjonalności lokali.

2) Klasyfikacja standardu mieszkania (Klasyfikacja wieloklasowa i binarna)
Przewidywanie standardu lokalu okazało się zadaniem znacznie bardziej złożonym. Warto zaznaczyć, że w tym obszarze Regresja Logitowa operowała na uproszczonym schemacie binarnym, dzieląc mieszkania jedynie na dwie kategorie: wysoki standard oraz standard średni/niski (połączone). Mimo tego ułatwienia, model logitowy osiągnął celność jedynie na poziomie 69,565%. Co istotne, modele oparte na drzewach, mimo obsługi pełnego podziału na trzy osobne kategorie (niski, średni, wysoki), uzyskały lepsze wyniki – Las Losowy osiągnął celność 73,91% i najwyższą Kappę (0,475). Dowodzi to, że uproszczenie klasyfikacji w regresji logitowej nie zrekompensowało jej liniowego charakteru, a nieliniowe zależności rynkowe są znacznie lepiej odwzorowywane przez algorytmy drzewiaste. Najsłabszy wynik ponownie odnotował Naive Bayes (60,326% celności), który przez brak analizy synergetycznego wpływu udogodnień nie był w stanie trafnie rozróżnić standardów.

Rekomendacja modelu: Mimo najwyższej celności Lasu Losowego, osobiście rekomenduję zastosowanie Drzewa Decyzyjnego do oceny standardu mieszkania. Model ten osiągnął zbliżoną wartość użytkową (poprawnie sklasyfikował 131 mieszkań względem 136 w Lesie Losowym), oferując przy tym kluczowe zalety praktyczne:

  • Pełna przejrzystość: Pozwala na łatwe prześledzenie ścieżki decyzyjnej (czytelny graf), co umożliwia logiczne uzasadnienie przypisanego standardu na podstawie konkretnych cech, takich jak obecność windy czy metraż.

  • Wydajność: Działa błyskawicznie przy minimalnym obciążeniu zasobów, co czyni go najbardziej optymalnym narzędziem do codziennej, masowej analizy rynku.

3) Estymacja cen czynszu (Regresja)
Uzupełnieniem klasyfikacji była multiregresja, która wyjaśnia 70% zmienności cen w Rydze (R2 = 0,69). Choć średni błąd procentowy (MAPE) wynosi 32%, model ten poprawnie identyfikuje główne czynniki cenotwórcze, stanowiąc niezbędne wsparcie dla modeli klasyfikacyjnych i pozwalając na obiektywne powiązanie kosztów najmu z fizycznymi cechami lokalu.

4) Porównanie charakterystyki i wydajności modeli
Zestawienie wyników wykazuje wyraźną hierarchię skuteczności algorytmów w zależności od ich założeń matematycznych. Modele nieliniowe, takie jak Las Losowy i Drzewo Decyzyjne, najlepiej poradziły sobie z wielowymiarową naturą standardu mieszkania, skuteczniej wychwytując zależności niż Regresja Logitowa czy SVM, które przy bardziej złożonych podziałach wykazywały mniejszą stabilność. Największy dystans dzielił pozostałe metody od modelu Naive Bayes – jego statystyczne założenie o całkowitej niezależności cech okazało się błędne w realiach rynku nieruchomości, gdzie parametry takie jak cena i metraż są ze sobą nierozerwalnie związane. W efekcie, podczas gdy modele drzewiaste i logitowe dostarczyły precyzyjnych narzędzi decyzyjnych, podejście probabilistyczne i geometryczne (SVM) posłużyło głównie jako punkt odniesienia, obnażając trudności w klasyfikacji przy niesymetrycznym rozkładzie danych.


Naive Bayes

Naive Bayes to statystyczny klasyfikator, który zamiast szukać "granic" (jak SVM) lub "reguł" (jak Drzewa), wylicza prawdopodobieństwo.

Postawione pytania:
1: Czy mieszkanie jest funkcjonalne ?
2: Do której kategorii standardu (niski, średni czy wysoki) zostanie zaklasyfikowane mieszkanie na podstawie jego cech?

1

2




1) Model Naive Bayes w pytaniu o funkcjonalność osiągnął celność na poziomie 81,522%, poprawnie klasyfikując 150 ofert przy 34 błędach. Choć wynik ten jest wyraźnie niższy niż w przypadku drzew decyzyjnych czy regresji logitowej, współczynnik Kappa wynoszący 0,406 wskazuje na zachowanie umiarkowanej wiarygodności predykcji. Spadek skuteczności wynika z „naiwnego” założenia o niezależności cech, co przy silnie skorelowanych danych o metrażu i liczbie pokoi utrudnia modelowi precyzyjne wyznaczenie granicy funkcjonalności w porównaniu do algorytmów analizujących relacje między zmiennymi.




2) W klasyfikacji standardu mieszkania model uzyskał celność wynoszącą 60,326%, trafnie rozpoznając kategorię w 111 przypadkach i popełniając aż 73 błędy. Tak wysoki poziom błędu (39,674%) oraz niski współczynnik Kappa (0,251) oznaczają, że uproszczone podejście probabilistyczne radzi sobie z tym problemem znacznie gorzej niż modele oparte na logice drzew czy separacji geometrycznej. Słabsza wydajność jest efektem traktowania parametrów takich jak czynsz i udogodnienia jako zmiennych niezależnych, co przy ich silnym wzajemnym powiązaniu uniemożliwia modelowi Bayesowskiemu trafne uchwycenie złożonych różnic między standardem niskim, średnim a wysokim.

Naive Bayes Learner

Jest to świetny model "bazowy". Dzięki niemu sprawdzone zostanie, czy proste podejście statystyczne wystarczy, by przewidzieć standard i funkcjonalność mieszkania.

  • Classification column: Wybór kolumny docelowej

  • Default probability: Używane do tzw. wygładzania (Laplace smoothing). Jeśli w danych treningowych nigdy nie wystąpiło np. "mieszkanie z 10 pokojami", algorytm przypisałby mu prawdopodobieństwo 0, co "wyzerowałoby" cały wynik. Ta opcja dodaje bardzo małą wartość, aby uniknąć mnożenia przez zero.

  • Minimum standard deviation / Threshold standard deviation: Naive Bayes zakłada, że dane liczbowe (metraż, cena) mają rozkład Gaussa. Do obliczeń potrzebuje odchylenia standardowego. Jeśli wszystkie mieszkania w danej grupie mają identyczny metraż, odchylenie wynosi 0, co psuje matematycznie wzór (dzielenie przez zero). Te opcje ustawiają "bezpiecznik" – minimalną wartość, poniżej której model nie zejdzie.

  • Maximum number of unique nominal values per attribute: To filtr bezpieczeństwa. Jeśli kolumna tekstowa ma np. 500 unikalnych wartości (jak nazwy ulic), model ją pominie. Zapobiega to przetwarzaniu unikalnych identyfikatorów, które nie niosą wartości statystycznej.

Naive Bayes Predictor przypisuje kategorię funkcjonalności lub standardu nowym ofertom, bazując na prawdopodobieństwach statystycznych wyliczonych w fazie uczenia. Algorytm analizuje cechy fizyczne mieszkania i wskazuje wynik, który jest najbardziej prawdopodobny na podstawie wzorców zidentyfikowanych w danych rynkowych z Rygi. Wygenerowane w ten sposób prognozy pozwalają na automatyczną klasyfikację zbioru testowego i weryfikację trafności modelu poprzez zestawienie wyników z rzeczywistymi etykietami.

Naive Bayes Predictor

Z-score normalizer
Normalizer
Decision Tree Learner
Decision Tree Predictor
Partitioning: Random 70/30
Table Partitioner
Filter out: adres i data
Column Filter
Wart. liczbowe
Logistic Regression Learner
Partitioning: Random 70/30
Table Partitioner
Scorer
Najem długoterminowy Ryga
Excel Reader
Najem długoterminowyRyga
Excel Reader
Scorer
Filter out: adres i data
Column Filter
Najem długoterminowy Ryga
Excel Reader
Logistic Regression Predictor
Decision Tree Learner
Scorer
Decision Tree Predictor
Z-score normalizer
Normalizer
Partitioning: Random 70/30
Table Partitioner
Scorer
OTM: Wszystkie stringoprócz funkcjonalności
One to Many
Partitioning: Random 70/30
Table Partitioner
Random Forest Learner
Filter out: adres i data
Column Filter
Logistic Regression Predictor
Najem długoterminowy Ryga
Excel Reader
Najem długoterminowyRyga
Excel Reader
Filter out: adres i data
Column Filter
Random Forest Predictor
Wart. liczbowe + kategoryczne
Logistic Regression Learner
Scorer
Partitioning: Random 70/30
Table Partitioner
Random Forest Predictor
Wart. liczbowe
Logistic Regression Learner
Zamiana wartości w kolumnie standard:połączenie w kategorię średni/niski
Rule Engine
Partitioning: Random 70/30
Table Partitioner
Z-score normalizer
Normalizer
Random Forest Learner
Partitioning: Random 70/30
Table Partitioner
Logistic Regression Predictor
Scorer
Najem długoterminowyRyga
Excel Reader
Filter out: adres i data
Column Filter
Numerical data visualisation
Filter out: adres i data
Column Filter
Partitioning: Random 70/30
Table Partitioner
Scorer
Najem długoterminowy Ryga
Excel Reader
Scorer
Scorer
Najem długoterminowyRyga
Excel Reader
Wart. liczbowe+ 3 kategoryczne
Logistic Regression Learner
SVM Learner
Logistic Regression Predictor
SVM Predictor
Filter out: Adres i data
Column Filter
OTM: Wszystkie stringoprócz Standard
One to Many
Zamiana wartości w kolumnie standard:połączenie w kategorię średni/niski
Rule Engine
Z-score normalizer
Normalizer
OTM: Wszystkie stringoprócz funkcjonalności
One to Many
Sprawdzenie liczby mieszkań funkcjonalnych i niefunkcjonalnych
Value Counter
Najem długoterminowy Ryga
Excel Reader
Najem długoterminowy Ryga
Excel Reader
Najem długoterminowy Ryga
Excel Reader
Z-score normalizer
Normalizer
Filter out: adres i data
Column Filter
Najem długoterminowy Ryga
Excel Reader
Filter out: adres i data
Column Filter
OTM: Wszystkie stringoprócz funkcjonalności
One to Many
Partitioning: Random 70/30
Table Partitioner
SVM Learner
Linear Regression Learner
SVM Predictor
One to Many
Filter out: adres i data
Column Filter
Z-score normalizer
Normalizer
Partitioning: Random 70/30
Table Partitioner
Scorer
Z-score normalizer
Normalizer
Filter out: adres i data
Column Filter
Partitioning: Random 70/30
Table Partitioner
Numeric Scorer
Regression Predictor
Scorer
Scorer
Naive Bayes Predictor
Czynsz vs predicted czynsz
Scatter Plot
Naive Bayes Predictor
Naive Bayes Learner
String Data Visualisation
Partitioning: Random 70/30
Table Partitioner
Naive Bayes Learner
Partitioning: Random 70/30
Table Partitioner
Najem długoterminowy Ryga
Excel Reader
Filter out: adres i data
Column Filter

Nodes

Extensions

Links