데이터 확인하고 초기 정리하기
- 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 : 강하게
- 데이터의 경향에서 많이 벗어난 데이터를 없는 셈 쳐줌
범죄현황 데이터 시각화
- 앞서했던 matplotlib의 한글 폰트 잡기
- 윈도우인지,맥인지에 따라 잘 잡아야함
- mac: ArialUnicodeMS
- Windows: MalgunGothic
- pairplot으로 강도, 살인, 폭력에 대한 상관 관계를 보자
- 인구수, CCTV와 살인, 강도와의 관계도 보자
- 인구수, CCTV와 살인/폭력 검거율의 관계
- 인구수, CCTV와 절도/강도 검거율의 관계
- 검거율만 가지고 heatmap
- 단, 검거율의 대표값을 검거 기준으로 정렬
- 범죄발생 건수로 heatmap
- 대표적인 범죄를 기준으로 정렬
- 저장
Folium 지도 시각화
- Folium지도시각화
- 지도 시각화 도구는 많지만 현재 사용의 편의성이나 활발한 기능 개선 등으로 Folium이 만족도가높은 편
- condainstall-cconda-forgefolium
- Folium은 기본적으로 크롬에서 동작이 가장 좋음
- 근본적으로는 그냥 위도 경도를 알려주면 된다
- 지도를 html로 저장 가능
- 스타일을 tiles 옵션으로 지정
- 마커를 추가할 수 있다
- 다양한 모양의 아이콘 지원
- Circle 마커
- 클릭했을 때 위도 경도 정보를 반환
- 지도에 colormap 표현
- json 파일을 이용해서 경계선과 id를 각 지역에 구현
- csv 파일에 이에 매칭되는 id와 값을 가지도록 함
구별 범죄 현황 지도 시각화
- 지도 시각화에 필요한 json 파일
github 링크
- 서울 부분만 추려서 다시 우리 데이터로 배포
- 범죄율에 대한 지도 시각화
- 살인 범죄 발생 건수
- 영등포구가 살인범죄 발생 건수 가장 높음
- 성범죄 발생 건수
- 강남 3구가 성범죄 발생 건수 가장 높음
- 5대 범죄 발생 건수
- 강남구가 5대 범죄 발생 건수 가장 높음
- 인구 대비 범죄 발생 건수
- 강남은 인구가 많기때문에 범죄도 많다고 볼 수 있다
- 경찰서별 정보를 가지고 범죄발생과 함께 정리
- 경찰서 위치를 지도에 표시
- 검거에 적절한 값을 곱해서 원의 넓이로 사용
- 구별 범죄 현황과 경찰서별 검거율을 함께 표시
추가 검증
- 강남의 범죄 발생이 많은 것은 혹시 유흥업소의 밀집과 관련이 있지는 않을까?
- 확인을 위해 최초 받았던 발생 장소별 데이터를 읽어보자
- 평균값으로 종합을 만들어서 넣음
- heatmap
Folium 지도를 이용한 범죄 현황 지도 시각화 부분이 구현을 해놓았을 때 가장 이해하기도 쉽고 한눈에 알아볼 수 있는 방법이어서 구현하는 과정이 재미있었다
Folim 지도를 이용한 범죄 현황 지도 시각화 부분의 세부 명령어 및 구조가 아직은 헷갈리고 익숙하지 않아서 어렵기도 하였다
계속 몸이 아픈 날이 계속되어 앞으로가 걱정이다
이해를 완벽히 하고 넘어가려 노력하다보니 시간이 더 오래걸리는 것 같다
그래도 Folium 지도를 이용한 시각화는 정말 다른 시각화보다 알아보기도 쉽고 유용한 것 같다
내일은 웹 데이터 분석을 공부할 예정이다