[제로베이스] 데이터 사이언스 15기 - (06-01 EDA 스터디노트)

윤태호·2023년 6월 1일
0
post-thumbnail

오늘 수강한 강의 - EDA 서울시 범죄 현황 데이터 분석 (18 ~ 32)

18 ~ 21 seaborn

데이터 확인하고 초기 정리하기

  • seaborn은 matplotlib과 함께 실행된다
  • seaborn은 import하는 것만으로도 효과를 준다
  • despine() : 테두리 왼쪽과 아래쪽만 남김
  • sns.set_style("white") : 그리드 없애고 배경 흰색
  • sns.set_style("dark") : 그리드 없애고 배경 어두운색
  • sns.set_style("whitegrid") : 그리드 + 배경 흰색
  • despine(offset=10) : offset에 값을 주면 그래프가 가장자리에서 떨어짐
  • seaborn 에는 실습용 데이터가 몇 개 내장되어 있다
  • 이 중 하나 tips를 불러보자
  • boxplot을 그려볼 수 있다
  • boxplot에 컬럼을 지정
  • hue : 컬럼을 지정하고 구분을 지을 수 있다
  • swarmplot
  • boxplot을 swarmplot과 같이 사용
  • total bill과 tip 사이의 관계 파악
  • implot에서 hue 옵션을 사용
  • 또 다른 데이터로 flights가 있다
  • pivot 옵션을 사용할 수도 있다
  • heatmap을 이용하면 전체 경향을 알 수 있다
  • colormap을 조금 다르게
  • iris 데이터도 있다
  • 다수의 컬럼을 비교하는 pairplot

  • pairplot에서도 hue 옵션

  • 원하는 컬럼만 pairplot
  • 또 다른 데이터로 anscombe가 있다
  • 직선으로 표현
  • 마커 사이즈 변경
  • 2차식을 만들려면 order=1 -> order=2
  • order를 증가시키면 2차식이 됨
  • robust : 강하게
  • 데이터의 경향에서 많이 벗어난 데이터를 없는 셈 쳐줌

22 ~ 23 seaborn

범죄현황 데이터 시각화

  • 앞서했던 matplotlib의 한글 폰트 잡기
  • 윈도우인지,맥인지에 따라 잘 잡아야함
  • mac: ArialUnicodeMS
  • Windows: MalgunGothic

  • pairplot으로 강도, 살인, 폭력에 대한 상관 관계를 보자

  • 인구수, CCTV와 살인, 강도와의 관계도 보자

  • 인구수, CCTV와 살인/폭력 검거율의 관계

    • 인구수, CCTV와 절도/강도 검거율의 관계

  • 검거율만 가지고 heatmap
  • 단, 검거율의 대표값을 검거 기준으로 정렬

  • 범죄발생 건수로 heatmap
  • 대표적인 범죄를 기준으로 정렬

  • 저장

24 ~ 28 Folium 지도 시각화

Folium 지도 시각화

  • Folium지도시각화
  • 지도 시각화 도구는 많지만 현재 사용의 편의성이나 활발한 기능 개선 등으로 Folium이 만족도가높은 편
  • condainstall-cconda-forgefolium
  • Folium은 기본적으로 크롬에서 동작이 가장 좋음
  • 근본적으로는 그냥 위도 경도를 알려주면 된다
  • 지도를 html로 저장 가능
  • 스타일을 tiles 옵션으로 지정
  • 마커를 추가할 수 있다

  • 다양한 모양의 아이콘 지원

  • Circle 마커
  • 클릭했을 때 위도 경도 정보를 반환

  • 지도에 colormap 표현
  • json 파일을 이용해서 경계선과 id를 각 지역에 구현
  • csv 파일에 이에 매칭되는 id와 값을 가지도록 함

29 ~ 30 서울시 범죄 현황 지도 시각화

구별 범죄 현황 지도 시각화

  • 지도 시각화에 필요한 json 파일

    github 링크
  • 서울 부분만 추려서 다시 우리 데이터로 배포
  • 범죄율에 대한 지도 시각화
  • 살인 범죄 발생 건수
  • 영등포구가 살인범죄 발생 건수 가장 높음
  • 성범죄 발생 건수
  • 강남 3구가 성범죄 발생 건수 가장 높음
  • 5대 범죄 발생 건수
  • 강남구가 5대 범죄 발생 건수 가장 높음
  • 인구 대비 범죄 발생 건수
  • 강남은 인구가 많기때문에 범죄도 많다고 볼 수 있다
  • 경찰서별 정보를 가지고 범죄발생과 함께 정리
  • 경찰서 위치를 지도에 표시

  • 검거에 적절한 값을 곱해서 원의 넓이로 사용

  • 구별 범죄 현황과 경찰서별 검거율을 함께 표시

31 ~ 32 서울시 범죄 현황 장소별 분석

추가 검증

  • 강남의 범죄 발생이 많은 것은 혹시 유흥업소의 밀집과 관련이 있지는 않을까?
  • 확인을 위해 최초 받았던 발생 장소별 데이터를 읽어보자



  • 평균값으로 종합을 만들어서 넣음
  • heatmap

재미있었던 부분

Folium 지도를 이용한 범죄 현황 지도 시각화 부분이 구현을 해놓았을 때 가장 이해하기도 쉽고 한눈에 알아볼 수 있는 방법이어서 구현하는 과정이 재미있었다

어려웠던 부분

Folim 지도를 이용한 범죄 현황 지도 시각화 부분의 세부 명령어 및 구조가 아직은 헷갈리고 익숙하지 않아서 어렵기도 하였다

느낀점 및 내일 학습 계획

계속 몸이 아픈 날이 계속되어 앞으로가 걱정이다
이해를 완벽히 하고 넘어가려 노력하다보니 시간이 더 오래걸리는 것 같다
그래도 Folium 지도를 이용한 시각화는 정말 다른 시각화보다 알아보기도 쉽고 유용한 것 같다
내일은 웹 데이터 분석을 공부할 예정이다

profile
데이터 부트캠프 참여중

0개의 댓글