프로그래머스 SQL 고득점 kit 11일차( GROUP BY 1문제) 1. JOIN 시 ON 조건에 비트연산(&)을 활용하면 특정 조건에서 하나라도 포함하는 조건의 열을 가져올 수 있다.SELECT D.EMAIL, BIN(D.SKILL_CODE) AS SKILL_CODE, C.NAME, BIN(C.CODE) AS CODEFROM DEVELOPERS DLEFT JOIN SKILLCODES CON (D.SKILL_CODE & C.CODE) != 0- 출력 결과EMAILSKILL_CODENAMECODEJERAMI_EDWARDS@GREPP.CO110010000Python100000000JERAMI_EDWARDS@GREPP.CO110010000Java10000000JERAMI_EDWARDS@GREPP.CO110..
Q. 엔트로피(Entropy)와 Information Gain에 대해 설명해주세요. 1. 엔트로피란?- 주로 의사결정 트리나, 데이터 분석 시 데이터셋이 얼마나 정돈되어있는지, 혼란스러운지 데이터의 불확실성을 측정할 때 사용- 데이터의 불확실성을 측정하는 척도- 엔트로피가 0 : 완전 확실 → 완벽하게 분류된 상태 (모델의 분류가 명확)- 엔트로피가 항상 낮은 상태를 목표로 하면 과적합의 문제가 발생할 수 있다.- 확률이 균등하게 분포된다 → 엔트로피가 높다 2. 정보이득이란?- 주로 의사결정 트리, 랜덤 포레스트에서 사용됨- 특정 속성을 기준으로 데이터를 분할 했을 때 엔트로피가 얼마나 감소했는지를 측정- 분할 후 분류가 명확할수록(엔트로피가 감소할 수록) 정보 이득이 크다- 의사결정 트리에서 분할 기..
1. 진행 순서- PDF를 참고해서 답변하는 chatbot을 만들고 싶은데, 답별할 때 해당 정보가 있는 page 번호를 알려줬으면 했다.- 원래 페이지 번호를 정상적으로 가져오는 경우도 있지만, 나의 경우에는 에러가 나서 따로 페이지번호를 추가해줬다.PDF 파일 로드 > 페이지 번호 추가(메타데이터) > 텍스트 분할 (문장) > 임베딩 > 벡터 데이터베이스 저장/로드 > 검색 쿼리 및 결과 출력 > 테스트 2. pdf 파일 로드와 페이지 번호 추가# 1. PDF 로드loader = PyPDFLoader("2021_Guidelines_Beer.pdf")documents = loader.load()# 2. 각 페이지에 페이지 번호 추가for i, doc in enumerate(documents): d..
1. BaseModel- 클라이언트가 보낸 데이터가 기대한 형식인지 검증할 때 (숫자대신 문자열이 들어왔을 때 에러 처리) 사용- 가독성을 높이고 유지보수를 쉽게 하기 위해서 사용- 데이터 변환(JSON ↔ python 객체)을 자동 처리한다.from pydantic import BaseModelclass Item(BaseModel): name: str price: float description: str | None = None # 선택적 필드item = Item(name="Apple", price=1.2)print(item.dict()) # {'name': 'Apple', 'price': 1.2, 'description': None} 2. Field- pydantic에서 제공하는..
프로그래머스 SQL 고득점 kit 10일차( GROUP BY 8문제) 1. 문자열과 숫자열"km"등의 단위를 표기하기 위해 concat을 쓸 경우, 문자열이 되기 때문에 해당 컬럼을 기준으로 정렬할 경우 문자열 순서로 정렬이 되므로 주의한다.SELECT ROUTE, CONCAT(ROUND(SUM(D_BETWEEN_DIST),1),"km") AS TOTAL_DISTANCE, CONCAT(ROUND(AVG(D_BETWEEN_DIST),2),"km") AS AVERAGE_DISTANCEFROM SUBWAY_DISTANCEGROUP BY ROUTEORDER BY ROUND(SUM(D_BETWEEN_DIST),1) DESC
프로그래머스 SQL 고득점 kit 9일차(GROUP BY 12문제 / 24문제) 1. 재귀함수 RECURSIVEWITH RECURSIVE 테이블이름_작명 AS ( SELECT 시작할 값 AS 별칭 UNION ALL SELECT 별칭+1(원하는 계산식) FROM 위에서_작명한_테이블이름 WHERE 필요시 원하는 조건)SELECT *FROM 위에서_작명한_테이블이름 2. 나눗셈 (몫과 나머지)SELECT 5/2 # 2.5SELECT 5 DIV 2 # 몫 2SELECT 5%2 # 나머지 1SELECT 5 MOD 2 # 나머지 1 3. IFNULL과 COALESCE1) IFNULL: NULL인지 아닌지 1개의 값 비교, MYSQL 전용SELECT IFNULL(NULL, 'defaul..
1. 이터레이터- Iterator란?- next 함수 호출 시 계속 그 다음 값을 리턴하는 객체 1) 리스트는 이터레이터일까?a= [1,2,3]next(a) # error- 반복가능하다고해서 이터레이터는 아니다 2) 특징 : for문이나 next로 그 값을 한 번 읽으면 그 값을 다시는 읽을 수 없다- next() 로 읽기ia = iter(a)type(ia) # list_interatornext(ia) # 1next(ia) # 2next(ia) # 3next(ia) # error:StopIteration - for문으로 읽기a = [1,2,3]ia = iter(a)for i in ia: print(i)#1#2#3 for i in ia: print(i) # 출력 없음 3) 왜 사용할까..
1. OOM- Out ouf Memory- 왜/어디서 발생했는지 알기 어려움/ Error Backtracking이 이상한데로감 / 메모리의 이전 상황의 파악이 어려움- 이터레이션을 돌면서 문제가 생기는 경우가 많다 2. 해결방안1) batch size를 줄이기→ GPU clean → Run 2) GPU Util 사용하기- nvidia-smi처럼 GPU의 상태를 보여주는 모듈- Colab은 환경에서 GPU 상태 보여주기 편함- iter마다 메모리가 늘어나는지 확인!!!pip install GPUtilimport GPUtilGPUtil.showUtilization() 3) 사용되지 않은 GPU상 cache를 정리torch.cuda.empty_cache()- 가용 메모리를 확보- del 과는 구분이 필요- ..
- Total
- Today
- Yesterday
- 줄넘기
- 뉴스
- 프로그래머스
- 티스토리챌린지
- 아침운동
- 다이어트
- 기초
- SQL
- 경제
- IH
- opic
- 빅데이터 분석기사
- Ai
- 운동
- 갓생
- 습관
- 미라클모닝
- 스크랩
- llm
- C언어
- 고득점 Kit
- 실기
- 아침
- 영어회화
- 루틴
- 30분
- 오픽
- ChatGPT
- Python
- 오블완
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |