미션: 버스노선 추가가 필요한 서울시 내 자치구 선정
활용 데이터셋
도메인 이해
가설 설정
승차 총 승객 수, 택시 사업자수, 용달 사업자수, 구별 이동 시간이 노선 수 결정에 영향을 준다.
데이터 분석
import matplotlib.pyplot as plt
import seaborn as sns
# 그래프 그리기
plt.figure(figsize=(12, 8))
# 구 별 버스 노선 개수 그래프
sns.barplot(x='자치구', y='버스정류장개수', data=seoul_bus_station)
plt.xticks(rotation=90)
plt.title('구 별 버스 정류장 개수')
plt.show()
# 그래프 크기 설정
plt.figure(figsize=(10, 6))
# 막대 그래프 그리기
sns.barplot(data=seoul_bus_station, x="자치구", y="승차평균승객수", color="blue", label="승차")
sns.barplot(data=seoul_bus_station, x="자치구", y="하차평균승객수", color="orange", label="하차")
# 범례 표시
plt.legend()
# 그래프 제목과 라벨 설정
plt.title("자치구별 승차/하차 평균 승객수")
plt.xlabel("자치구")
plt.ylabel("평균 승객수")
plt.xticks(rotation=90)
# 그래프 출력
plt.show()
가설 검증
해당 변수들이 전부 노선 증설 결정에 포함해야 한다고 생각하여 다음과 같은 공식 수립
승차총승객수역순위 * 0.67 + 택시역순위 * -0.60 + 용달역순위 * -0.58 + 이동시간평균역순위 * -0.68
❗r값을 가중치로 설정
솔루션 도출
데이터 전처리 후 변수들 간 관계를 따져보았다.
강한 상관관계를 보이는 변수들을 고려하여 r값을 가중치로 지정하여 노선 증설 순위를 매겼다.
결론적으로 강동구, 강서구, 도봉구 순으로 노선 증설이 필요하다고 생각한다.
🚩1차 미니 프로젝트를 마치며
1차 미니 프로젝트를 진행하며 너무 많은 것들을 느꼈다.
- 일반적으로 맞다고 생각한 것이 데이터를 분석해보면 상반되는 경우가 정말 많다.
예를 들어 버스 정류장이 적고, 버스 이용자 수가 많다면 당연하게 노선을 추가해야한다고 생각했다. 하지만 택시 운행 수가 많은 곳은 버스 노선 추가가 필요 없을 확률이 높다. 버스 보다 택시, 지하철이 편한 지역일 경우일 수 있다.- 사람마다 데이터를 바라보는 관점이 다르기에 팀 동료들과 많은 얘기를 해봐야한다.
나는 이번 주제에서 용달종사자의 수 데이터는 필요없다고 생각했다. 하지만 팀원이 말하길 용달 종사자라면 버스를 타지 않을 것이고, 이는 노선 추가 제외 대상이지 않냐는 의견이였다. 머리를 한 대 맞은 느낌...! 데이터를 필터링하는 것은 중요하지만, 한 번 더 생각해볼 필요가 있다는 것을 느꼈다.- 실제 데이터를 이용한 미니 프로젝트
이번 프로젝트를 진행하며 실제 데이터를 다뤄보는 것이 가장 좋았다. 실제로 서울시에 어느 곳이 어떤 특성을 띄는지 알 수 있었고, 내가 알던 도메인 지식도 추가하여 프로젝트를 진행할 수 있었다.