본문 바로가기

2. Data Science Basics/Python12

Python 스크립트 폴더 정리방법 프로젝트를 하다보면 코드가 점점 더 길어지고 복잡해짐으로서 관리하기 힘들어집니다. 더 나은 유지 관리성과 확장성을 위해 Python 프로젝트를 구성하려면 파일과 디렉터리를 효율적으로 구성해야 합니다. 아래는 제가 프로젝트 경험을 하며 github을 참고하여 폴더를 정리하는 방법을 적어두었습니다. 루트 디렉터리(프로젝트 이름) 주요 파일과 디렉토리가 포함되어 있습니다. 이름은 프로젝트를 반영해야 합니다. src 디렉터리(소스 코드) 이 디렉토리에는 모든 Python 스크립트가 포함됩니다. 소스 코드를 다른 유형의 파일(예: 구성 파일, 문서 등)과 분리하면 프로젝트가 더 깔끔하고 관리하기 쉬워집니다. 데이터 디렉토리 데이터 파일을 저장하는 데 사용됩니다. 데이터를 소스 코드와 별도로 유지하는 것이 좋습니다.. 2023. 11. 27.
데이콘 쇼핑몰 지점별 매출액 예측 경진대회 (TOP 10%) 개인 스터디중 재밋고 쉬워보이는 대회가 있어서 참가하게 되었습니다. 대회는 시계열대회 예측이였으며 링크는 아래에 있습니다. 개인적으로 기간이 짧아서 아쉬움이 남긴 하지만, 코드를 공유하며 정리했던 생각을 남겨둘려 합니다. STEP 1. Understanding the Problem - 시계열 예측 문제로, 쇼핑몰에서 모은 시계열 데이터를 이용하여 다음 주 매출 (Weekly_Sales)을 예측하는 문제입니다. 데이터는 아래와 같이 구성되어 있습니다. id : 샘플 아이디 Store : 쇼핑몰 지점 Date : 주 단위(Weekly) 날짜 Temperature : 해당 쇼핑몰 주변 기온 Fuel_Price : 해당 쇼핑몰 주변 연료 가격 Promotion 1~5 : 해당 쇼핑몰의 비식별화된 프로모션 정보 .. 2022. 8. 8.
[논문분석] 머신러닝에서 유의미한 Feature 쉽게 구분해내기 참고: https://www.jmlr.org/papers/volume3/stoppiglia03a/stoppiglia03a.pdf [서론] 빅데이터를 다루다보면 많은 feature들을 마주하게 됩니다. 많은 feature 들이 다 유의미한 값을 가져서 target값을 예측하는 경우도 있겠지만, 위의 문제점은 차원이 높아져서 학습하는데 어려움이 있고 오버피팅이나 정확한 타겟을 예측 못하는 경우가 발생할 수 있다는 것입니다. 이런 문제들 때문에 무조건 많은 feature 를 써서 고차원 모델을 만드는 것 보다, 때때로 차원을 낮춰주어 모델을 단순화 해주는 것이 normalization 즉 일반화를 더 잘 하는 모델이 되는 경우가 존재합니다. 그렇다면 어떤 feature를 쓰고 어떤 feature를 안쓰는 것이.. 2022. 5. 30.
Dynamic Time Warping을 이용하여 비슷한 주식 clustering 하기 시계열 데이터를 공부하다 보면 비슷하게 움직이거나 서로 관련이 있는 데이터들을 종종 볼 수가 있습니다. 예를 들어 주식시장 데이터에 빗대어 설명해 보면, 전염병에 민감한 주식인 항공주들 같은 경우 코로나 발생이후 급격히 떨어졌으며 계속 서로 비슷하게 움직이는걸 확인할 수 있습니다. 위 그래프는 미국의 대표 한공사인 American Airline 과 Delta Airline의 그래프입니다. 상당히 비슷하게 움직이는 것을 확인할 수 있고 같은 테마로 움직이는 시계열 데이터라고 볼 수 있습니다. 하지만 우리가 위와 같은 사전 정보가 없이 (AAL이랑 DAL이랑 비슷하게 움직이는것을 모르는채) 이러한 정보를 알아낼수 있는 방법을 가장 잘 나타낸 알고리즘중 하나가 Dynamic Time Warping (DTW) .. 2022. 3. 3.
반응형