본문 바로가기

Projects31

[프로젝트 스터디] Feature Scaling (Min-Max scaling) 👉 이 포스팅에서는.. 프로젝트를 진행하며, 다양한 데이터로 피처를 생성하다보니, 서로 다른 범위와 척도를 가졌다는 부분이 걱정이 되었다. 이와 관련하여 스케일링에 대해 스케일링하고, 프로젝트에 적용할 방안을 고민해보기로 했다 - 해당 포스팅에서는 피처 스케일링의 기본적인 개념과 예제를 통해 다양한 스케일링 법을 익혀본다. 라이브러리는 사이킷런을 사용한다. 🧐 Feature Scaling이란? 값들을 동일한 범위와 척도내에 넣는 것으로, 하나의 변수가 다른 변수에 의해 영향력을 발휘하지 못하는 것을 막는 방법이다 🧐 Scaling이 왜 필요할까? 대부분의 경우 데이터 셋은 각각의 규모(magnitude), 단위, 범위가 매우 다를 것이다 대부분의 머신러닝 알고리즘은 두 데이터 간 거리를 측정시, 유클리디.. 2023. 9. 14.
[Mini Project] 8. Feature Engineering (이상치와 분포 탐색) 🥑 오늘의 목표_Featrue Engineering 최종데이터의 주요 컬럼을 면적으로 나누어서, 면적당 n의 수의 개념으로 스케일링 시도 전체 컬럼을 3개 파트로 나누어서 각자 피쳐 엔지니어링을 간단히 시도해보기로 했다. 또한, 상권을 골목상권과 비골목상권(발달상권 등)으로 나누어 분석을 진행하기로 했다. 나는 아파트 단지수와 세대수, 배후지 아파트 단지수와 세대수를 담당했다. 아파트 관련 컬럼은 다음과 같으며, 배후지 데이터는 골목상권에만 존재한다. cols_gol = ['아파트_단지_수', '아파트_가격_1_억_미만_세대_수', '아파트_가격_1_억_세대_수', '아파트_가격_2_억_세대_수', '아파트_가격_3_억_세대_수', '아파트_가격_4_억_세대_수', '아파트_가격_5_억_세대_수', '아.. 2023. 9. 13.
[프로젝트 스터디] Feature Engineering Feature Engineering 이란? 모델을 학습시키기 위해 데이터에서 유용한 특징(피쳐, 변수)을 추출하거나 변형하는 과정 제대로 수행하면 모델의 성능을 향상시키고, 예측 또는 분류 작업을 더 정확하게 수행할 수 있음! 일반적으로 Feature Engineering은 데이터 전처리의 일부로 고려됨 문제의 성격과 데이터 종류에 따라 다양한 기술과 전략을 사용하며, 경험과 도메인 지식이 중요한 역할을 한다 🥑 Feature Engineering 종류 ✔ 의미있는 정보 추출 데이터에서 의미있는 정보를 추출하거나, 도메인 지식을 활용하여 새로운 피쳐를 생성 예를 들어, 날짜에서 요일이나 시간대를 추출하거나 / 텍스트 데이터에서 중요한 키워드를 추출 ✔ 차원 축소 데이터의 차원을 줄이거나 중요한 피처만 선.. 2023. 9. 13.
[Mini Project] 7. 모델링 Baseline Code (feat. Trouble Shooting 🤨) 🚀 회귀 예측을 위한 모델 선정 : LightGBM 이론적으로 적은 데이터 셋(통상 행 개수 10,000개 이하)에 대한 과적합 우려가 있는 모델이지만, 현재 널리 사용되고 있는 인기있는 모델이기도 하며 성능이 뛰어나 LightGBM을 기본적으로 채택 이후, 가능하면 다른 알고리즘을 선택하여 예측 성능을 비교해 볼 예정 ▶︎ LightGBM의 하이퍼 파라미터 선택 Gradient Boosting 프레임워크로 트리 기반 학습 알고리즘으로, 결정트리 모델과 개념이 이어지는 하이퍼 파라미터들이 다수 존재한다 모델 최적화를 위해 주요 하이퍼 파라미터를 탐색, 선정하기로 했다 (✔ 된 것이 잠정 채택된 하이퍼 파라미터!) 선정된 하이퍼 파라미터는 RandomSearchCV를 이용해, 최적의 파라미터를 도출할 것이.. 2023. 9. 12.
[Mini Project] 전처리 후, 중간점검 (23.09.11) 🚀 전처리 완료된 데이터 상권별로 편의점 매출에 영향을 미칠 요인과 관련된 데이터를 찾고, 이를 연도/분기/상권코드(상권)를 기반으로 전처리와 데이터 통합을 마쳤다. 추가로, 상권 데이터에는 상권 배후지 데이터의 아파트 데이터 추가하여 병합했다.(배후지 데이터는 골목상권만 해당) 골목상권(상권+상권배후지 데이터) 로 상관분석 진행시, 상권배후지 데이터 중 아파트 데이터에서 0.6~0.7 의 높은 상관관계 확인했기 때문이다. 🚀 인코딩 완료된 데이터 분기/시간대별 인코딩 완료 : 원핫 인코딩 파생변수는 baseline Model 이 나온 후 추가하기로 결정 🧐 이제 어떻게 해야할까? 모든 데이터를 통합하고 나서 든 의문은, 이 변수들을 어떤 구조로 조합해야 상권/시간대별 편의점 매출액을 예측할 수 있을 것.. 2023. 9. 12.
[Mini Project] 6. 전체 상권 데이터 + 대중교통 승하차 데이터 통합 🧐 상권 데이터에 대중교통 승하차 데이터 합치기 연도마다 버스 승하차/지하철 승하차 정보가 다른 부분이 있어 2020~2022년 3개년을 각각 따로 작업하였다. 예시로, 2022년 데이터를 전체 통합하는 과정을 포스팅한다. 🌍 상권 영역 내 버스정류장/지하철역들 확인 먼저, 상권별 영역 내에 포함된 버스정류장/지하철 역 수와 각 영역에 구체적으로 어떤 버스정류장과 지하철역이 포함되어 있는지 확인하면 다음과 같다. (팀원분이 작업해주심!) 데이터명 : ALL_filter22 🌍 연도, 분기, 상권 코드 기준으로 버스 승하차 승객수 & 지하철 승하차 승객수를 시간대별로 합하기 ➡ 관련있는 데이터 모두 불러오기 이 문제를 해결하기 위해 여러 데이터프레임의 자료를 가져와 합치는 것이 필요했다. 위의 자료에서 상.. 2023. 9. 11.
[Mini Project] 5. 대중교통(지하철, 버스) 위치 데이터 병합 🥑 데이터 셋 불러오기 지하철역 위도 경도 버스정류장 위도 경도 상권코드 위도 경도 import pandas as pd market_area = pd.read_csv('./상권_총합본(Center_Points).csv') subway_stations = pd.read_csv('./최종_지하철_3개년_승하차.csv') bus_stations = pd.read_csv('./최종_버스데이터+버스정류장_위경도_값(Bus_Points).csv') ➡ market_area(상권) 데이터 프레임 각각, 위도 경도 값 추출 # 문자열을 쉼표를 기준으로 분할하여 '경도'와 '위도' 컬럼 생성 market_area[['경도', '위도']] = market_area['상권_중.. 2023. 9. 11.
[Mini Project] 4. 대중교통(지하철) 위치 데이터 전처리 🥑 지하철 데이터 가져오기 아래 링크에서 지하철 역사 위치 정보를 가져오기 위해 API 신청을 했다. 공공데이터에서 API 크롤링과 url이 약간 다르니 아래 코드를 참고하면 좋다! https://t-data.seoul.go.kr/category/dataviewopenapi.do?data_id=1036 데이터 목록 상세페이지 t-data.seoul.go.kr import requests # API 키 apikey = '---직접입력-----' # API 엔드포인트와 쿼리 매개변수 설정 base_url = 'https://t-data.seoul.go.kr/apig/apiman-gateway/tapi/TaimsKsccDvSubwayStationGeom/1.0' params = { 'apiKey': apike.. 2023. 9. 8.
[Mini Project] 3. 상권(분기별/상권별/시간대별 매출액) 데이터 전처리 🥑 2022_상권별 추정매출 데이터 전처리 ➡ 서울의 전체 상권 데이터 (df) ➡ 강남구 데이터 추출 아래 이미지와 같은 서울시 상권분석서비스(상권영역) 데이터를 불러와 강남의 시군구 코드에 해당하는 상권 영역 데이터를 추출 강남 내의 상권 코드만 추출하여 리스트에 저장 # 강남의 상권코드 불러오기 df_area = pd.read_csv('data/서울시 상권분석서비스(상권영역).csv') df_area_gangnam = df_area[df_area['시군구_코드'] == 11680] # 강남 시군구 코드 : 11680 code = df_area_gangnam["상권_코드"].tolist() sorted(code) # 총 103개의 코드 ➡ 강남구 상권 데이터 추출 # 강남 상권코드에 해당하는 데이터만.. 2023. 9. 8.
728x90