[25.04.01] 본캠프 30일차 코드카타+아티클스터디+통계학 기초 2주차

김명서·2025년 4월 1일
1

TIL_sparta

목록 보기
51/60
post-thumbnail

코드카타

97번.

처음에 작성했던 것🔻

아침에 잠이 덜 깼나... count에 서브쿼리 쓰고있었다..ㅋㅋㅋㅋㅋㅋㅋㅋ

.

sum(case when order_date=customer_pref_delivery_date then 1 else 0 end)


이렇게 2개가 나와야 2/4라 immediate_percentage가 50이 나온다~

어제 과제해설에서 배운 case when이 활용된 문제라 좋았다.

count ver.

count(case when order_date = customer_pref_delivery_date then 1 end)

sum ver.

sum(case when order_date = customer_pref_delivery_date then 1 else 0 end)

count가 더 속도 빠른 것 같다.

avg ver.

이건 구글링으로 알게 됐다.

select round(avg(order_date = customer_pref_delivery_date)*100,2)

avg 함수를 쓰면 우리가 원하는 결과를 sum /없이도 간단하게 구할 수 있다.
그리고 따로 숫자를 지정해주지 않아도 알아서 일치하는 값에 대해 1, 불일치 값에 대해 0을 출력해서 평균을 구해준다. 역시나 sum보다 빨랐다.

.
.

98번

select round(count(*)/(select count(distinct player_id) from activity),2) as fraction
from activity
where (player_id,event_date) in (select player_id, 
								min(event_date) + interval 1 day
								from activity
								group by 1)

.
.

99

.
.

100

select activity_date as day, count(distinct user_id) as active_users
from activity
where activity_date between '2019-07-27' - interval 29 day and '2019-07-27' 
group by 1

interval 30 day로 적었더니 31일 동안이 되어서..! 29로 고쳐줬다
.
.

101

호기롭게 with써놓고
and로 year 묶어주는 조건을 깜빡해서 한참 걸렸다..ㅠ

with find_min_year as(select product_id, min(year) as min_year, quantity, price
from sales 
group by 1)
select s.product_id, s.year as first_year, s.quantity, s.price
from sales s
join find_min_year f
on s.product_id = f.product_id
and s.year=f.min_year

근데 테이블 하나로 너무 쓸 데 없이 길어진 것 같아서 다른 풀이를 찾아보니,
where 절 섭쿼리로 훨씬 간단하게 풀었다

select s.product_id, s.year as first_year, s.quantity, s.price
from sales s
where (s.product_id,s.year) in (select s.product_id, min(s.year)
                                from sales s
                                group by 1)

역시나 이 방법이 더 빨랐다.


아티클 스터디

오늘의 아티클
주제 : 데이터 기반 의사결정의 장점

  • 주요 포인트 :

    • ‘직관적임’은 때로는 도움이 될 수 있지만,
      모든 결정을 내릴 때 본능적인 직관력에 의존하는 것은 위험한 실수가 될 수 있다.
      따라서, 우리는 주어진 정보를 꼼꼼히 따져보고 이해하고 , 객관적으로 수량화 해야한다.

      📍데이터 기반의 의사결정이란

      DDDM (Data -Driven Decision-Making)

      : 의사결정 전에, 이대로 진행해도 무리가 없는지 체크하여 행동 방침을 승인하는 과정

      데이터 기반 의사결정을 하는 이유

    1. 더 확실한 결정을 내릴 기회
      다양한 사안들에 좀 더 결단력을 가지고 결정을 내릴 수 있다. 앞으로 내릴 의사결정에 영향을 주는 기반이 되기도 하고, 기존의 역량을 평가하는 데 활용 되기도 한다.

    2. 진두지휘적 통솔력 탑재 가능
      적합한 유형 및 적정량의 데이터로 데이터를 활용한 분석 연습을 충분히 한다면, 발 빠르게 사업 아이템을 확인하거나, 미리 위험성을 인지하고 중지시키는 등 효과적인 의사결정이 가능해진다.

    3. 비용 절감 효과

      하버드 비즈니스 리뷰

      빅데이터에 투자&활용하여 비용 절감을 위한 데이터 활용을 목표로 한다.

      데이터 기반 업무 처리를 위해서 무엇을 해야하나?

    4. 예상치 못한 곳에서 패턴 찾기
      데이터 분석의 목적은 핵심이 되는 다양한 데이터 포인트 사이에 존재하는 일정한 패턴&연관성 발견하기 !

    5. 데이터 기반으로 결정하기
      의식적으로 분석적인 태도를 취하려 노력하기

    6. 데이터의 중요성 시각화 하기
      차트나 그래프 형태를 활용해 눈에 띄는 시각자료 만들기

