본문 바로가기

분류 전체보기339

[선박 대기시간 예측] 1차 전처리 : PORT-MIS 항만 데이터 결합 항만 대기시간 예측 및 운영시스템 개선을 위한 1차 전처리 🎯 목표 : 항구별 대기율 산정을 위한 입출항 개별 건에 대한 대기시간 & 서비스 시간 도출 🎯 사용 데이터 : PORT-MIS 입출항 현황 + PORT-MIS 시설사용허가현황 (총 2종) (하단 ERD에서 빨간색으로 표시된 부분) 01. Target 항만 선정을 위한 대기율 어떤 항만에 대한 대기시간 예측 모델을 만들것인지부터 결정해야했는데, 이를 위한 지표로 '대기율'을 사용했다. 후보 항만은 2022년 물동량이 가장 많은 순으로 부산, 광양, 울산, 인천을 선정했다. 대기시간과 대기율의 개념은 다음과 같다. 대기시간이 선박이 단순히 정박지에 접안하기까지 기다리는 시간이라면, 대기율은 '서비스 시간'대비 얼마나 대기하는지를 측정하는 지표이다.. 2023. 12. 15.
[선박 대기시간 예측] 주제 선정 배경 주제 선정 배경 파이널 프로젝트 주제로 '물류' 쪽을 살펴보았는데, 코로나 이후 국제 물동량 회복에 주목했고 국내 수출입 물류 비중 중, 해양 운송의 비중이 99%에 이른다는 것을 알게 되었다. 해양 운송에서 중요한 항만 운영과 관련된 사항을 조사한 결과, 물류비용 절감과 항구 경쟁력 증대에는 선박 대기시간 축소가 핵심이라는 것을 확인했다. 선박 대기시간 축소는 비용 절감뿐만 아니라 대기 중 발생하는 대기오염물질 발생도 절감할 수 있어, 여러 편익을 고려했을 때 프로젝트 주제로 채택하기 적합하다고 판단했다. 선박 입출항 프로세스 선박이 '대기'하는 시간을 측정하기 위해서는 선박 입출항 프로세스를 알아야 한다. 선박 대기는 선박이 입항하여 투묘(닻을 내림)하고 양묘(닻을 올림)하기까지의 시간을 일반적으로 .. 2023. 12. 15.
[Tableau 기초] 파이 차트(Pie Chart) 결과 예시 파이 차트로 유형 변경 데이터 필드 불러오기 고객 세그먼트 >> 색상으로 드래그 매출 >> 각도로 드래그 세그먼트 순서 변경 세그먼트 마크 레이어 > 우클릭 > 정렬 다음과 같이 옵션 변경 : 필드 / 내림차순 세그먼트에 레이블 더하기 각 필드를 레이블로 드래그&드롭하여 텍스트로 표시 비율 레이블 넣기 합계(매출) 레이블 우클릭 >> 퀵 테이블 계산 >> 구성 비율 도넛차트로 만들기 '열' 칸을 클릭하고, 0 입력, 엔터 동일 열0 칸 복제(cmd + drag&drop) 👉 두 개의 원그래프가 생김 두 번째 원그래프 탭에 존재하는 모든 요소 삭제(드래그 하여 마크 필드 밖으로 버리기) 두 번째로 복제한 합계(0) 필드 우클릭 >> 이중축 선택 👉 두 그래프의 축이 합쳐지며, 원그래프가 겹쳐짐 .. 2023. 11. 18.
[Tableau 기초] 라인 차트 만들기(Line Chart) 결과 예시 날짜 단위 변경 '열' 필드에 날짜 필드를 올리고 (+) 버튼을 클릭하여 날짜 단위를 상세하게 변경 날짜 필드 기준 변경 상단 날짜 기준 : 사용자가 원하는 단위/기준으로 데이터를 끊어서 볼 수 있음 하단 날짜 기준 : 연속형 데이터로 기간 내 모든 데이터를 연속적으로 볼 수 있음 연도별, 월별로 보기 : + 두 번 누르고, '분기' 는 필드 밖으로 드래그&드롭해서 삭제 ->> 원하는 날짜 기준만 볼 수 있음 레이블 편집 레이블 보기 : '매출' 필드를 '레이블'로 드래그 & 드롭 레이블 표시법 변경 : 레이블 더블클릭 >> 최소/최대 >> 패널 👉 패널(연 기준) 최대, 최솟값만 표시 평균 값 수평선 삽입 데이터 옵션 우측의 '분석' 옵션 클릭 평균라인을 드래그 하면, 3가지 옵션이 나오는데.. 2023. 11. 18.
[Tableau 기초] 막대 차트(Bar chart) 태블로 시작하기 **참고 : 측정값 컬럼은 기본적으로 '합계'가 적용됨 (합계 외 다른 집계 기능은 아래와 같이 실행) **참고 : 그래프를 꽉채워서 크게 보고 싶을 때(view 설정) 막대차트 만들기 1. 수치로 된 측정값을 필드에 먼저 올리고 2. 어떤 기준으로 보고싶은지를 dimension 선택 차트 순서 정렬 👉 차트의 순서를 정렬하고 싶을 때(오름차순/내림차순) 차트 방향 바꾸기 👉 차트 방향 바꾸기(가로/세로) 차트 색상 변경하기 👉 차트별로 색상 개별 지정 (1) 사이드바에서 기준 필드 가져오기 (2) 원하는 색상은 다음 옵션에서 바꿔주기(더블클릭) 차트 값을 레이블로 나타내기 👉 표현하고 싶은 측정값을 '레이블'에 드래그 & 드롭 👉 옵션은 레이블(우클릭)으로 수정 2023. 11. 18.
[pandas] 기상 데이터(시계열) 결측치 선형 보간 시계열 데이터의 결측치 처리 단순히 평균/중앙값/최빈값으로 결측치 처리하는 것은 바람직하지 않음 시계열 데이터의 비정상성 때문에 시간의 흐름에 따라 평균과 분산이 변하므로 시계열 imputation은 다르게 해야함 👉 imputation : 불완전한 데이터를 표준이나 대표성이 있는 다른 데이터를 활용하여 대체하는 과정 ▶︎ 시계열 결측치 처리 방법 (1) Last observation carried forward(LOCF) : 직전 관측치 값으로 결측치를 대체 Next observation carried backward(NOCB) : 직후 관측치 값으로 결측치를 대체 Moving Average / Median : 직전 N의 time window의 평균치 / 중앙값으로 결측치를 대체 모델링(결측치를 맞추는.. 2023. 11. 16.
[Home Credit Default Risk] 5. 이전 대출이력 데이터 EDA, FE 수행(수정중) 📍데이터 설명 : Previous_Application 이 케글 대회는 대출 정보에 따라 연체 여부를 예측할 수 있는 메인 train 데이터 외에, 고객 별로 이전 대출 이력 현황 데이터도 제공하고 있다. 이전 대출이력 데이터를 가공하여, 메인 데이터 셋과 결합하여 예측 결과가 나아지는지 확인해보자. 자세한 데이터셋과 컬럼 설명은 케글에서 확인하세요! 데이터 로딩 prev = pd.read_csv('previous_application.csv') print(prev.shape, apps.shape) 메인 데이터셋과 조인하여 key(ID) 값 기준으로 체크 메인 데이터셋인 apps 데이터와 조인 이때, 키 값인 SK_ID_CURR 기준으로 merge 하되, indicator를 설정하여 두 데이터의 id 차.. 2023. 11. 15.
[선박 대기시간 예측] 2차 전처리 : 중복 행 정리 호출부호(선박ID) 별로 입항일시가 여러개 찍히는 경우가 있다. 사용목적(양하, 적하, 접안, 수리 등)에 따라 각각의 케이스를 구분해서 별도 Record로 데이터가 수집되어 있기 때문이다. 중복 행 확인 먼저 호출부호와 입항일시 기준으로 중복 컬럼을 먼저 확인한다. duplicate = df.duplicated(subset=['호출부호', '입항일시']).sum() duplicate -- 결과 : 71439 중복 행 확인 '호출부호'와 '입항일시' 열을 기준으로 중복된 모든 행을 원본 데이터프레임에서 선택하고, 이를 duplicated_rows에 저장 👉 duplicated_rows에는 중복된 행들만 포함되어 있는 상태 # 모든 중복 행을 선택(keep=False) duplicated_rows = df.. 2023. 11. 15.
[Home Credit Default Risk] 4. 이전 대출 이력 데이터 EDA 및 병합 1. 이전 application(메인데이터) 의 Feature Engineering 함수 복사 def get_apps_processed(apps): # EXT_SOURCE_X FEATURE 가공 apps['APPS_EXT_SOURCE_MEAN'] = apps[['EXT_SOURCE_1', 'EXT_SOURCE_2', 'EXT_SOURCE_3']].mean(axis=1) apps['APPS_EXT_SOURCE_STD'] = apps[['EXT_SOURCE_1', 'EXT_SOURCE_2', 'EXT_SOURCE_3']].std(axis=1) apps['APPS_EXT_SOURCE_STD'] = apps['APPS_EXT_SOURCE_STD'].fillna(apps['APPS_EXT_SOURCE_STD']... 2023. 11. 9.
728x90