Skip to content

About

데이터 전처리부터 분석까지👩‍💻

Resources

Stars

0 stars

Watchers

0 watching

Forks

 
 

Latest commit

 

History

34 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 

Repository files navigation

FENCE Project 데이터 분석🚧

데이터 전처리부터 분석까지👩‍💻

👤contributor


Fence Project?🚧

  • 2020-1학기 명지대학교 캡스톤 디자인 수업에서 진행하는 프로젝트입니다.

  • 범죄예방 이론 및 정책 중에서도 CPTED의 뛰어난 범죄 예방 효과에 주목하여, 이를 기반으로 한 통계적 분석과 그 결과를 통한 안전지도의 구현을 최종 목표로 합니다.

CPTED란? 'Crime Prevention Through Environmental Design'의 약자로, '환경설계를 통한 범죄예방'을 의미합니다.

분석문항

📎 분석1. 서울특별시 각 자치구 범죄율 순위

📎 분석2. CPTED의 5가지 물리적 요인과 치안 등급의 관계

📎 분석2-1. cctv 수는 치안 등급에 영향을 미치는가?

📎 분석2-2. 보안등 수는 치안 등급에 영향을 미치는가?

📎 분석2-3. 경비원 수는 치안 등급에 영향을 미치는가?

📎 분석2-4. 파출소 수는 치안 등급에 영향을 미치는가?

📎 분석2-5. 근린시설 수는 치안 등급에 영향을 미치는가?


분석1. 서울특별시 각 자치구 범죄율 순위

👤contributor : 서유림

  • 서울시내 모든 자치구에 대해 범죄등급을 조사하고 분석하는 데에는 무리가 있다고 판단하여 범죄율이 높은 자치구를 선별하여 분석을 진행하고자 한다.

    • 이후 추가적으로 범죄율이 낮은 6개의 자치구에 대해서도 분석 진행
    • 범죄율 상위 8개구 / 범죄율 하위 6개구 선별
  • 이에 모든 분석과정에 앞서 서울시 내 자치구 범죄율 순위를 분석하는 과정을 거친다.

📋활용한 데이터

  • 서울시 관서별 5대범죄(2018년)

  • 서울시 인구분포(2018년)

✏️분석 방법

범죄율=(형법범죄 / 총인구) × 100,000

  • 서울시 자치구별 발생한 5대범죄 건수를 파악하고 총 범죄 발생 건수를 구한다.
  • 범죄율 구하는 공식에 따라 범죄 발생건수를 자치구 인구 수로 나누어 주고 100000을 곱한다.
  • 인구 십만명 당 발생하는 범죄 건수를 구하여 sorting한다.
  1. 범죄율 순위 결과(table)

범죄율 순위표

  1. 범죄율 시각화(plot)

✏️분석 결과

  • 중구 / 종로구 / 마포구 / 영등포구 / 용산구 / 금천구 / 강남구 / 구로구 순으로 범죄율이 높게 나타났다.

  • 은평구 / 도봉구 / 성북구 / 노원구 / 양천구 / 강서구 순으로 범죄율이 낮게 나타났다.

이후 활동

  • 각 구별로 데이터를 수집하고 전처리를 진행한다.

분석2. CPTED의 5가지 물리적 요인과 치안 등급의 관계

👤contributor

  • 최리안

  • 배수혜

  • 황희주

  • 서유림

  • 본격적인 분석에 들어가기 앞서 각 구역 별 치안안전등급 조사를 실시한다.

  • 구역의 범위는 각 지구대 및 파출소의 관할구역으로 지정한다.

    • 경찰청에서 요청하여 제공받은 '서울특별시 지방경찰청과 경찰서의 조직 및 사무분장규칙(법령전문)' 자료 참고

참고 자료 및 사이트

  • 생활안전지도

  • 서울특별시 지방경찰청과 경찰서의 조직 및 사무분장규칙(법령전문)

📋데이터 수집

  1. 생활안전지도의 치안안전 정보를 바탕으로 각 지역 별 5대범죄 및 전체 등급 수집

    5대범죄 : 살인, 강도, 절도, 폭력, 성폭력

    전체 등급 : 전체 범죄등급에 대한 평균

    • 범죄 정보 관련하여 여러 부정적인 영향이 있기 때문에 경찰청에서 자세하고 직접적인 범죄 데이터를 제공해주지 않는다.

    • 지도에서 하나하나 찾아가면서 엑셀에 정리

    • 생활안전지도에서 제공하는 치안안전등급 정보는 다음과 같다.

  - 생활안전지도에서 api형태가 아닌 png로 데이터를 제공해주기 때문에 직접 수집해야하는 어려움이 있었다.
  1. 지구대 및 파출소 별 관할 구역 데이터 정리

    • 경찰청으로부터 제공받은 한글파일을 바탕으로 파출소 및 지구대 별 관할구역을 엑셀로 정리
  2. 지구대 및 파출소 위도, 경도 데이터 추가

📋데이터 전처리

