오늘은 기영님의 마지막 강의!
기영님께서는 석사로 대기업에 입사하시고 삼성, 현대를 거쳐 스타트업에 가셨는데 좋은 기회에 스타트업을 매각해서
스타트업과 대기업의 차이를 알려 주면서 회사생활을 알려주셨다.
스타트업
스타트업의 희망편 vs 절망편
스타트업은 대부분 빠른 성장을 한다 => 빠른 성장을 하고싶다면 스타트업을 가는것이 유리할 수 도...(체계도 없고 경계도 없다)
리스크를 감수하지 않으면, 속도를 잃을 수 밖에...
프로젝트 팀과 프로젝트 리더에게 권한을...
일단 데이터로 MVP를 적용해 RMF를 검증하고, 그 뒤에 가속 페달을... 밟아라?
📖 실습 - 짝코딩
짝코딩이라는것은 동시에 두명이 코딩을 하면서 한명을 코드를 짜고 한명을 바로 검수를 하는 방식으로
오늘은 짝코딩 방식으로 팀끼리 쿼리 문제를 내고, 답을 만들어 옆 팀에 전달하자.
쉬운문제 1개, 중간문제 3개, 어려운 문제 1개를 쓰는데
SELECT, COUNT, SUM, GROUP BY, ORDER BY, HAVING 을 써라
5문제를 만들되 문제와 답 캡쳐화면 & 노션페이지에 작성하자
<문제>
📌WHERE 문 안에서 쓸 수 있는 함수
In/ BETWEEN
OR 와 AND 를 대신해서 쓸 수 있는 명령어
📍IN
SELECT *
FROM Customer
WHERE OrderDate
IN '1996-07-01' AND '1996-07-31'
📍BETWEEN
SELECT *
FROM Customer
WHERE OrderDate
BETWEEN '1996-07-01' AND '1996-07-31'
1996-07-01보다 크거나 같고 1996-07-31 과 작거나 같은 데이터를 구하라
📍LIKE/NOT LIKE
특정 문자가 포함된 데이터만 불러오는 명령어 %,_,\
SELECT *
FROM Products
WHERE Unit LIKE '%box%'
- products 테이블에서 Unit 열의 값 중 box를 포함하는 데이터를 가져와라
📌WHERE 와 함께 쓸 수 있는 함수
📍IS NULL / IS NOT NULL
비어 있거나 비어 있지 않은 상태에서 값을 가져오는 명령어
//사전준비
UPDATE Suppliers
SET Country = NULL
WHERE Country='USA'
//Country를 다 지워주기
SELECT *
FROM Suppliers
WHERE Country IS NULL
📖직접 해보기
1. Employees 테이블에서 60년대 생은 몇명인가요?
2. Employees 테이블에서 College를 나온 몇명인가요?
📍CASE
데이터를 특정한 '기준'에 따라 카테코리를 분류할 때 쓰이는 기능
(if랑 같은 느낌인것 같음 대신 위치를 알아야함! SELECT , 다음)
SELECT *,
CASE
WHEN price>= 50 THEN '고가'
ELSE '보통'
END price_category
FROM Products
📍IF
CASE 문과 동일한 기능
SELECT *,
IF(price>= 50,'고가','보통')
AS Price_category
FROM Products
📍Sub Query
쿼리 안에 쿼리의 결과를 넣을(?)수 있습니다.
SELECT * FROM Products
WHERE Price>= (SELECT)
📌SQL로 데이터 연결하기
관계형 데이터의 관계 : 데이터를 하나의 큰 테이블에 저장하지 않고 작은 테이블로 쪼개어 저장,
필요시 작은 테이블을 합쳐 보며, 합체를 위해 테이블 사이의 관계(연결할 수 있는 키)를 함께 저장함
📍JOIN
테이블 간의 관계로 데이터를 붙여서 보는 명령어
SELECT * FROM OrderDetails
INNER JOIN ORders
ON ORderDetails.OrderID = Orders.OrderID //키 값 연결
* INNER JOIN(내부 조인) - 두 테이블을 조인할 때, 두 테이블에 모두 지정한 열의 데이터가 있어야함
*OUTER JOIN(외부 조인) - 두 테이블을 조인할 때, 1개의 테이블에만 데이터가 있어도 결과가 나온다.
*CROSS JOIN(상호 조인) - 한쪽 테이블의 모든 행과 다른 쪽 테이블의 모든 행을 조인하는 기능
*SELF JOIN(자체 조인) - 자신이 자신과 조인한다는 의미로, 1개의 테이블을 사용한다.
🧭 JOIN에 대해 자세히 남겨주신 블로그가 있어서 참고..
SQL 기본 문법: JOIN(INNER, OUTER, CROSS, SELF JOIN)
조인은 두 개의 테이블을 서로 묶어서 하나의 결과를 만들어 내는 것을 말한다. INNER JOIN(내부 조인)은 두 테이블을 조인할 때, 두 테이블에 모두 지정한 열의 데이터가 있어야 한다.OUTER JOIN(외부
hongong.hanbit.co.kr
강사님 : 사실 다 잘몰라도 된다 Chat GPT가 다 해준다. 개념만 알고 이해만해라 ^^ & 스키마만 정확하게 알아야한다.
📌최소한의 AB 테스트
A/B Test = 무작위 비교 시행
대상(사용자)를 무작위(Random)하게 나누어 (A/B) 테스트해 더 나은 반응을 보이는 조건을 찾는 것
➡️ 무언가를 바꿨을 때 어떤 영향을 미치는지 알아보기 위해 사용하는 방법
* A/B 테스트가 유용하지 않은 경우도 있음 (오바마 선거 페이지)
example
넷플릭스로 보는 AB 테스트 메인화면, 회원/비회원 메인화면
왜? 인과관계 파악의 어려움이 있기에 계속 도전해보는것
사용료 인상 전-후의 소비량 차이 계산법? 등등
해결책은?
데이터를 추가로 확보해 다양한 경우의 수를 최대한 반영하도록 퉁침
서울시에서 남산 터널 혼잡통행료 면제했더니, 통행량 감소..!!
몇명에게 테스트 하는것이 좋을까?
100명이든 1000이든 해봐야함 -> 통계적 접근이 필요함..
그래서 나온것이
SAMPLING 테스트로 전체를 알 수 있는 방법
전체를 다 보는 것은 사실상 불가능하기에 -> 일부만 뽑아 분석 해 전체를 추정
❌전체(모집단)에서 표본을 분석해 모집단을 추정 일부(표본)
✔️정규분포 Standard Deviation
자연 현상이나 여러 통계적 데이터에서 보여지는 분포, 패턴, 평균을 중심으로 몰려 있고, 멀어질수록 빈도가 줄어드는것
정규분포 1안에는 약 70% 데이터가 들어감
정규분포 2 안에는 약 96% 데이터가 들어감
정규분포 3 안에는 약 99.8% 데이터가 들어기에 즉 표준편차 2배 이상 떨어져 있다면 전체의 2.5% 범위 밖에 없음
✔️표준편차 Standard Deviation
표준 편차는 평균값을 기점으로 데이터가 어느정도 멀리까지 갈 수 있는지 계산함
✔️통계적 추정
정규 분포의 특성을 활용해 정규분포의 특성을 따르는 테스트(실험)의 결과 예측이 가능 ➡️ 샘플링을 통한 모집단 추정(정규분포라고 가정)
동전던지기 실험 결과 : 동전 앞면이 10번이 나왔다 ➡️ 동전은 전부 몇개일까?
✔️오차 범위와 신뢰 구간
- 오차범위
- 신뢰구간
* A/B 테스트 실험 해볼 수 있는 사이트
A/B-Test Bayesian Calculator - ABTestGuide.com
abtestguide.com
✔️유의 수준
<데이터 분석가로서 필요한 역량 & 분석 과정>
도메인을 통해
가설검정을 하고
데이터를 확보할 수 있어야함 (쿼리, 공공데이터)
가시화 (엑셀, 태블로, 파이썬)
결론 -> 데이터 확보 -> 가시화 -> 결론.....
비즈니스에 대한 임팩트 낼 수 있는 것을 찾을 수 있다.
툴 다루는 역량도 필요하고 & 문제, 가설 , 추가적인 검증을 찾는것을 필요하다.
회고
요번 SQL 수업에서는 중요한 함수들은 빠르게 지나간 감이 없지 않아 있어서
자율학습을 통해 좀 더 꼼꼼히 이해하는 것이 필요하겠다.
오늘부터 프로그래머스 풀어보자...
'성동 1기_ 모빌리티 전Z전능 DA' 카테고리의 다른 글
SQL 팀프로젝트 (1) - 공공데이터를 활용한 데이터 정합성 분석(NULL 값, 중복 값, count) (1) | 2023.11.20 |
---|---|
SQL 다시보기2. JOIN/GROUP BY/ DISTINCT/ HAVING활용하기 (0) | 2023.11.16 |
DAY 21 - 마케팅 데이터 분석 (마케팅 데이터 리터러시) (1) | 2023.11.15 |
DAY 22 - 데이터 리터러시 & SQL 복습 및 (1) | 2023.11.14 |
Day 20 - 데이터분석과 법률 이슈 (1) | 2023.11.10 |