250306 TIL

수이·2025년 3월 6일
0

🟡 TIL

목록 보기
22/41

팀스터디

아티클스터디

실험 조직으로 거듭나기: ② 검증할 ‘만’한 가설은?

  • 요약 :

    • 가설 검증 프로세스

      검증할 가설 선택 → 가설 검증 방식 결정 → 검증 지표와 목표 수치 결정 → 실험 기간 결정 → 실험 환경 최적화 → 검증 데이터 수집 → 가설 검증 → 학습

    • 가설 검증 우선순위 결정

      • 현재 상황을 개선하는가
        OKR → 5Whys 나 어피니티 다이어그램 활용해 근본 원인 찾기
      • 다음 행동을 제시할 수 있는가
        이번 가설 검증이 다음 번 가설에 인사이트를 줘야함
    • 검증방법

      • AB 테스트
        서로 다른 시안을 비슷한 사용자 군에 동시노출시켜 유의미함을 판단하는 실험 (비교)
        변수 통제 중요
      • 실험 전후 검증
        실험 진행 전과 후의 고객 반응 비교
        다만 통제할 수 없는 변수가 많음
      • XYZ 가설 검증
        실험 전후 검증과 결은 비슷하나, 고객 행동을 정량적으로 접근
  • 핵심 개념 : 가설 검증

  • 용어 정리 :

    • OKR : 구성원 모두가 따르는 판단 기준, 마일스톤
      • KR : OKR의 구성요소 / 정량적 기준 제시
    • 5Whys : 왜? 라는 질문을 꼬리물기 식으로 계속 던져서 문제를 일으킨 원인을 찾는 방법
    • 어피니티 다이어그램 : 여러 개의 아이디어, 데이터, 의견 등을 그룹화하여 패턴을 찾고 문제의 근본 원인을 도출하는 방법
  • 주요 포인트 :

    • 가설을 검증하는 건 검증했다고 끝인 게 아니라, 결국은 문제 해결로 가는 과정 중 하나라는 생각을 했습니다. 내가 생각한 문제의 원인이 정말 원인으로 적합한지 한번 더 검토하는 과정 정도로 이해했습니다.
    • 정답도 경험도 없다 보니 프로젝트를 하는 과정에서 적합한 방식을 채택해보는 게 좋겠습니다. 아직은 뭔가 이럴땐 이렇게 해야지! 하고 와닿는 건 없네요🥲

공통 인사이트
꼬리 물기가 없는 가설은 도움이 되지 않는다.

의미 있었던 의견

  • 이론상으로는 좋지만 실무에서 적용하려면 전사가 이런 개념에 대한 이해가 있어야 할 거 같다.
  • 인사이트를 주지 않는 가설은 의미가 없다.

개인스터디

데이터 리터러시 1-3

정성적 데이터

  • 비수치적인 정보 (주관적 요소 포함)
  • 텍스트, 비디오, 오디오
  • 구조화하기 어려움

정량적 데이터

  • 수치적인 정보 (객관성)
  • 통계적 분석 쉬움
  • 지표로 만들기 용이

문제

  • Q1. 한 레스토랑에서 하루에 판매되는 햄버거 세트의 수는 150개 입니다.
  • Q2. 한 고객이 카페 이용 리뷰에 "커피 맛이 너무 좋았고, 분위기가 아늑했다"고 말했습니다.
  • Q3. 한 온라인 쇼핑몰의 지난 달의 평균 구매 금액은 10만원입니다.
  • Q4. 어떤 서비스를 이용한 유저가 "사용하기 쉽고, 인터페이스가 직관적이다"라는 평가를 남겼습니다.
  • Q5. 고객 설문 조사에서, 고객들이 서비스에 대해 "만족한다", "매우 만족한다", "만족하지 않는다"와 같이 응답했습니다. 🟡
  • Q6. 어떤 연구자가 인터뷰를 통해 수집한 데이터에는 참가자들의 나이, 성별, 직업과 더불어 그들의 생각과 느낌이 포함되어 있습니다.

풀이
1. 정량
2. 정성
3. 정량
4. 정성
5. 정성🟡
정성적인 의견을 기반으로 하지만, 정량으로 변환할 수 있다.
(ex. 매우 만족 = 5, 매우 불만 = 1)
6. 정량+정성

결론적으로 '지표'를 만들기 위해 데이터의 속성을 알아두어야 한다 정도로 이해했음

예제로 익히는 SQL 7회차

WINDOW FUNCTION

  • 모든 컬럼을 잃고 싶지 않을 때 사용
  • 행과 행간 관계를 정의하기 위해 사용
  • GROUP BY 구문과 병행
    • 집계함수 : 가능
      • SUM, MAX, MIN, AVG, COUNT
    • 순위함수 : 불가능
      • RANK, DENSE_RANK, ROW_NUMBER
    • 순서함수 : 불가능
      • FIRST_VALUE, LAST_VALUE, LAG, LEAD
    • 비율함수 : 불가능
      • RATIO_TO_REPORT, PERCENT_RANK, CUME_DIST, NTILE