파출소 및 지구대 이름을 기준으로 직접 정리한 치안 안전 등급과 파출소 및 지구대 관할구역을 합쳐 하나의 파일로 생성

  1. 서울시 각 자치구의 범죄율 순위를 바탕으로 상위 8개의 구 조사

    • 데이터보기
    • 중구
    • 종로구
    • 마포구
    • 영등포구
    • 용산구
    • 금천구
    • 강남구
    • 구로구
  2. 서울시 각 자치구의 범죄율 순위를 바탕으로 하위 6개의 구 조사

    • 데이터보기
    • 강서구
    • 양천구
    • 노원구
    • 성북구
    • 도봉구
    • 은평구

활용계획

  • 지구대 및 파출소의 관할구역을 기준으로 구역을 나누어 범죄예방에 관련이 있다고 생각하는 요인들과 치안등급 간의 상관관계 분석

분석2-5. 근린시설과 치안안전등급 간의 상관관계 분석

👤contributor

근린시설의 정의

「건축법」에 의한 건축물의 용도 중의 하나로 슈퍼마켓 등 보통 일상생활에 필요한 시설이며, 제 1종 근린생활시설과 제 2종 근린생활시설로 구분

  • 근린시설 종류
    • 우체국
    • 병원
    • 음식점
    • 보건소
    • 은행
    • 문화시설
    • 동사무소
    • 공원 등등....

🌀 근린시설의 종류들 중에서 일반음식점 휴게음식점 문화시설 공원의 데이터를 수집해 분석에 활용하기로 결정

📋데이터

👤유림 - 휴게음식점 문화시설 데이터 수집 및 전처리 👤희주 - 일반음식점 공원 데이터 수집 및 전처리

📋데이터 수집

1. 휴게음식점

  • 출처 : 서울열린데이터광장

  • 위의 링크는 서대문구 휴게음식점 관련 데이터

  • 이와 같이 각 구별 휴게음식점 데이터를 제공해주고 있어, 25개 구의 휴게음식점에 해당하는 데이터를 다운받아 전처리 진행

  • 위도 / 경도 데이터가 없어 추가해야함

2. 일반음식점

  • 출처 : 서울열린데이터광장

  • 위의 링크는 서대문구 휴게음식점 관련 데이터

  • 이와 같이 각 구별 휴게음식점 데이터를 제공해주고 있어, 25개 구의 휴게음식점에 해당하는 데이터를 다운받아 전처리 진행

  • 위도 / 경도 데이터가 없어 추가해야함

3. 문화시설

  • 출처 : 서울열린데이터광장

  • 서울시 전체 문화시설 데이터 제공

  • 주소 / 위도 / 경도 데이터 포함

📋데이터 전처리

1. 휴게음식점 & 일반음식점

  • 폐업한 음식점까지 데이터에 포함되어 있어 폐업한 음식점 데이터는 삭제

  • 중복되는 음식점 데이터 삭제

  • 필요한 열만 뽑아서 저장

  • 주소를 바탕으로 위도/경도로 변환시켜 데이터 추가

  • 구별로 데이터 전처리를 진행하였는데, 이후 하나의 csv 파일로 합침

2. 문화시설

  • 주소데이터가 비어있는 경우가 있어, 구글맵에서 찾아 주소 및 위도/경도 데이터 추가

3. 공원

상관관계 분석📊

근린시설과 치안등급 간의 상관관계를 분석하는 것이므로 휴게음식점, 일반음식점, 문화시설, 공원 데이터를 하나의 요인으로 보아야 함

  • 범죄율 상위 8개구와 하위 6개 구에 대해서 분석 진행

  • 각 파출소 및 지구대의 관할구역 데이터를 활용하여 각 구역 별 근린시설의 수를 count

    • 파출소 및 지구대 관할구역 데이터 => 데이터

    • dictionary 형태로 만들어 관할구역의 근린시설 수를 나타냄

  • 각 구역별 근린시설 수와 치안등급 간의 상관분석 진행

def correlation(green_num, rate):
    green_df = pd.DataFrame(green_num.items(), columns=['지구대', '근린시설'])
    merge_rate_green = pd.merge(green_df, rate, on='지구대')
    corr_df = merge_rate_green[['근린시설', '전체', '살인', '강도', '절도', '폭력', '성폭력']]
    # print('corr_df :', corr_df)
    print('sum: ', corr_df['근린시설'].sum())
    corr_df.to_csv("./corr_df.csv", header=True, index=False)

    corr = corr_df.corr(method='pearson')
    print('corr :', corr)
    corr.to_csv("./corr.csv", header=True, index=False)
    return corr

✏️분석결과

1. 범죄율 상위 8개 구

  • 절도, 폭력에서 약한 음의 상관관계를 보임

  • 하지만... 너무 약해서 문제

2. 범죄율 하위 6개구

  • 전반적으로 양의 상관관계를 갖는다

About

데이터 전처리부터 분석까지👩‍💻

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages