Kaggle·데이터분석예제

[Kaggle][문제]샌프란시스코 범죄 예측(sf-crime)

데이터요리사 2020. 7. 19. 15:01

URL: https://www.kaggle.com/c/sf-crime

 

데이터 훑어보기

  1. csv 파일을 데이터프레임으로 읽기

  2. 학습 데이터 셋의 상위 5개 항목 출력

  3. 학습 데이터 셋의 각 필드 데이터 분포(평균, 최소값, 최대값 등)를 살펴보기

  4. 각 컬럼의 데이터 타입 확인하기

  5. 범죄의 범주 'Category'는 어떤 값이 있는지 확인하기


데이터 할당/변경하기(create, update)

  1. Dates 필드의 데이터타입을 'datetime64' 타입으로 변경하기

    범죄 사건 발생 날짜 및 시간 정보를 포함한 'Dates'필드의 값을 연도별, 월별, 일별, 시간별로 분석하기 위해서 datetime64타입으로 변환합니다.

    문자열 파싱을 해서 분석할 수도 있지만, datetime64 타입으로 변환하면 파이썬 내장함수를 사용해서 쉽게 연/월/일/시간별 값을 얻어올 수 있습니다.

  2. 연, 월, 일, 요일, 시, 분값을 새로운 컬럼(year, month, day, dayofweek, hour, minute)을 생성해서 할당하기

  3. 범죄가 발생한 경도, 위도 값을 나타내는 X, Y 컬럼의 값을 더한 값을 담은 'X+Y' 컬럼, X, Y의 차이 값을 담은 'X-Y' 컬럼을 생성하기

  4. n_days라는 컬럼을 생성하고, 일별 d-day를 계산하여 입력하기 예: 범죄 첫발생일: 0, 다음 발생일: 1

  5. 변수 y를 선언해서 학습할 목표변수(=종속변수)인 Category 필드값을 담기


데이터 선택하기(select)

  1. 연도별(year) 범죄 발생 횟수를 알아보기
    [힌트]

    • value_counts를 사용하는 방법

    • groupby를 사용하는 방법

  2. 월별(month) 범죄 발생 횟수를 알아보기

  3. 요일별(DayOfWeek) 범죄 발생 횟수를 알아보기

  4. 카테고리별(Category) 범죄 발생 횟수를 알아보기

  5. null값이 포함된 데이터 필드가 있는지 확인하기


데이터 시각화

라이브러리 import``` import seaborn as sns import matplotlib.pylab as plt ```

  1. 월별 범죄율 시각화하기

  2. 연도별, 월별, 일별, 요일별, 카테고리별 범죄 횟수 시각화

 

 

데이터 삭제하기(delete)

  1. 'Dates','Category','Descript','DayOfWeek','Resolution' 컬럼 삭제하기

    train = train.drop(['Dates','Category','Descript','DayOfWeek','Resolution'], axis=1)

학습용, 테스트용 데이터 셋 분리하기

728x90