전체 글

Data Scientist / Data Analyst
LV.2 중성화 여부 파악하기 문제 보호소의 동물이 중성화되었는지 아닌지 파악하려 합니다. 중성화된 동물은 SEX_UPON_INTAKE 컬럼에 'Neutered' 또는 'Spayed'라는 단어가 들어있습니다. 동물의 아이디와 이름, 중성화 여부를 아이디 순으로 조회하는 SQL문을 작성해주세요. 이때 중성화가 되어있다면 'O', 아니라면 'X'라고 표시해주세요. 해설 추출해야할 것 animal_id, name, 중성화 여부 조건 "Neutered"나 Spayed가 포함된 중성화 개체는 "O"표시 정렬 animal_id ASC 1. SELECT 절에 CASE WHEN 절을 쓰면된다 2. 조건을 걸 때 문자열 일치가 아닌 포함 여부이기 때문에 LIKE "%string%"을 쓰는 것을 잊지말자 3. animal..
LV.4 우유와 요거트가 담긴 장바구니 문제 데이터 분석 팀에서는 우유(Milk)와 요거트(Yogurt)를 동시에 구입한 장바구니가 있는지 알아보려 합니다. 우유와 요거트를 동시에 구입한 장바구니의 아이디를 조회하는 SQL 문을 작성해주세요. 이때 결과는 장바구니의 아이디 순으로 나와야 합니다. 해설 추출해야할 것 cart_id 조건 한 카트에 우유와 요거트가 동시에 담긴 건 정렬 cart_id ASC 1. 예외를 먼저 생각해보자. 장바구니에 정직하게 Milk와 Yogurt가 하나씩 담겨있진 않을 것이다. - Milk, Milk, Yogurt의 조합이 충분히 가능하다 2. 어쨌든 우유와 요거트가 몇 건이든 담겨있기만 하면되니까 카트별로 중복 아이템 제거를 해도 문제가 없다 3. DISTINCT cart_..
· Philosophy
최근 진격의 거인 마지막화를 정주행하고 삶과 죽음에 대한 인간의 태도를 다시 생각하게 되었다. 삶 속에서 인간들은 "끝없이 늘어나기 위해" 살아간다고 한다. 자신의 생명을, 후손을, 어쩌면 세상을 늘어뜨리기 위한 본능인 것 같다 그런데 그저 늘어나는 것은 의미가 없다는 생각도 든다. "살아간다는건 그렇게 죽는다는 것일 뿐"이라고 하면, 그 누구도 반박할 수 없다. 모두 죽기 때문이다. 이 명제는 완벽하게 우리의 인생을 표현하지만, 하나의 문구를 넣어보면 가슴이 뜨거워질 것이다. "무엇을 위해 살 것인가"이다. 당신은 무엇을 위해 살지 않아도 된다. 그래서 이것은 명제가 되지 못한다. 삶 속에 던져진 것은 진실이며, 죽어가는 것 또한 진실이지만 무엇을 위해 살아간다는 당위는 진실이 되지 못하기 때문이다. ..
LV.3 헤비 유저가 소유한 장소 문제 이 서비스에서는 공간을 둘 이상 등록한 사람을 "헤비 유저"라고 부릅니다. 헤비 유저가 등록한 공간의 정보를 아이디 순으로 조회하는 SQL문을 작성해주세요. 해설 추출해야할 것 id, name, host_id 조건 공간을 2개 이상 소유한 호스트 건 정렬 X 1. host_id로 GROUP BY HAVING으로 2건 이상인 건들만 가져온다 2. 해당 절에서 host_id만 추출하여 서브쿼리로 만든다 2. 메인쿼리에서 host_id에 해당하는 건들만 가져온다 이를 구현한 코드는 아래와 같다 SELECT * FROM Places WHERE host_id in (SELECT host_id FROM Places GROUP BY host_id HAVING COUNT(id) ..
한창 attetion layer의 가중치 초기화를 어떻게 하면 효과적으로 할 수 있을까 고민하던 중 읽었던 논문을 리뷰한다 서론과 선행연구는 스킵하도록하고 핵심만 적겠다 뭐하는 논문인가 Pretrained model의 self-attention weight를 [모방]해보겠다는 것이다 이것이 무슨 의미냐면, 학습된 모델을 직접적으로 쓰지않고, 흉내내는 것만으로 성능을 높일 수 있다는 말이다. 어떻게 하는가 이것은 이미지처리 분야에서 ViT를 통해 학습된 attention layer의 가중치들이다. a와 b의 Query, Key, Value, Projection의 가중치들이 보이는데 왜 저렇게 둘 씩 곱한 것을 보이냐고하면, self attention 계산식에서 알 수 있다. $ Attn = Softmax(..
LV1. 자동차 대여 기록에서 장기/단기 대여 구분하기 문제 CAR_RENTAL_COMPANY_RENTAL_HISTORY 테이블에서 대여 시작일이 2022년 9월에 속하는 대여 기록에 대해서 대여 기간이 30일 이상이면 '장기 대여' 그렇지 않으면 '단기 대여' 로 표시하는 컬럼(컬럼명: RENT_TYPE)을 추가하여 대여기록을 출력하는 SQL문을 작성해주세요. 결과는 대여 기록 ID를 기준으로 내림차순 정렬해주세요. 해설 추출해야할 것 history_id, car_id, start_date, end_date, rent_type 조건 start_date LIKE "%2022-09%" 정렬 history_id DESC 1. 2022년 09월에 대여 시작한 행을 불러온다 2. CASE WHEN ~ 절과 DA..
REINFORCE ALGO의 학습 매커니즘을 더 와닿게 만들겠다 learning_rate = 0.0002 gamma = 0.98 # Policy Network: 4개의 state를 입력으로 받아서 2개의 action 출력 class Policy(nn.Module): def __init__(self): super(Policy, self).__init__() self.data = [] self.fc1 = nn.Linear(4, 128) self.fc2 = nn.Linear(128, 2) self.optimizer = optim.Adam(self.parameters(), lr=learning_rate) def forward(self, x): x = F.relu(self.fc1(x)) x = F.softmax(..
인간은 생존을 위해 무리를 짓는다. 지금의 인간은 자연법칙을 위배하고 있다. 1인 가구의 증가는 개인들의 자발적 선택일까? 혹은 환경이 만들어낸 새로운 생존 법칙이 생겨난 것일까? 1인 가구의 증가는 전통적 추세가 아니다. 덮어 놓고 살던 시대가 반 세기도 안 지났기 때문이다. 2050년에는 전체 가구의 40%가 혼자살고 있을 수도 있다. 당신은 2050년에 40%에 포함될 것인가? 아마 미래 세대를 보면 힌트를 얻을수도 있겠다. 사람은 나이가 들수록 혼자 살게 된다. 위의 그래프만 보면 우리가 70세에 혼자 살 확률은 18.1%라고 볼 수 있겠다. 하지만 노령 세대가 1인 가구가 된 원인과 젊은 세대가 1인 가구가 된 원인은 사뭇 다르다 바로 혼자 살기를 선택한 개인들이 처한 환경 때문이다. 2030세..
bat_huni
Growth Scientist