Using Machine Learning to Build a Walkability Score
Seattle-ben élek és nemrég költöztem egy másik környékre. A Walk Score saját algoritmusai szerint a 9. legjobban gyalogolható Seattle-i környékről a 30. helyre költöztem. Még mindig könnyedén el tudok sétálni a helyi kávézóba és a fodrászhoz, de ennyi! Meg tudom mondani, hogy egy lényegesen kevésbé járható környékre költöztem, de nem világos, hogyan lehet számszerűsíteni a nagyságrendet, vagy hogy mi számít a járhatósági pontszámba.
Korábban a Walk Score API-t adatforrásként használtam az elektromos robogók helyének klaszterezésének előrejelzésére. A Walk Score egy olyan weboldal, amely egy címet vesz, és egy 0-100-ig terjedő skálán, saját algoritmusok és különböző adatfolyamok segítségével kiszámítja annak gyalogos megközelíthetőségét.
Mint olyan ember, aki szeret gyalogolni, hogy eljusson helyekre (és túrázni!), kíváncsi lettem arra, hogy mi táplálja ezeket a saját algoritmusokat, amelyek a gyalogossági pontszámot generálják. A következő kérdéseket tettem fel:
- Meg lehet-e fordítani a saját fejlesztésű Walk Score algoritmusokat?
2. Milyen jellemzők fontosak a járhatósági pontszám kialakításában?
Az említett kérdések megválaszolásához egyéni adathalmazt hoztam létre a Seattle városi adatok és a Walk Score API adatainak sokrétű gyűjtésével, hogy gépi tanulási modelleket képezzek a járhatósági pontszám előrejelzésére. Képes voltam egy olyan modellt képezni, amely 0,95 R² értéket ért el a tesztkészlet adatain. Az R-négyzet azt magyarázza, hogy a jellemzőkészlet szórása milyen mértékben magyarázza a Walk Score szórását.
Lényegében képes voltam visszafejteni a Walk Score módszertanát, és újraalkotni a Walk Score-t működtető saját algoritmusokat. A legfontosabb jellemzők egy helyszín járhatósága szempontjából az 1000 méteren belüli éttermek száma, a népsűrűség az adott népszámlálási körzetben, az 1000 méteren belüli szupermarketek száma és a legközelebbi kereskedelmi övezethez való távolság méterben kifejezve.
A jellemzők négy kategóriára oszlanak:
- Amenity-based:
2) Népszámlálásból származtatott: buszmegállók, parkok, éttermek, iskolák száma, összes szolgáltatás egy meghatározott sugarú körben (a legtöbb szolgáltatás esetében 1000 méteres sugarú kört használtak)
2) Népszámlálásból származtatott:
3) Distance Based: Közelség a legközelebbi autópályához, legközelebbi főút, legközelebbi mellékút, legközelebbi lakóút, legközelebbi ipari övezeti besorolás
4) Járási hálózat struktúrája: kereszteződések száma, átlagos körforgalom, átlagos utcahossz, átlagos utcák száma csomópontonként
Modellfejlesztés
Három gépi tanulási modellt képeztem ki: Egy random forest regressziót, egy gradiens boosting regressziót és egy extrém gradiens boosting regressziót. Mindegyik modellt az összegyűjtött adatok kétharmadán képeztem ki, a fennmaradó egyharmadot pedig tesztelésre tartottam fenn.
Az extrém gradiens boosting regresszió nagyszerű munkát végzett a Walk Score előrejelzésében, 0,95 R² értéket ért el az egyharmados tesztkészleten (~2300 minta). Ennek a modellnek volt a legjobban teljesítő tesztkészlet pontossága (RMSE).
Mi van a fekete dobozban?
A Walk Score módszertan visszafejtésének célja az volt, hogy megérthessük az algoritmusaikban rejlő legfontosabb jellemzőket. Tudni akarjuk, hogy valójában mi tesz egy helyszínt járhatóvá, nem csak egy pontszám! Az extrém gradiens boosting modell jellemzőinek fontosságát vizsgálva az 1000 méteren belüli éttermek száma dominált, mint a legfontosabb jellemző. További fontos modelljellemzők voltak a népsűrűség egy adott népszámlálási körzetben, az összes szolgáltatás száma, az 1000 méteren belüli szupermarketek száma és a legközelebbi kereskedelmi övezethez való távolság méterben kifejezve.
Következtetés
A Walk Score már most is hasznos döntéshozatali eszköz arra vonatkozóan, hogy a gyaloglási, kerékpáros és közlekedési preferenciák alapján hol érdemes lakni és ingatlanokat kialakítani. Most hasznos, ha megértjük a Walk Score módszertanát és azt, hogy milyen jellemzőkkel épülnek fel az algoritmusaik. Most már ismerjük azokat az inputokat, amelyek a Walk Score szerint járhatóvá tesznek egy helyszínt.
A jelenlegi modellt Seattle városának határain belül képezték ki, ahol a városi jellemzők hasonlóak. A Walk Score előrejelző erejének növelése érdekében további jellemzőket lehetne gyűjteni, például topográfiai méréseket és a legközelebbi szolgáltatás távolságának kiszámítását. A modell előrejelzései könnyen kiterjeszthetők más területekre is, mivel a Walk Score API és a jellemzők generálásához szükséges adatforrások (US Census, OSMnx, City Zoning, LocationIQ) széles körben elérhetők.
Kód
A projekt kódja megtalálható a GitHubon
.