48일차

Suhyeon Lee·2024년 12월 6일

CodeKata

SQL

153. Average Population

  • 작성한 쿼리
SELECT
  ROUND(AVG(population),0)
FROM
  city
;

154. Japan Population

  • 작성한 쿼리
SELECT
  SUM(population)
FROM
  city
WHERE
  countrycode = 'JPN'
;

155. Population Density Difference

  • 작성한 쿼리
SELECT
  MAX(population)-MIN(population)
FROM
  city
;

Python

61. 로또의 최고 순위와 최저 순위

  • 작성한 코드
def solution(lottos, win_nums):
    answer = []
    # 딕셔너리에 '당첨 내용:순위' 입력
    rank = {0:6, 1:6, 2:5, 3:4, 4:3, 5:2, 6:1}
    cnt_zero = lottos.count(0)
    win = 0
    for i in win_nums:
        if i in lottos:
            win += 1
    answer = [rank[win+cnt_zero], rank[win]]   
    return answer

참고할 만한 다른 풀이

def calc_rank(count):
    return 6 if count < 2 else 7 - count

def solution(lottos, win_nums):
    answer = []
    
    zero_count = 0
    win_count = 0
    
    for lotto in lottos:
        if lotto in win_nums:
            win_count +=1
        
        elif lotto == 0:
            zero_count += 1
    
    
    min_rank = calc_rank(win_count)
    max_rank = calc_rank(win_count + zero_count)
    
    answer = [max_rank, min_rank]
    
    return answer
def solution(lottos, win_nums):

    rank=[6,6,5,4,3,2,1]

    cnt_0 = lottos.count(0)
    ans = 0
    for x in win_nums:
        if x in lottos:
            ans += 1
    return rank[cnt_0 + ans],rank[ans]
def solution(lottos, win_nums):
    rank = {0: 6, 1: 6, 2: 5, 3: 4, 4: 3, 5: 2, 6: 1}
    return [rank[len(set(lottos) & set(win_nums)) + lottos.count(0)], rank[len(set(lottos) & set(win_nums))]]
def solution(lottos, win_nums):
    zero = lottos.count(0)
    a= [x for x in lottos if x in win_nums]
    max = zero+len(a)
    min = len(a)

    max = 7- max if max >=1 else 6
    min = 7- min if min >=1 else 6
    return [max,min]

팀 프로젝트 관련

XGBoost parameter

참고

XGBoost 장점

  • 오버핏에 강함
  • 다양한 파라미터 조정
    • 최적화된 모델을 만들 수 있음

Tree Booster를 사용하기 위한 파라미터 세 가지 유형

  • General parameter
    • 일반적으로 트리 또는 선형 모델에서 부스팅을 수행하는 데 사용하는 부스터와 관련된 파라미터
  • Booster parameter
    • 선택한 부스터의 파라미터에 따라 다름
  • Learning task parameter
    • 학습 시나리오를 결정
      • Regression은 Ranking 같은 파라미터와 다른 것들을 함께 사용할 수 있음

General parameter

  • booster
    • 어떤 부스터를 쓸지 선택
      • [gbtree, gblinear, dart] 중 하나
    • 기본값: gbtree
  • verbosity
    • 출력 메시지 레벨 설정
      • [0 (silent), 1 (warning), 2 (info), 3 (debug)] 중 하나
    • 기본값: 1
  • validate_parameters
    • 파라미터 유효성 검사
      • 여러 파라미터들을 설정하다 보면 서로 모순되는 값들을 넣는 실수를 하는 실수를 방지해주는 설정
    • 파이썬에선 지원되지 않는다고 함
    • 기본값: false
  • nthread
    • 학습에 사용할 thread수
    • 기본값: 최대
  • disable_default_eval_metric
    • 0이면 기본 metric 사용, 아니면 기본 metric을 사용하지 않음
    • 기본값: 0
    • 커스텀 metric을 사용할 경우 설정
  • num_pbuffer
    • 마지막 부스팅 단계의 예측 결과를 저장하는 버퍼의 크기 설정
    • 기본값: 자동으로 설정
  • num_feature
    • 부스팅에 사용되는 피쳐 수
    • 기본값: 인풋 피쳐의 수와 동일하게 설정됨

회고

  • 프로젝트 목표한 일정에 맞춰서 마무리해서 다행
  • 다음 주 월요일 발표해야 하니까 주말에 연습 더 해야 함

profile
2 B R 0 2 B

0개의 댓글