학습했던 데이터를 한번 더 평가해 썼기 때문에 당연히 잘 나와야 함
-> 100개 더 정상데이터 수집해서 한번 더 정상 잘 예측하는지 확인은 해줘야 함
(새로운 노가다의 장이 열렸다...)
내가 진행한 방식
1. 싱크홀이 발생했던 곳 피하기
전에 찍은 정상 데이터 피하기
지하철 노선 근처 피하기
대규모 재개발 지역 피하기
선정한 위험 지역 최대한 피하기
산,강 데이터 피하기
구별 정상데이터 역으로 비율 구해서 찍기
# 비어있는 주소 채우기-> 카카오 local API
import requests
# 카카오 REST API 키
KAKAO_API_KEY = "3493c8fed3620a6727c1304b2711e2c0"
headers = {"Authorization": f"KakaoAK {KAKAO_API_KEY}"}
# 함수: 주소 → 위경도
def get_lat_lon(address):
url = "https://dapi.kakao.com/v2/local/search/address.json"
params = {"query": address}
response = requests.get(url, headers=headers, params=params)
if response.status_code == 200:
result = response.json()["documents"]
if result:
lat = float(result[0]["y"])
lon = float(result[0]["x"])
return lat, lon
return None, None
# lat 또는 lon이 비어 있는 경우만 처리
for i, row in df.iterrows():
if pd.isna(row['lat']) or pd.isna(row['lon']):
address = row['사고발생위치']
lat, lon = get_lat_lon(address)
df.at[i, 'lat'] = lat
df.at[i, 'lon'] = lon
# 결과 확인
print(df[['사고발생위치', 'lat', 'lon']])
포인트 받으면 안 되겠는데..