TIL(24.12.25)

채채·2024년 12월 25일

Today I Learned

목록 보기
42/75

크리스마스기념 과제 파티

오늘의 목표 - 1번 과제(지도학습) 시도해보기

 ✅  과제 수행 계획

  1. IDE 선택하기
  2. 데이터 불러오기
  3. 데이터 전처리
  4. 여러 회귀모델 비교
    • 선형회귀
    • 의사결정나무
    • 랜덤포레스트
    • 기타 모델,,,
  5. 모델 성능평가
    • 각 모델 별 성능평가
    • MAE
    • MSE
    • R^2 score
  6. 시각화
    • 각 모델의 성능을 비교하고 최적의 모델을 선택하여 결과를 시각화
    • seaborn 또는 matplotlib으로 막대그래프 그리기

1. IDE 선택하기

  • 구글 코랩
    • 장점 - 필요한 라이브러리가 모두 있어서 편하고, 가상환경 설정 할 필요가 없음. 코드마다 결과 확인이 편함, 윈도우와 맥에서 함께 작업할 수 있음.
    • 단점 - 결국 vscode로 옮겨야함...

  • vscode
    • 장점 - 두 번 일 안해도 됨. 깃허브에 바로 푸쉬가능
    • 단점 - 라이브러리 모두 인스톨해야하고, 가상환경도 설정 해야하고, 코드 모두 실행하기 귀찮고 오래걸림.

  • 결정 : 윈도우와 맥을 번갈아가며 작업할 예정으로, 일단 구글 코랩 선택.

2. 데이터 불러오기

  • 데이터 다운 받고, 컬럼별 데이터 확인.
  • 문자가 포함된 컬럼은 없고, 숫자로만 이루어져있었음.
df = pd.read_csv('housingdata.csv')
df.head()
df.tail()
df.shape
df.info()  
  • 데이터셋 구성
    보스턴 집값 데이터셋은 13개의 특성과 1개의 타겟 변수로 구성되어 있음.
  • 특징(Features):
    • CRIM: 범죄율 (지역별 범죄 발생률)
    • ZN: 25,000 평방피트를 초과하는 주거 지역의 비율
    • INDUS: 비소매 상업지구 면적 비율
    • CHAS: 찰스강에 위치한 지역 여부 (1: 강 옆, 0: 강 옆이 아님)
    • NOX: 공기 중 질소 산화물 농도
    • RM: 주택당 방의 평균 수
    • AGE: 1940년 이전에 건축된 소유 주택 비율
    • DIS: 5개 보스턴 고용 센터까지의 가중 거리
    • RAD: 방사형 고속도로 접근성
    • TAX: 재산세율
    • PTRATIO: 지역의 학생-교사 비율
    • B: 흑인 비율 (지역 내 흑인 인구 비율)
    • LSTAT: 하위 계층 비율 (하위 계층 비율에 대한 비율)
  • 타겟 변수(Target):
    • MEDV: 주택의 중간 가격 (단위: $1000)
  • 소문대로 윤리적인 문제를 포함한 데이터셋.
  • 대체할 수 있는 데이터셋이 많은데, 굳이 이 데이터셋으로 할 필요가 있었을까?

3. 데이터 전처리

1) 독립변수, 종속변수 분리 (X, Y 분리)

X = df.iloc[:, :-1].values
Y = df.iloc[:, -1].values

2) 데이터 분리

  1. train(훈련), test(테스트)로 분리
  2. train(훈련), validation(검증), test(테스트)로 분리
  • 데이터 분할
    • 훈련 데이터 (Training Data): 모델을 학습하는 데 사용.
    • 검증 데이터 (Validation Data): 모델을 튜닝하거나 하이퍼파라미터를 설정하는 데 사용.
    • 테스트 데이터 (Test Data): 최종 모델을 평가하는 데 사용.
  1. 교차검증(Cross-validation)

  • 도전과제에 하이퍼파라미터 튜닝이 있어서 2번 방법을 사용하고자 함.
    혹시 제출까지 시간이 남는다면 교차검증도 사용해보고싶음.

3) 결측치 처리

결측치 처리 방법은 여러가지가 있음.

  1. 결측치 삭제
  2. 결측치 대체
  3. 결측치 예측

4) 이상치처리

5) 특징선택

profile
화이팅

0개의 댓글