Base

dacon 버스 운행시간 예측 프로젝트 1

데브플레이버 2023. 5. 31. 01:17
반응형

https://dacon.io/edu/1003

개요

파이썬 기반의 데이터 분석 및 인공지능 기술을 활용하여 버스 운행 시간을 예측하는 프로젝트입니다.

목표

데이터 분석 및 인공지능 기술을 활용하여 정확한 버스 운행 시간을 예측할 수 있는 능력을 갖춥니다. 데이터 전처리, 시각화, 통계적 분석, 머신러닝 및 딥러닝 모델링 등 다양한 기법을 배우고, 실제 데이터를 바탕으로 예측 모델을 개발하세요!

설명

실제 교통 문제를 해결하는 데 도움이 되는 현실적인 응용 프로젝트입니다. 이를 통해 데이터 분석 및 인공지능 기술의 가치를 직접 체험하며 도시 교통 문제 개선을 위한 방법을 찾아 보세요! 인공지능 기술의 사회적 가치와 책임에 대한 인식을 높이고, 교통 문제를 해결함으로써 지속 가능한 도시 환경을 만드는 데 기여할 수 있습니다.

산업 적용

버스 운행 시간 예측 모델은 교통, 스마트 시티, 물류 유통 등 다양한 산업 분야에서 활용될 수 있습니다. 교통 체증을 개선하고, 대중교통의 효율성을 높이는 방안을 기획하는 교통 분석가, 도시 교통 인프라를 최적화하는 스마트 시티 기획자, 화물 및 배송/운송의 효율성을 높이고 최적의 경로를 계획하는 물류 유통 전문가로 성장할 기회를 얻을 수 있습니다.

stage 1

1. pandas 라이브러리를 불러온다.

import pandas as pd : 자주 사용하는 라이브러리기 때문에 pd로 축약어를 설정해놓는다.

2. 데이터 불러오기

판다스를 이용하여 데이터를 불러올 수 있다.

공공데이터 포털도 그렇고 대부분의 자료들이 csv로 저장되어있다.

업무하면서도 관과 관련된 자료를 주고 받을때 csv파일로 받게되어 당황한 적도 있었다.

판다스로 파일을 읽기

train = pd.read_csv(’train.csv’)
test = pd.read_csv('test.csv')
submission = pd.read_csv('sample_submission.csv')

3. 데이터 확인하기

데이터를 불러올 때 모두 변수를 할당해놓았는데 submission변수의 데이터를 확인해본다.

submission.head()

head() 메서드는 데이터프레임의 상위 5개의 행을 반환한다. 괄호안에 숫자를 기입하면 출력할 상위 행의 수를 지정할 수 있다.

4. CSV 파일 저장하기

read 이후 저장하는 방법도 알아본다. drop, reindex 등등 작업을 한뒤 저장을 하려면 내보내기와 같은 작업을 하면된다.

  • .to_csv(’파일이름’, index 여부)

submission.to_csv(’submission.csv’, index=False)

5. 데이터 프레임 정보 확인하기

train.info() : 길이, 특성의 이름, 결측치의 수 등을 확인해볼 수 있다.

tail() 매서드 : 데이터 프레임의 하위 일부 데이터를 반환하는 메서드, head()의 반대.

6. 데이터 분석 중요 개념

feature / target

numerical Data / categorical data

regression / classification

  • feature : 예측을 위해 활용되는 데이터 ( 독립변수 x)
  • target : 예측하고자 하는 대상 (종속변수 y)
  • numerical data : 수치형 자료, 숫자로 측정할 수 있는 자료 ( 기온, 풍속, 체중)
  • categoricla data : 범주형 자료, 숫자로 측정할 수 없는 자료 ( 날씨, 혈액형 성별)
  • regression 회귀 : 수치형 데이터 예측에 사용
  • classificatio 분류 : 범주형 데이터 예측에 사용

→ 회귀 문제인지 분류문제인지는 예측 target이 수치형인지 범주형인지에 따라 결정된다.

7. 데이터 셋 drop()

drop() 메서드를 이용할때는 행을 없앨 것인지 열을 없앨 것인지 설정할 수 있다.

train = train.drop(['id','date','route_nm','now_station','now_arrive_time','next_station'],axis = 1)

axis=1 은 열을 없애려는 모양이다.

8. 필요한 데이터만 변수에 할당하기

리스트 형식으로 변수에 할당하면된다.

하지만 에러가 발생했다.

리스트를 한번 더 묶어줘야하는 것을 빼먹었다.

반응형