ä»æ¥ã®ç¿»èš³ã¯ããŒã¿ãµã€ãšã³ã¹ã«é¢ãããã®ã§ãããããªã³ã®ããŒã¿ã¢ããªã¹ãã¯ãéèŠãé«ãäŸçµŠãå°ãªãåžå Žã§äœå® ãæ¢ããŠãããšèªã£ãã
ç§ã¯ãã€ããä»äºã®ã¹ãã«ãæ¥åžžç掻ã«å¿çšã§ããå°é家ã矚ãŸãã㣠ãŠããŸããé 管工ãæ¯ç§å»ããŸãã¯ã·ã§ããäŸã«ãšã£ãŠã¿ãŸãããã圌ãã®ã¹ãã«ã¯ãä»äºã§åœ¹ç«ã€ã ãã§ã¯ãããŸããã
ããŒã¿ã¢ããªã¹ããšãœãããŠã§ã¢ãšã³ãžãã¢ã«ãšã£ãŠããããã®ã¡ãªããã¯éåžžãããŸãå ·äœçã§ã¯ãããŸããããã¡ãããç§ã¯æè¡ã«ç²ŸéããŠããŸãããä»äºã§ã¯äž»ã«ããžãã¹ã»ã¯ã¿ãŒãæ±ã£ãŠããããã家æã®åé¡ã解決ããããã®ã¹ãã«ã®èå³æ·±ããŠãŒã¹ã±ãŒã¹ãèŠã€ããã®ã¯å°é£ã§ãã
劻ãšç§ããããªã³ã§æ°ãã家ãè²·ãããšã«æ±ºãããšããç§ã¯ããã«ãã®ç¥èã䜿ãæ©äŒãèŠãŸããïŒ
èšäºã®å 容ïŒ
- éèŠãé«ããäŸçµŠãå°ãªã
- ããŒã¿ãæ¢ã
- ã¢ã€ãã¢ããããŒã«ãž
- åºæ¬ããŒã¿
- ããŒã¿å質ã®åäž
- Google Data Studio
- ããã€ãã®å®è£ ã®è©³çŽ°ïŒãããŠæ¥œããéšåã«ç§»ããŸãïŒ
- ãžãªã³ãŒãã£ã³ã°ã¢ãã¬ã¹
- ç©ä»¶ãåžå Žã«åºãŠããæéã®èšç®
- åæ
- 調æ»çµæ
- çµè«
以äžã®ããŒã¿ã¯ã¹ã¯ã¬ã€ããããŠããŸãããããã®ã¹ã¯ãªããã§çæãããŠã ãŸãã
éèŠãé«ããäŸçµŠãå°ãªã
ãããã©ã®ããã«å§ãŸã£ãããç解ããããã«ããããªã³ã§äžåç£ãè³Œå ¥ããç§ã®å人çãªçµéšãèªãããšãã§ããŸããããã¯å®¹æã§ã¯ãªãã£ãããšãèªããªããã°ãªããŸãããåžå Žã¯éåžžã«éèŠãé«ãïŒè¿å¹Žã®ã¢ã€ã«ã©ã³ãã®åªããçµæžããã©ãŒãã³ã¹ã®ãããã§ïŒãäœå® ã¯éåžžã«é«äŸ¡ã§ãããŠãŒãã¹ã¿ããã®ã¬ããŒãã«ãã ãšãã¢ã€ã«ã©ã³ãã¯2019幎ã«EUãšæ¯èŒããŠäœå® è²»ãæãé«ãã£ãïŒEUå¹³åã77ïŒ äžåã£ãŠããŸãïŒã
ãã®å³ã¯ã©ãããæå³ã§ããïŒ
1. ç§ãã¡ã®äºç®ã«åã家ã¯ã»ãšãã©ãªããéèŠã®é«ãéœåžã®å°åã§ã¯ãããã«å°ãªã家ããããŸãïŒå€ããå°ãªããéåžžã®äº€éã€ã³ãã©ããããŸãïŒã
2.äºæ¬¡äœå® ã® ç¶æ ãéåžžã«æªãå ŽåããããŸããææè ã販売ããåã«ä¿®çã«æè³ããããšã¯æçã§ã¯ãªãã®ã§ã販売äžã®äœå® ã¯ããšãã«ã®ãŒå¹çã®è©äŸ¡ãäœããé 管ãé»æ°æ©åšãäžååã§ããããšããããããŸããã€ãŸããè³Œå ¥è ã¯ããã§ã«é«ãäŸ¡æ Œã«ãªãã©ãŒã è²»çšãè¿œå ããå¿ èŠããããŸãã
3. 販売ã¯ãªãŒã¯ã·ã§ã³ã·ã¹ãã ã«åºã¥ããŠãããã»ãšãã©ã®å Žåãè³Œå ¥è ã®å ¥æã¯éå§äŸ¡æ ŒãäžåããŸããç§ã®ç¥ãéããããã¯æ°ãã建ç©ã«ã¯åœãŠã¯ãŸããŸããããäºç®ãå€§å¹ ã«è¶ ããŠããããããã®ã»ã°ã¡ã³ãã¯ãŸã£ããèæ ®ããŸããã§ããã
倧éœåžã§ãåãããšãèµ·ããå¯èœæ§ãé«ãã®ã§ãäžçäžã®å€ãã®äººããã®ç¶æ³ã«ç²ŸéããŠãããšæããŸãã
ç§ãã¡ã®ç©ä»¶æ€çŽ¢ã®ä»ã®ã¿ããªãšåãããã«ãç§ãã¡ã¯æé ãªäŸ¡æ Œã§å®ç§ãªãšãªã¢ã«å®ç§ãªå®¶ãèŠã€ããããšæã£ãŠããŸãããããŒã¿åæããããè¡ãã®ã«ã©ã®ããã«åœ¹ç«ã£ãããèŠãŠã¿ãŸãããïŒ
ããŒã¿ãæ¢ã
ã©ã®ããŒã¿ãµã€ãšã³ã¹ãããžã§ã¯ãã«ãããŒã¿åé段éãããããã®ç¹å®ã®ã±ãŒã¹ã§ã¯ãåžå Žã§å ¥æå¯èœãªãã¹ãŠã®äœå® ã«é¢ããæ å ±ãå«ããœãŒã¹ãæ¢ããŠããŸãããã¢ã€ã«ã©ã³ãã«ã¯2çš®é¡ã®ãµã€ãããããŸãã
- äžåç£æ¥è ã®ãŠã§ããµã€ãã
- ã¢ã°ãªã²ãŒã¿ãŒã
ã©ã¡ãã®ãªãã·ã§ã³ãéåžžã«äŸ¿å©ã§ã売ãæãšè²·ãæã«ãšã£ãŠç掻ãã¯ããã«æ¥œã«ãªããŸããæ®å¿µãªããããŠãŒã¶ãŒã€ã³ã¿ãŒãã§ã€ã¹ãšæšå¥šããããã£ã«ã¿ãŒã¯ãå¿ èŠãªæ å ±ãæœåºããŠããŸããŸãªããããã£ãæ¯èŒããããã®æãå¹ççãªæ¹æ³ãåžžã«æäŸãããšã¯éããŸãããã°ãŒã°ã«ã®ãããªæ€çŽ¢ãšã³ãžã³ã§ã¯çããã®ãé£ããããã€ãã®è³ªåããããŸãïŒ
1ãä»äºã«çãã® ã«ã©ããããæéãããããŸããïŒ
2.ãããšãªã¢ãŸãã¯å¥ã®ãšãªã¢ã«ããã€ã®ããããã£ããããŸããïŒåŸæ¥ã®ãŠã§ããµã€ãã§åžè¡å°ãæ¯èŒããããšã¯å¯èœã§ãããéåžžã¯æ°å¹³æ¹ããã¡ãŒãã«ãã«ããŒããŠããŸããããã¯ãããšãã°ãç¹å®ã®éãã®æãé«ãããããšã¯ãããçš®ã®ããªãã¯ã瀺ããŠããããšãç解ããã«ã¯ååãªè©³çŽ°ã§ã¯ãããŸãããã»ãšãã©ã®å°éãµã€ãã«ã¯å°å³ããããŸãããç§ãã¡ãæãã»ã©æçã§ã¯ãããŸããã
3.家ã®è¿ãã«ã¯ã©ããªæœèšããããŸããïŒ
4.ããããã£ã®ã°ã«ãŒãã®å¹³åæç€ºäŸ¡æ Œã¯ãããã§ããïŒ
5.ç©ä»¶ã¯ã©ã®ãããã®æé販売ãããŠããŸããïŒãã®æ å ±ãå©çšã§ããå Žåã§ããäžåç£æ¥è ãåºåãåé€ããŠå床é 眮ããå¯èœæ§ããããããåžžã«ä¿¡é Œã§ãããšã¯éããŸããã
æ¶è²»è ã«ãããããŠãŒã¶ãŒã€ã³ã¿ãŒãã§ã€ã¹ãåèšèšããããŒã¿å質ãåäžãããããšã§ã家ãèŠã€ããã®ãã¯ããã«ç°¡åã«ãªããéåžžã«èå³æ·±ãæŽå¯ãåŒãåºãããšãã§ããŸããã
ã¢ã€ãã¢ããããŒã«ãž
åºæ¬ããŒã¿
æåã®ã¹ãããã¯ãåºæ¬çãªæ å ±ãåéããããã®ã¹ã¯ã¬ãŒããŒãäœæããããšã§ããã
- ããããã£ã®çã®ã¢ãã¬ã¹ã
- çŸåšã®å£²ãæäŸ¡æ Œã
- ããããã£ã®ããããŒãžãžã®ãªã³ã¯ã
- éšå±ã®æ°ããã¹ã«ãŒã ã®æ°ããšãã«ã®ãŒå¹çã®è©äŸ¡ãªã©ã®åºæ¬çãªç¹æ§ã
- åºåãã¥ãŒã®æ°ïŒå©çšå¯èœãªå ŽåïŒã
- ããããã£ã®ã¿ã€ãïŒå®¶ãã¢ããŒããæ°ãã建ç©ïŒã
å®éãããã¯ç§ãã€ã³ã¿ãŒãããã§èŠã€ããããšãã§ãããã¹ãŠã®ããŒã¿ã§ãããã詳现ãªåæãè¡ãã«ã¯ããã®ããŒã¿ã»ãããæ¹åããå¿ èŠããããŸããã
ããŒã¿å質ã®åäž
家ãéžã¶ãšããè³Œå ¥ãæ¯æããç§ã®äž»ãªè°è«ã¯ãä»äºã«äŸ¿å©ãªéã§ããç§ã«ãšã£ãŠãããã¯ãã¢ãããã¢ãŸã§ã®å šæ çšã§50å以å ã§ãããããã®èšç®ã®ããã«ãç§ã¯Googleã®ã¯ã©ãŠããã©ãããã©ãŒã ã䜿çšããããšã«ããŸããïŒ
1. ãžãªã³ãŒãã£ã³ã°APIã䜿çšããŠãç§ã¯ãããããã£ã®ã¢ãã¬ã¹ã䜿çšããŠã緯床ãšçµåºŠã®åº§æšãåŸãŸããã
2. Directions APIã䜿çšããŠãèªå® ããåŸæ©ãå ¬å ±äº€éæ©é¢ã§ä»äºãããã®ã«ãããæéãèšç®ããŸããã泚ïŒãµã€ã¯ãªã³ã°ã¯ãŠã©ãŒãã³ã°ã®çŽ3åã®éãã§ãã
3. APIã·ãŒãã®äœ¿çšïŒPlaces APIïŒåç©ä»¶åšèŸºã®ã¢ã¡ããã£ã«ã€ããŠã®æ å ±ãããã ããŸãããç¹ã«ãè¬å±ãã¹ãŒããŒããŒã±ãããã¬ã¹ãã©ã³ã«èå³ããããŸããã泚ïŒPlaces APIã¯éåžžã«é«äŸ¡ã§ãã4,000ã®ããããã£ã®ããŒã¿ããŒã¹ã§ã¯ã3çš®é¡ã®ã¢ã¡ããã£ã«é¢ããæ å ±ãèŠã€ããããã«12,000ã®ã¯ãšãªãå®è¡ããå¿ èŠããããŸãããããã£ãŠããã®ããŒã¿ãæçµããã·ã¥ããŒãããé€å€ããŸããã
å°ççãªå Žæã«å ããŠãç§ã¯å¥ã®è³ªåã«èå³ããããŸããïŒäžåç£ã¯ã©ã®ãããåžå Žã«åºåã£ãŠããŸããïŒç©ä»¶ãé·æé売åŽãããŠããªãå Žåãããã¯ã¢ãŒãã³ã°ã³ãŒã«ã§ããããããããã®å°åãŸãã¯å®¶èªäœã«åé¡ãããããæç€ºäŸ¡æ Œãé«ãããŸãã
éã«ãç©ä»¶ã売ãã«åºãããã°ããã®å Žåãææè ã¯æåã«åãåã£ããªãã¡ãŒã«åæããªãããšã«çæããå¿ èŠããããŸããæ®å¿µãªããããã®æ å ±ã¯ããªãç°¡åã«é ãããšãã§ããŸããåºæ¬çãªæ©æ¢°åŠç¿ã䜿çšããŠãåºåãã¥ãŒæ°ãšä»ã®ããã€ãã®ææšã䜿çšããŠãã®åŽé¢ãæšå®ããŸããã
æåŸã«ããã£ã«ã¿ãªã³ã°ã容æã«ããããã«ãããã€ãã®ãµãŒãã¹ãã£ãŒã«ãã䜿çšããŠããŒã¿ã»ãããæ¹åããŸããïŒããšãã°ãäŸ¡æ Œç¯å²ã®åãè¿œå ããããšã«ãã£ãŠïŒã
Google Data Studio
æ¹åãããããŒã¿ã»ããã§åé¡ ããªãã£ãã®ã§ã匷åãªããã·ã¥ããŒããäœæããŸããããã®ã¿ã¹ã¯ã®ããŒã¿èŠèŠåããŒã«ãšããŠGoogleDataStudioãéžæããŸããããã®ãµãŒãã¹ã«ã¯ããã€ãã®æ¬ ç¹ããããŸãïŒãã®æ©èœã¯éåžžã«éãããŠããŸãïŒããå©ç¹ããããŸããç¡æã§ãWebããŒãžã§ã³ããããGoogleã¹ãã¬ããã·ãŒãããããŒã¿ãèªã¿åãããšãã§ããŸãã以äžã¯ãã¯ãŒã¯ãããŒå šäœã説æããå³ã§ãã
ããã€ãã®å®è£ ã®è©³çŽ°
æ£çŽãªãšãããå®è£ ã¯éåžžã«ç°¡åã§ãããã«ã¯æ°ãããã®ãç¹å¥ãªãã®ã¯ãããŸãããããŒã¿ãåéããããã®äžé£ã®ã¹ã¯ãªãããšãããã€ãã®åºæ¬çãªPandaså€æã§ããGoogle APIãšã®çžäºäœçšãšãç©ä»¶ãåžå Žã«åºãŠããæéã®èšç®ã«æ³šç®ãã䟡å€ãããããšãé€ããŠã
以äžã®ããŒã¿ã¯ã¹ã¯ã¬ã€ããããŠããŸãããããã®ã¹ã¯ãªããã§çæãããŠã ãŸãã
çããŒã¿ãèŠãŠã¿ãŸãããã
äºæ³ã©ããã ãã¡ã€ã«ã«ã¯æ¬¡ã®åãå«ãŸããŠããŸãã
id
ïŒåºåIDã_address
ïŒç©ä»¶ã®äœæã_d_code
: . D<>. <> , (, ), â ._link
: , ._price
: .type
: (, , )._bedrooms
: ()._bathrooms
: ._ber_code
: , : «», ._views
: ( )._latest_update
: ( ).days_listed
: â , ,_last_update
.
éèŠãªã®ã¯ãããããã¹ãŠãå°å³ã«åãå ¥ããå°ççã«ããŒã«ã©ã€ãºãããããŒã¿ã®åã掻çšããããšã§ãããããè¡ãã«ã¯ãGoogleAPIã䜿çšããŠç·¯åºŠãšçµåºŠãååŸããæ¹æ³ãèŠãŠã¿ãŸãããã
ãããè¡ãã«ã¯ãGoogle Cloud Platformã®ã¢ã«ãŠã³ããå¿ èŠã§ãã次ã«ããªã³ã¯ã®ãã¥ãŒããªã¢ã«ã«åŸã£ãŠAPIããŒãååŸãã察å¿ããAPIãæå¹ã«ããŸãã以åã«æžããããã«ããã®ãããžã§ã¯ãã§ã¯ãGeocoding APIãDirections APIãPlaces APIã䜿çšããŸããïŒãããã£ãŠãAPIããŒãäœæãããšãã«ãããã®ç¹å®ã®APIãæå¹ã«ããå¿ èŠããããŸãïŒã以äžã¯ãGoogle CloudPlatformãšããåãããããã®ã³ãŒãã¹ããããã§ãã
# The Google Maps library
import googlemaps
# Date time for easy computations between dates
from datetime import datetime
# JSON handling
import json
# Pandas
import pandas as pd
# Regular expressions
import re
# TQDM for fancy loading bars
from tqdm import tqdm
import time
import random
# !!! Define the main access point to the Google APIs.
# !!! This object will contain all the functions needed
geolocator = googlemaps.Client(key="<YOUR API KEY>")
WORK_LAT_LNG = (<LATITUDE>, <LONGITUDE>)
# You can set this parameter to decide the time from which
# Google needs to calculate the directions
# Different times affect public transport
DEPARTURE_TIME = datetime.now
# Load the source data
data = pd.read_csv("/path/to/raw/data/data.csv")
# Define the columns that we want in the geocoded dataframe
geo_columns = [
"_link",
"lat",
"lng",
"_time_to_work_seconds_transit",
"_time_to_work_seconds_walking"
]
# Create an array where we'll store the geocoded data
geo_data = []
# For each element of the raw dataframe, start the geocoding
for index,
in tqdm(data.iterrows()):
# Google Geo coding
_location = ""
_location_json = ""
try:
# Try to retrieve the base location,
# i.e. the Latitude and Longitude given the address
_location = geolocator.geocode(row._address)
_location_json = json.dumps(_location[0])
except:
pass
_time_to_work_seconds_transit = 0
_directions_json = ""
_lat_lon = {"lat": 0, "lng": 0}
try:
# Given the work latitude and longitude, plus the property latitude and longitude,
# retrieve the distance with PUBLIC TRANSPORT (`mode=transit`)
_lat_lon = _location[0]["geometry"]["location"]
_directions = geolocator.directions(WORK_LAT_LNG,
(_lat_lon["lat"], _lat_lon["lng"]), mode="transit")
_time_to_work_seconds_transit = _directions[0]["legs"][0]["duration"]["value"]
_directions_json = json.dumps(_directions[0])
except:
pass
_time_to_work_seconds_walking = 0
try:
# Given the work latitude and longitude, plus the property latitude and longitude,
# retrieve the WALKING distance (`mode=walking`)
_lat_lon = _location[0]["geometry"]["location"]
_directions = geolocator.directions(WORK_LAT_LNG, (_lat_lon["lat"], _lat_lon["lng"]), mode="walking")
_time_to_work_seconds_walking = _directions[0]["legs"][0]["duration"]["value"]
except:
pass
# This block retrieves the number of SUPERMARKETS arount the property
'''
_supermarket_nr = 0
_supermarket = ""
try:
# _supermarket = geolocator.places_nearby((_lat_lon["lat"],_lat_lon["lng"]), radius=750, type="supermarket")
_supermarket_nr = len(_supermarket["results"])
except:
pass
'''
# This block retrieves the number of PHARMACIES arount the property
'''
_pharmacy_nr = 0
_pharmacy = ""
try:
# _pharmacy = geolocator.places_nearby((_lat_lon["lat"],_lat_lon["lng"]), radius=750, type="pharmacy")
_pharmacy_nr = len(_pharmacy["results"])
except:
pass
'''
# This block retrieves the number of RESTAURANTS arount the property
'''
_restaurant_nr = 0
_restaurant = ""
try:
# _restaurant = geolocator.places_nearby((_lat_lon["lat"],_lat_lon["lng"]), radius=750, type="restaurant")
_restaurant_nr = len(_restaurant["results"])
except:
pass
'''
geo_data.append([row._link, _lat_lon["lat"], _lat_lon["lng"], _time_to_work_seconds_transit,
_time_to_work_seconds_walking])
geo_data_df = pd.DataFrame(geo_data)
geo_data_df.columns = geo_columns
geo_data_df.to_csv("geo_data_houses.csv", index=False)
ç©ä»¶ãåžå Žã«åºãŠããæéã®èšç®
ããã詳ããèŠãŠã¿ãŸããã ããŒã¿ãïŒ
25ãäŸãã°ã= 47 idã®å®¶ããããŸãïŒããªãã¯ããã®ãµã³ãã«ã§èŠãããšãã§ããããã«ãããããã£ã®ãã¥ãŒã®æ°ã¯ãåºåãã¢ã¯ãã£ãã§ãã£ãããã®éã®æ¥æ°ã«åæ ãããŠããŸããåååçããŸãããããã®æ¥ã«è¡šç€ºãããŸãããããŒã¿ãèªã¿èŸŒãã ãšãã
ãã ãããã®åé¡ã¯ãã¹ãŠã®ããããã£ã«å ±éããŠããããã§ã¯ãããŸããã以äžã®äŸã§ ã¯ããã¥ãŒã®æ°ã¯ãåºåãã¢ã¯ãã£ãã ã£ãæ¥æ°ã«å¹æµããŸãã
äžèšã®æ å ±ãã©ã®ããã«äœ¿çšã§ããŸããïŒç°¡åã«ïŒ 2çªç®ã®ããŒã¿ã»ãããã¢ãã«ã®ãã¬ãŒãã³ã°ã»ãããšããŠäœ¿çšãããããæåã®ããŒã¿ã»ããã«é©çšã§ããŸãã
2ã€ã®ã¢ãããŒãããã¹ãããŸãã
ã1ããæ¯èŒå¯èœãªãããŒã¿ã»ãããååŸãã1æ¥ãããã®å¹³åãã¥ãŒæ°ãèšç®ããŠããããã®å€ãæåã®ããŒã¿ã»ããã«é©çšããŸãããã®ã¢ãããŒãã«ã¯åžžèããªãããã§ã¯ãããŸãããã次ã®åé¡ããããŸãããã¹ãŠã®ããããã£ã1ã€ã®ã°ã«ãŒãã«ãŸãšãããã1,000äžãŠãŒãçžåœã®äœå® ã®è²©å£²åºåã§ã¯ã1æ¥ãããã®èŠèŽåæ°ãå°ãªããªãå¯èœæ§ããããŸããäºç®ã¯çãã°ã«ãŒãã®äººã ã«å©çšå¯èœã§ãã
2. 2çªç®ã®ããŒã¿ã»ããã§ã©ã³ãã ãã©ã¬ã¹ãã¢ãã«ããã¬ãŒãã³ã°ãããããæåã®ããŒã¿ã»ããã«é©çšããŸãã
æ°ããåã«ã¯æŠç®å€ããå«ãŸããªãããšã念é ã«çœ®ããŠãçµæã泚ææ·±ã衚瀺ããå¿ èŠããããŸããäœãããããããšæãããå Žåã«ãããããã£ããã詳现ã«åæããããã®éå§ç¹ãšããŠäœ¿çšããŸããã
åæ
ãååžã®çæ§ãæåŸã®ããã·ã¥ããŒããã 玹ä»ããŸãããããæãäžãããå Žåã¯ããªã³ã¯ããã©ã£ãŠ ãã ããã
泚ïŒæ®å¿µãªãããGoogleãããã¢ãžã¥ãŒã«ã¯èšäºã«åã蟌ãŸããŠãããšæ©èœããªããããã¹ã¯ãªãŒã³ã·ã§ããã䜿çšããå¿ èŠããããŸããã
https://datastudio.google.com/s/qKDxt8i2ezE
ãããã¯ããã·ã¥ããŒãã®æãéèŠãªéšåã§ãã泡ã®è²ã¯å®¶/ã¢ããŒãã®äŸ¡æ Œã«äŸåããè²ã¯å©çšå¯èœãªããããã£ã®ã¿ãèæ ®ããŸãïŒå³äžé ã®ãã£ã«ã¿ãŒèšå®ã«å¯Ÿå¿ïŒã泡ã®ãµã€ãºã¯ãäœæ¥è·é¢ã瀺ããŸãã泡ãå°ããã»ã©ãéè·¯ã¯çããªããŸãã
ãã£ãŒãã䜿çšãããšãããã€ãã®ç¹æ§ïŒããšãã°ã建ç©ã®ã¿ã€ããéšå±ã®æ°ïŒã«å¿ããŠæç€ºäŸ¡æ Œãã©ã®ããã«å€åããããåæã§ããæ£åžå³ã§ã¯ãäœæ¥è·é¢ãšæç€ºäŸ¡æ Œãæ¯èŒããŸãã
æåŸã«ãçããŒã¿ããŒãã«ïŒ Days Listed Random Forestã®
DL RF
ç¥ã§ ãåºåãã¢ã¯ãã£ãã ã£ãæ¥æ°ã瀺ããŸããã©ã³ãã ãã©ã¬ã¹ãã¢ãã«ïŒã
調æ»çµæ
åæã«é£ã³èŸŒãã§ãããã·ã¥ããŒãããã©ã®ãããªçµè«ãå°ãåºãããšãã§ããããèŠãŠã¿ãŸãããã
ããŒã¿ã»ããã«ã¯çŽ4,000ã®å®¶ãšã¢ããŒããå«ãŸããŠããŸãããã¡ããããã¹ãŠã衚瀺ããããšã¯ã§ããŸããããã®ãããè³Œå ¥ãæ€èšããæºåãã§ããŠãã1ã€ä»¥äžã®ããããã£ãå«ãã¬ã³ãŒãã®ãµãã»ãã ãç¹å®ããããšãã¿ã¹ã¯ã§ã ã
ãŸããæ€çŽ¢æ¡ä»¶ãæ確ã«ããå¿ èŠããããŸããããšãã°ã次ã®ç¹æ§ãæºããããããã£ãæ¢ããŠãããšããŸã
ã1ãããããã£ã®ã¿ã€ãïŒå®¶ã
2.éšå±ïŒå¯å®€ïŒã®æ°ïŒ3ã3
ãä»äºãŸã§ã®è·é¢ïŒ60åæªæºã
4.ãšãã«ã®ãŒå¹çã®è©äŸ¡ïŒAãBãCããŸãã¯Dã
5.äŸ¡æ ŒïŒ25ââäžãã54äžãŠãŒãã
äŸ¡æ Œãé€ããã¹ãŠã®ãã£ã«ã¿ãŒãé©çšããŠãããããèŠãŠã¿ãŸãããïŒ100äžãŠãŒãããé«ã20äžãŠãŒãæªæºã®ãã£ã«ã¿ãŒã®ã¿ããã£ã«ã¿ãŒã§é€å€ããŸãïŒã
äžè¬ã«ããªãã£ãŒã®åã«ããç©ä»¶ã®æç€ºäŸ¡æ Œã¯ãåžã®å西ã«ããããã€ãã®äŸå€ãé€ããŠãåãããã¯ããã«é«ããªã£ãŠããŸããåã®ãå€åŽã®ãšãªã¢ããã€ãŸãåæ±ãšå西ã§ãããåžå äžå¿éšã®åãããå®äŸ¡ã«èŠããŸãããã®äŸ¡æ Œèšå®ã®çç±ã®1ã€ã¯ããããªã³ã®äž»èŠè·¯é¢é»è»ïŒLUASïŒãåžå ãåããåã«çŽç·ã§æšªæããŠããããšã§ãïŒè¥¿ããæ±ã«èµ°ãå¥ã®è·¯ç·ããããŸããããã¹ãŠã®ããžãã¹å°åºãéãããã§ã¯ãããŸããïŒã
ãããã®èæ ®äºé ã¯ãç®èŠæ€æ»ã®ã¿ã«åºã¥ããŠããããšã«æ³šæããŠãã ããããã培åºçãªã¢ãããŒãã§ã¯ãäœå® ã®äŸ¡æ Œãšå ¬å ±äº€éæ©é¢ã®ã«ãŒãããã®è·é¢ãšã®çžé¢é¢ä¿ããã¹ãããå¿ èŠããããŸããããã®é¢ä¿ã蚌æããããšã«ã¯é¢å¿ããããŸããã
äºç®ã«åãããŠãã£ã«ã¿ãŒã®äŸ¡æ Œãèšå®ãããšãç¶æ³ã¯ããã«èå³æ·±ããã®ã«ãªããŸãïŒäžã®å°å³ã«ã¯å¯å®€ã3ã€ãã家ã衚瀺ãããŠããã60å以å ã«ä»äºã«åãæããããšãå¿ããªãã§ãã ããããŸããäžã®å°å³ã«è¿œå ãããŠããŸãäŸ¡æ Œã§ã®ã¿ãã£ã«ã¿ãªã³ã°ïŒïŒ
äžæ©åŸéããŸããããç§ãã¡ã¯äœè£ã®ããåéã®äžè¬çãªèããæã£ãŠããŸãããä»æãé£ããããšã¯å ã«ãããŸã-劥åã® æ¢æ±ïŒãã£ãšäºç®ã®éžæè¢ãèŠã€ãããã§ããïŒãããšããèŠåŽããŠçšŒãã 貯èã§è²·ããæé«ã®å®¶ã ãšæããŸããïŒæ®å¿µãªãããããŒã¿åæã¯ãããã®è³ªåã«çããããšãã§ããŸãããããã¯ããžãã¹äžã®ïŒãããŠéåžžã«å人çãªïŒæ±ºå®ã§ãã
2çªç®ã®ãªãã·ã§ã³ãéžæãããšããŸããäœäŸ¡æ Œããã家ãå°åã®å質ãåªå ããŸãã
ãã®å Žåã次ã®ãªãã·ã§ã³ãæ€èšããå¿ èŠããããŸã
ã1ãææ¡ã®éäžåºŠãäœããšãªã¢-ãããäžã®å€ç«ãã家ã¯ããã®ãšãªã¢ã«ãªãã¡ãŒãå°ãªãããšã瀺ããŠããå¯èœæ§ããããŸããã€ãŸããææè ã¯æ¥ãã§ããŸããããã®ãããªè¯ãå°åã§åœŒãã®å®¶ãšå¥ããŸã...
2.é«äŸ¡ãªç©ä»¶ã®ã¯ã©ã¹ã¿ãŒå ã«ãã家-ç¹å®ã®å®¶ã®è¿ãã«ããä»ã®ãã¹ãŠã®ç©ä»¶ãé«äŸ¡ãªå Žåãããã¯ãã®å°åã®éèŠãé«ãããšãæå³ããå ŽåããããŸããããã¯åãªãè¿œå ã®æ³šèšã§ããã空éçèªå·±çžé¢ã䜿çšããŠãã®çŸè±¡ãå®éåã§ããŸãïŒããšãã°ãMoranã®Iãèšç®ããããšã«ãã£ãŠ ïŒã
æåã®ãªãã·ã§ã³ãé åçã§ããããã«æãããå Žåã§ããåããšãªã¢ã®ä»ã®ãªãã¡ãŒãšæ¯èŒããŠéåžžã«äœãäŸ¡æ Œã®ç©ä»¶ã¯ã家èªäœã«äœããã®ãã£ãããããããšãæå³ããå¯èœæ§ãããããšã«çæããå¿ èŠããããŸãïŒããšãã°ãå°ããªéšå±ãéåžžã«é«ããªãã©ãŒã è²»çšïŒ ïŒããã®ãããç§ãã¡ã®ç®æšãèãããšæãææã§ãããšç§ãèãã2çªç®ã®ãªãã·ã§ã³ã«çŠç¹ãåœãŠãŠåæãç¶ããŸãã
ãã®åéã§ã®ææ¡ã詳ããèŠãŠã¿ãŸãããã
ãã§ã«ãªãã·ã§ã³ã4,000ãã200æªæºã«æžãããã®ã§ããã€ã³ããåå²ããŠã¯ã©ã¹ã¿ãŒãæ¯èŒããå¿ èŠããããŸãã
ã¯ã©ã¹ã¿ãŒæ€çŽ¢ã®èªååã¯ãã®åæã«ããŸãè¿œå ããŸãããããšã«ããDBSCANã¢ã«ãŽãªãºã ãé©çšããŸããã ã..ãäžéšã®ã°ã«ãŒããéçç¶ã§ããå¯èœæ§ããããããDBSCANã䜿çšããŸãïŒããšãã°ãk-meansã¯ãã®ããŒã¿ããŒã¹ã§ã¯æ£ããæ©èœããŸããïŒãçè«çã«ã¯ããã€ã³ãéã®å°ççè·é¢ãèšç®ããå¿ èŠããããŸãããé©åãªè¿äŒŒãåŸãããããããŠãŒã¯ãªããã·ã¹ãã ã䜿çšããŸãã
import pandas as pd
from sklearn.cluster import DBSCAN
data = pd.read_csv("data.csv")
data["labels"] = DBSCAN(eps=0.01, min_samples=3).fit(data[["lat","lng"]].values).labels_
print(data["labels"].unique())
data.to_csv("out.csv")
ã¢ã«ãŽãªãºã ã¯ããªãè¯ãçµæã瀺ããŸããããç§ã¯æ¬¡ã®ããã«ã¯ã©ã¹ã¿ãŒãä¿®æ£ããŸãïŒãããªã³ã®ããžãã¹å°åºã®ç¥èãèæ ®ã«å ¥ããŠïŒïŒ
äœå® ã®æé«å質ãšå¿«é©ãªéè·¯ãåªå ãããããäœäŸ¡æ Œã®ãšãªã¢ã¯æåŠããŸãã¯ã©ã¹ã¿ãŒ2ã3ã4ã6ãããã³9ã¯é€å€ã§ããŸããã¯ã©ã¹ã¿ãŒ2ã3ãããã³4ã¯ããããªã³åéšã®æãäºç®ã«åªããå°åã®ããã€ãã«äœçœ®ããŠããããšã«æ³šæããŠãã ããïŒããããå ¬å ±äº€éæ©é¢ã®ã€ã³ãã©ã¹ãã©ã¯ãã£ãéçºãããŠããªãããïŒãã¯ã©ã¹ã¿ãŒ11ã¯ãä»äºããé ãé¢ããå Žæã«ããé«äŸ¡ãªãªãã·ã§ã³ãæ瀺ãããããé€å€ããããšãã§ããŸãã
ããé«äŸ¡ãªã¯ã©ã¹ã¿ãŒãèŠããšã7çªã¯äœæ¥è·é¢ã®ç¹ã§æé«ã®1ã€ã§ãããã ãããªã³åéšã®çŸããäœå® è¡ããã©ã ã³ã³ãã©ãè·¯é¢é»è»ã«æ¯ã¹ãŠããŸã䟿å©ãªå Žæã§ã¯ãããŸãããããã¹è·¯ç·ãéã£ãŠããŸããã¯ã©ã¹ã¿ãŒ8ã§ã¯ãäœå® äŸ¡æ ŒãšåŽåè·é¢ã¯ãã©ã ã³ã³ãã©ãšåãã§ããåæãã䟡å€ã®ãããã1ã€ã®ã¯ã©ã¹ã¿ãŒã¯10çªã§ããäŸçµŠãå°ãªãå°åã«ããããã§ããã€ãŸããããã®äººã ã¯ããããäœå® ã販売ããããšã¯ãã£ãã«ãªãããã®å°åã¯å ¬å ±ã«ãŒãã«ãéåžžã«äŸ¿å©ãªå Žæã«ãããŸãã茞éïŒãã¹ãŠã®å°åãåãã§ããå ŽåïŒäººå£å¯åºŠïŒã
æåŸã«ãã¯ã©ã¹ã¿ãã§ããã¯ã¹ããŒã¯ã®é£ã«äœçœ®1ããã³5ãæ倧ã®ãã§ã³ã¹ã§å²ãŸã-ã« å ¬å ±ã®å ¬åã
ã¯ã©ã¹ã¿ãŒ7
ã¯ã©ã¹ã¿ãŒ8
ã¯ã©ã¹ã¿ãŒ10
ã¯ã©ã¹ã¿ãŒ1
ã¯ã©ã¹ã¿ãŒ5
çŽ æŽãããïŒæåã«èŠã䟡å€ã®ãã26ã®ããããã£ãèŠã€ãããŸãããããã§ãåãªãã¡ãŒã泚ææ·±ãåæããæçµçã«ã¯äžåç£æ¥è ãšã®èŠèŽãæé ã§ããŸãã
çµè«
ç§ãã¡ã¯ãããªã³ã«ã€ããŠã»ãšãã©äœãç¥ããã«æ€çŽ¢ãéå§ããæçµçã«ã¯ã家ãè³Œå ¥ãããšãã«åžå ã®ã©ã®ãšãªã¢ãç¹ã«éèŠãããããããç解ããŸããã
泚æããŠãã ãããç§ãã¡ã¯ãããã®å®¶ã®åçãèŠãããšããããããããã«ã€ããŠäœãèªãã§ããŸããã§ããïŒããæŽçãããããã·ã¥ããŒããèŠãã ãã§ãæåã¯å°éã§ããªãã£ãããã€ãã®æçšãªçµè«ãåŸãããŸããã
ãã®ããŒã¿ã¯ãã¯ãæçšã§ã¯ãªããåæãæ¹åããããã«ããã€ãã®çµ±åãè¡ãããšãã§ããŸããããã€ãã®èãïŒ
1ãã¢ã¡ããã£ããŒã¿ã»ããïŒPlaces APIã䜿çšããŠã³ã³ãã€ã«ãããã®ïŒã調æ»ã«çµ±åããŸããã§ãããã¯ã©ãŠããµãŒãã¹ã®äºç®ã倧ããããããã®æ å ±ãããã·ã¥ââããŒãã«ç°¡åã«è¿œå ã§ããŸãã
2.ã¢ã€ã«ã©ã³ãã§ã¯ãçµ±èšå±ã®Webãµã€ãã«å€ãã®èå³æ·±ãããŒã¿ãå ¬éãããŠã ãŸããããšãã°ãååæããšããã³ç¯çœªã®çš®é¡ããšã«ãåèŠå¯çœ²ãžã®é»è©±ã®æ°ã«é¢ããæ å ±ãèŠã€ããããšãã§ããŸãããããã£ãŠãã©ã®ãšãªã¢ã§æãçé£ãå€ãããç¥ãããšãã§ããŸããæ祚æããšã«åœå¢èª¿æ»ããŒã¿ãååŸã§ãããããäžäººåœããã®ç¯çœªçãèšç®ããããšãã§ããŸãããã®ãããªé«åºŠãªæ©èœã«ã¯ãé©åãªå°çæ å ±ã·ã¹ãã ïŒQGISãªã©ïŒãŸãã¯å°çããŒã¿ãåŠçã§ããããŒã¿ããŒã¹ïŒ PostGISãªã©ïŒãå¿ èŠã§ããããšã«æ³šæããŠãã ãã ã
3.ã¢ã€ã«ã©ã³ãã«ã¯ãäœå® äžåç£ç»é²ç°¿ãšåŒã°ãã以åã®äœå® äŸ¡æ Œã®ããŒã¿ããŒã¹ããããŸã ã圌ãã®ãŠã§ããµã€ãã«ã¯ã販売æ¥ãäŸ¡æ Œãäœæãªã©ã2010幎1æ1æ¥ä»¥éã«ã¢ã€ã«ã©ã³ãã§è³Œå ¥ããããã¹ãŠã®äœå® ç©ä»¶ã«é¢ããæ å ±ãå«ãŸããŠããŸããçŸåšã®äœå® äŸ¡æ Œãéå»ã®äœå® äŸ¡æ Œãšæ¯èŒããããšã§ãéèŠãæéã®çµéãšãšãã«ã©ã®ããã«å€åãããã確èªã§ããŸãã
4.äœå® ä¿éºã®äŸ¡æ Œã¯ãäœå® ã®å Žæã«å€§ããäŸåããŸããå°ãã®åªåã§ãä¿éºäŒç€Ÿã®ãµã€ããå»æ£ããŠãä¿éºäŒç€Ÿã®ããªã¹ã¯èŠå ã¢ãã«ããããã·ã¥ââããŒãã«çµ±åããããšãã§ããŸããã
ãããªã³ã®ãããªåžå Žã§ã¯ãæ°ãã家ãèŠã€ããããšã¯ãç¹ã«éœåžã«åŒã£è¶ããã°ããã§ããããããç¥ããªã人ã«ãšã£ãŠã¯ãæ°ã®é ããªããããªäœæ¥ã«ãªãå¯èœæ§ããããŸãã
ãã®ããŒã«ã®ãããã§ã劻ãšç§ã¯èªåèªèº«ïŒããã³äžåç£æ¥è ïŒã®æéãç¯çŽã§ããŸãããç§ãã¡ã¯4åèŠã«è¡ãã3人ã®å£²ãæã«äŸ¡æ Œãæ瀺ãããã®ãã¡ã®1人ãç§ãã¡ã®ç³ãåºãåãå ¥ããŸããã