본문 바로가기 메뉴 바로가기

시카로의 공부방

프로필사진
  • 글쓰기
  • 관리
  • 태그
  • 방명록
  • RSS

시카로의 공부방

검색하기 폼
  • 분류 전체보기 (440)
    • 프로젝트 (20)
      • kaggle & Dacon (43)
      • 에이블스쿨 (21)
    • 프로그래밍 공부 (5)
      • 컴퓨터 구조 & 운영체제 (15)
      • 자료구조 (3)
      • 알고리즘 (10)
      • 데이터베이스 & SQL (18)
      • SpringBoot (9)
      • 에이블스쿨 (86)
      • 버그일지(QA) (7)
    • 데이터 사이언스 & 로봇 (125)
      • 강화학습(RL) (4)
      • ML 및 DL 관련 이론 (53)
      • 데이터 분석 (24)
      • ROS (44)
    • 코딩테스트 (70)
      • python (4)
      • C++ (1)
      • 백준 (59)
      • 프로그래머스 (3)
      • softeer (0)
    • 서비스 기획 (1)
    • 인생일지 (5)
  • 방명록

분류 전체보기 (440)
하이퍼파라미터 최적화

개인적으로 정말 알고 싶었던 부분. 막연하게 모델을 모델링하다 보니, 하이퍼 파라미터를 최적화하는 게 가장 노가다였다.. 하이퍼 파라미터는 사용자가 직접 설정해야 하는 값. 요리를 한다고 가정하면, 향신료와 온도를 전부 최적으로 설정해야한다. 좋은 성능을 내려면 어떤 하이퍼 파라미터가 어떤 값을 가지면 좋을지를 찾는 작업을 거쳐야 한다. 그리드 서치, 랜덤 서치, 베이지안 최적화 세 가지가 있다. 그리드 서치 하이퍼파라미터를 모두 순회하며 가장 좋은 성능을 내는 값을 찾는다. 시간이 오래 걸린다는 단점 랜덤 서치 무작위로 탐색해 가장 좋은 성능을 내는 값을 찾는 기법. 무작위라는 한계 떄문에 그리드서치나 베이지안 최적화에 비해 사용 빈도가 떨어진다. 사이킷런의 RandomizedSearchCV( ) 메서..

데이터 사이언스 & 로봇/ML 및 DL 관련 이론 2024. 1. 20. 14:24
주요 머신러닝 모델 (2)

앙상블 학습 제품 구매할 때 후기를 하나만 보지 않고, 다양한 후기를 보며 구매 의사를 정한다. 문제를 풀 때도 다양한 모델이 내린 예측 결과를 결합하는 기법을 아상블 핟습이라고 한다. 앙상블 학습을 활용하면 대체로 예측 성능이 좋아진다. 캐글러들은 앙상블 기법을 많이 사용한다. 보팅, 배깅, 부스팅 등 보팅 서로 다른 모델로 예측한 결과가 있다면, 개별 결과를 종합해 최종 결과를 결정하는 방식 하드 보팅 : 다수결 투표로 최종 예측값 결정 (모델들의 민주적인 투표) 소프트 보팅 : 모델 개별 예측 확률들의 평균 일반적으로 소프트 보팅이 하드 보팅보다 서능이 좋아서, 대체로 소트프 보팅 사용 배깅 개별 모델로 예측한 결과를 결합해 최종 예측을 정한다. 1. 전체 훈련 데이터셋에서 무작위 샘플링한 데이터로..

데이터 사이언스 & 로봇/ML 및 DL 관련 이론 2024. 1. 20. 12:24
주요 머신러닝 모델

데이터 생성 > 모델 훈련 > 회귀선 그래프 확인 순서로 진행 선형 회귀 모델 https://www.kaggle.com/werooring/ch5-linear-regression import numpy as np import matplotlib.pyplot as plt np.random.seed(0) # 시드값 고정 w0 = 5 # y절편 w1 = 2 # 회귀계수 noise = np.random.randn(100, 1) # 노이즈 ① x = 4 * np.random.rand(100, 1) # 0~4 사이 실숫값 100개 생성 (x값) ② y = w1*x + w0 + noise # y값 plt.scatter(x, y); np.random.randn(100, 1)은 표준 정규분포를 따르는 데이터 100개를 생..

데이터 사이언스 & 로봇/ML 및 DL 관련 이론 2024. 1. 20. 10:32
교차 검증

훈련만 하고 검증하지 않으면 두가지 문제 발생. 1. 모델 과대적합. 훈련데이터와 테스트 데이터는 고정되어 있으므로 훈련 데이터에만 과대적합 퍼블릭 리더보드에서 높아도 프라이빗에서는 점수가 떨어진다. 2. 제출 전까지 모델 성능 확인 어려움 일일 제출 횟수 제한. 무작정 제출하기 힘든 환경. 검증 데이터를 성능 가늠이 가능하나, 훈련에 사용하지 못해 손실. 실무에서도 마찬가지. 아직 주어지지 않은 미래 데이터로 미리 테스트 불가능. 위 두 문제를 해결하기 위한 게 교차 검증 가장 일반적인 건 K 폴드 교차 검증 1. 전체 훈련 데이터를 K개 그룹으로 나눈다. 2. 그룹 하는 검증 데이터로, 나머지 K-1개는 훈련 데이터로 지정. 3. 훈련 데이터로 모델을 훈련, 검증 데이터로 평가 4. 평가점수 기록 5..

데이터 사이언스 & 로봇/ML 및 DL 관련 이론 2024. 1. 20. 09:35
피처 스케일링

피처 스케일링은 서로 다른 피처 값의 범위(최대값 - 최솟값) 이 일치하도록 조정하는 작업 값의 범위가 데이터마다 다르면 모델 훈련이 제대로 안될 수도 있다. 단, 트리 기반 모델(랜덤 포레스트, XGBoost, LightGBM 등)은 피처 스케일링이 필요 없다. 트리 기반모델은 대소 관계에 영향을 받기 때문. 예시 : 3개의 키와 몸무게, 옷 사이즈가 있을 때, 마지막 사람은 어떤 옷의 사이즈가 더 알맞는가? S vs L 직관적으로 키와 몸무게가 가까운 지표가 당연히도 똑같은 옷 사이즈를 가질 확률이 높다. 그런데 키는 m단위고, 몸무게는 kg 단위기 때문에, 단순 더하게 되면 오차가 난다. 그래서 오류를 개선하려면 키와 몸무게 값의 범위를 같은 수준으로 맞추는 데 이 때 필요한 게 피처 스케일링. m..

데이터 사이언스 & 로봇/ML 및 DL 관련 이론 2024. 1. 20. 09:04
데이터 인코딩

모델은 문자 데이터를 인식하지 못하므로, 숫자 데이터로 바꿔주는 라벨링을 해야 한다. 레이블 인코딩 범주형 데이터를 숫자로 일대일 매핑해주는 인코딩 방식 https://www.kaggle.com/werooring/ch5-categorical-data-encoding from sklearn.preprocessing import LabelEncoder # 레이블 인코더 fruits = ['사과', '블루베리', '바나나', '귤', '블루베리', '바나나', '바나나', '사과'] # 레이블 인코더 생성 label_encoder = LabelEncoder() # 레이블 인코딩 적용 fruits_label_encoded = label_encoder.fit_transform(fruits) print('레이블 인..

데이터 사이언스 & 로봇/ML 및 DL 관련 이론 2024. 1. 19. 12:28
이전 1 ··· 58 59 60 61 62 63 64 ··· 74 다음
이전 다음

Blog is powered by Tistory / Designed by Tistory

티스토리툴바