개인 인사이트

: 데이터 기반 의사결정의 중요성은 통계 강의를 들으면서도 익힐 수 있었다.
49.2% 정도가 실제로 비용절감에 성공했다는 것을 수치로 확인하니, 더 아티클의 중요성이 와닿았던 것 같다. 데이터를 잘 전처리 하여 패턴/연관성을 찾고 시각화를 하는 것에 대한 업무가 분석가의 주된 업무일 텐데, 더욱 사명감(?)을 가지게 된 것 같다.

  • 핵심 개념 : 직관

  • 용어 정리 : 감성적인 지각처럼, 추리나 연상, 판단 등의 사유 과정을 거치지 않고 대상을 직접적으로 파악하는 정신작용

  • 실무 적용 : 스타벅스 - 입지선정

  • 관련 사례 : 지리 정보 시스템(GIS) 기술을 사용하여 입지 선정 전략을 최적화함. 이 기술을 통해 지역 인구 통계, 교통 패턴 및 기타 관련 데이터를 분석할 수 있었으며, 이러한 정밀한 입지 선택 전략을 통해 신규 매장의 실적을 개선하고 매출을 높힘.


통계학 기초 - 2주차



발로 쓴 것 같지만, 손으로 썼습니다.
코드 복사한 것 보다 ,,, 낫죠,,,,,? 학부 때(아직 학부생이긴함) 배운 (기억나는...)내용이랑 섞어썼다.
아는거 나와서 재밌다고 !!!!!!!!!!!!!!!!!!


알고리즘 과제 복습

프로그램 기본요소

: 변수, 조건문, 반복문, 연산자, 함수, 클래스 etc ..

Multi-Line Docstring

예를 들면

"""
   리스트의 길이(요소의 개수)를 반환하는 함수 -- 함수설명

   매개변수:                                       -- parameter
       input_list (list): 길이를 계산할 리스트 

   반환값:                                 -- return
       int: 리스트의 요소 개수

   예시:
       get_len([1, 2, 3, 4]) # 4 반환
   """

알고리즘 기능

print (help( )) 로 함수정보 확인해볼 수 있고,
pandas실습에서 배웠던 것 처럼
dir( ) 로 사용가능한 메서드 조회 가능하다.
.
** cf. ( 함수명 )

for 문에서 return 들여쓰기를 조심하자

리스트 비어있는 경우 처리 중요

:

if not input_list:
	return None

avg 분모 처리

:분모가 0인 경우, 예외 처리해주는 것 !! 필수로 여기기 !!!


느낀점 & 회고

방금 저녁에 세션 ot를 듣고왔는데... 숨쉴 시간은 월요일 화요일 이틀이면 충분했나보다..
다시 엄청난 학습량이 몰아칠 거 같은데 정신을 똑바로 차려야겠는걸.......!
시각화 강의 때, 강의를 너무 후루룩 몰아들은 것 같아서, 통계강의는 주차 하나씩 소화하고싶었는데..
이러면 안됐던 걸까 ....... !! (아니야.. 완강했는데 뇌에 든 게 없는 것 보다는 나을거야...)
무튼 이번주 주말을 이용해서라도 끝내야지. 안그럼 머신러닝..못해 ..
.
나.. standard 아니고 basic일지도...........?? 주르륵.....
오늘 남은시간동안.. 알고리즘을 좀 더 복습하고 자야겠다. . !
내일은 더 화이티이ㅣ이이이잉 🔥💥🔥💥

profile
경영학도의 데이터분석 성장기💥

0개의 댓글

관련 채용 정보