SELECT WINDOW_FUNCTION() OVER([PARTITION BY 컬럼] [ORDER BY 컬럼])
FROM 테이블명

순위함수

RANK

  • ORDER BY를 포함한 쿼리문에서 특정 컬럼의 순위를 구하는 함수
  • 동일한 값에 대해서는 같은 순위 부여, 중간 순위를 비운 값 출력

DENSE_RANK

  • RANK와 작동법은 동일
    • 동일한 값에 대해서는 같은 순위 부여, 중간 순위 비우지 않음

ROW_NUMBER ✅

  • RANK, DENSE_RANK는 동일한 값에 대해 동일 순위 부여하나 ROW_NUMBER의 경우 동일한 값이여도 고유한 순위 부여

순서함수

FIRST_VALUE

  • 파티션별 가장 먼저 나온 값 출력
  • MIN과 결과 동일

LAST_VALUE

  • 파티션별 가장 마지막에 나온 값 출력
  • MAX와 결과 동일

LAG ✅

  • 이전 N번째의 행을 가져오는 함수
  • 기본값 1 / 가져올 행이 없을 경우 디폴트값 지정
  • NVL이나 ISNULL함수와 기능 동일

LEAD ✅

  • 이후 N번째의 행을 가져오는 함수
  • 기본값 1

비율함수

RATIO_TO_REPORT

  • 파티션 내 전체 SUM값에 대한 행별 백분율 소수점 출력
  • 결과값은 0~1 사이 / 비율의 합은 1
  • MySQL 미지원

PERCENT_RANK ✅

  • 파티션 별 백분율 출력
  • 계산방식
    (파티션 내 순위 - 1) / (파티션 내 전체 행 개수 -1)
    *RANK 함수 기반 순위

CUME_DIST

  • 파티션별 전체건수에서 현재 행보다 작거나 같은 건수에 대한 누적백분율 출력

NTILE

  • 파티션별 전체 건수를 계산한 값으로 N등분한 결과 출력
    • ROW NUMBER와 비슷
    • 보통은 데이터가 크기때문에 잘 사용하지 않음

WITH

  • SQL 구문에서 사용되는 임시(가상)테이블
WITH 임시테이블명 AS
( SELECT 컬럼1, 컬럼2, ...
  FROM 테이블명
)
SELECT 임시테이블에서 불러온 컬럼 중 필요한 컬럼
FROM 임시테이블명

String 함수

CONCAT ✅

  • 문자열 병합
CONCAT('피카츄, '라이츄')
-- 피카츄라이츄

SUBSTRING ✅

  • 문자열 슬라이싱
SUBSTRING('피카츄라이츄', 2, 4)
-- 카츄라

SUBSTRING_INDEX ✅

  • 문자열 특정 구분기호를 통해 출력
SUBSTRING_INDEX('피카츄.라이츄', '.', 1)
-- 피카츄

REVERSE

  • 문자열 뒤집기
REVERSE('피카츄')
-- 츄카피

LEFT, RIGHT

  • 문자열 기준으로 N개 출력
LEFT or RIGHT('피카츄라이츄1234',5)
-- 피카츄라이츄1234

Math 함수

ABS✅

  • 절대값 출력
ABS(-1)
-- 1

ROUND✅

  • 숫자 소수점 이하 자리수에서 올림하여 출력
ROUND(2.77, 1)
-- 2.8

CEILING

  • 소수점 올림하여 출력
CEILING(2.77)
-- 3

FLOOR

  • 소수점 내림하여 출력
FLOOR(2.77)
-- 2

TRUNCATE

  • 소수점 이하 자릿수에서 버림하여 출력
TRUNCATE(2.77, 1)
-- 2.7

RAND

  • 지정 숫자 범위 중 하나를 랜덤하게 출력
ROUND(RAND()*100,0)
-- 0~100 사이 랜덤값 출력

날짜 함수

NOW ✅, SYSDATE, CURRENT_TIMESTAMP

  • 현재 시간과 날짜 출력
NOW()
SYSDATE()
CURRENT_TIMESTAMP
-- 현재시간 출력

DATE_ADD ✅

  • 날짜에서 기준값만큼 덧셈하여 출력
    • 기준값 : YEAR, MONTH, DAY, HOUR, MINUTE, SECOND
DATE_ADD(2024-04-03, INTERVAL 1 DAY) 
-- 2024-04-04

DATE_SUB ✅

  • 날짜에서 기준값만큼 뺄셈하여 출력
    • 기준값 : YEAR, MONTH, DAY, HOUR, MINUTE, SECOND
DATE_SUB(2024-04-03, INTERVAL 1 DAY) 
-- 2024-04-02

DATEDIFF ✅

  • 두 날짜 뺄셈하여 출력
DATEDIFF('2024-04-03','2024-04-01')
-- 2

DATE_FORMAT ✅

  • 날짜를 형식에 맞게 출력
DATE_FORMAT(now(),'%Y-%m-%d')
-- 현재 시간 yyyy-mm-dd로 출력

UNIX_TIMESTAMP ✅

  • 현재시간을 UNIXTIME으로 구함
    • UTC(협정 세계시) 기준 1970년 1월 1일 00:00:00로부터 몇 초가 지났는지 나타내는 것
unix_timestamp()
-- 정수출력

CURDATE, CURRENT_DATE

  • 현재 날짜 출력

CURTIME, CURRENT_TIME

  • 현재 시간 출력

YEAR, MONTH, DAY

  • 날짜의 연,월,일 출력

데이터 분석 파이썬 종합반 4주차 ✅

함수

  • 입력을 받고 처리 후 출력을 내보냄
    • 입력값이 뭔지, 출력값이 뭔지 항상 생각할 것
    • 출력이 없는 경우도 있으나 기본 구조는 위와 같음
  • 머신러닝과 딥러닝도 거대한 함수
def 함수이름(매개변수1, 매개변수2, ...):
    # 함수 내부에서 수행할 작업
    return 결과값  # (선택적) 함수의 결과를 반환
  • 함수 호출
결과 = 함수이름(인수1, 인수2, ...)

✅아래 부분부터는 오히려 개념적인 부분이 들어가니까 이해하기가 어려워서 대충 이런거구나 하고 훑기만 했음

전역변수와 지역변수

전역변수

  • 프로그램 전체에서 접근 가능한 변수
  • 여러 함수에서 공통적으로 사용되는 값 저장
  • 너무 많이 사용할 경우 가독성 떨어짐

지역변수

  • 특정 범위 (ex. 함수 내부)에서만 접근 가능한 변수
  • 해당 함수 내에서만 사용 가능
  • 함수가 실행될때 생성되고, 종료되면 제거되므로 메모리 관리에 효율적

인수와 매개변수의 차이

인수(argument, 전달인자)

  • 함수를 호출할때 함수에 전달되는 값
  • 함수 호출 시 매개변수에 전달되는 값
    함수 내부에서 매개변수로 사용됨

매개변수(parameter)

  • 함수를 정의할때 함수가 받아들이는 값을 지정하는 변수
  • 헤더 부분에서 매개변수 정의, 내부에서 사용

가변인수(Variable-length Arguments)

  • args (가변 위치 인수) : 함수를 호출할때 임의의 개수의 위치 인수를 전달할 수 있도록함

  • *kwars (가변 키워드 인수) : 함수를 호출할때 임의의 개수의 키워드 인수를 전달할 수 있도록 함

퀴즈

주어진 데이터셋의 평균을 계산하는 함수를 작성하고 함수의 결과를 출력해 보세요!

# 데이터는 이것을 사용하세요
data = [2, 4, 6, 8, 10]
def mean_cal(data):
    total = sum(data)
    answer = total / len(data)
    return answer
    
data = [2, 4, 6, 8, 10]
average = mean_cal(data)
print(average)

데일리퀘스트

SQL - 상품별 오프라인 매출 구하기
SQL - 있었는데요 없었습니다
Python - 자릿수 더하기
Python - 약수의 합


일기

  • SQL 코드카타 33-34✅ 라이브세션 7회차✅
  • Python 코드카타 13-14✅ 종합반 4주차✅
  • 데이터리터러시 1-3강 복습✅ 1-4강✅

오랜만에 푸는 파이썬 코드카타 😊

종합반 강의 듣고 나니까 조금 할만한 것 같은데, 아직까지는 막 코드를 다른 사람들이 푼 것 처럼 간결하게 만드는 건 안 된다

그리고 막상 자연스럽게 쓰고 있던 함수 정의나 변수 부분에서 개념적인 부분이 등장하니까 어렵다고 했더니 현수님이 그 부분은 더 자세히 알려고 하면 오히려 어지러우니까 이해만 한번 하고 넘어가보라고 해서 마음이 편해짐

오늘도 지각지각 1시간 대지각해버려서 매니저님들한테 무릎 꿇고 왔다 죄송합니다 죄송합니다 항상 수요일부터가 고비인 것 같다 어쩌다보니 한 주에 한 번씩 지각하는 나.. (응응 쓰레기) 진짜 다음주에는 꼭꼭꼭 지각 안해야지 제발 정신차려

내일이 벌써 또 금요일이다 한 주의 마무리 잘 하길 파이팅🍀

0개의 댓글

관련 채용 정보