inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

묻고 답해요

173만명의 커뮤니티!! 함께 토론해봐요.

[인프런 빅쿼리 빠짝스터디 2주차] 윈도우 함수, FRAME 설정, QUALIFY

미해결

BigQuery(SQL) 활용편(퍼널 분석, 리텐션 분석)

연습 문제 (1) 윈도우 함수 -- 1) user들의 다음 접속 월과 다다음 접속 월을 구하는 쿼리를 작성해주세요. SELECT user_id, visit_month, LEAD(visit_month, 1) OVER (PARTITION BY user_id ORDER BY visit_month) AS after_visit_month_1, LEAD(visit_month, 2) OVER (PARTITION BY user_id ORDER BY visit_month) AS after_visit_month_2, FROM `advanced.analytics_function_01` ORDER BY user_id LEAD 함수와 적절한 수를 이용해 작성 LEAD 함수에 들어가는 인자에 따라 다음인지 다다음인지 정할 수 있음 따로 정해주지 않을 경우 1로 인식 OVER 의 뒷 내용이 생각보다 조금 복잡해 한번에 떠오르지는 않았음 OVER 의 ORDER BY 의 기본은 오름차순 -- 2) user들의 다음 접속 월과 다다음 접속 월, 이전 접속 월을 구하는 쿼리를 작성해주세요. SELECT user_id, visit_month, LEAD(visit_month, 1) OVER (PARTITION BY user_id ORDER BY visit_month) AS after_visit_month_1, LEAD(visit_month, 2) OVER (PARTITION BY user_id ORDER BY visit_month) AS after_visit_month_2, LAG(visit_month) OVER (PARTITION BY user_id ORDER BY visit_month) AS previous_visit_month_1, FROM `advanced.analytics_function_01` ORDER BY user_id LAG 사용해 이전 값 구해봄 LAG 안에 특별한 숫자를 주지않으니 1로 인식하는 것을 확인함 LEAD 값이 NULL → 해당 값이 마지막 값 LAG 값이 NULL → 해당 값이 첫번째 값 -- 3) user의 다음 접속까지의 간격을 구하시오 SELECT user_id, visit_month, LEAD(visit_month, 1) OVER (PARTITION BY user_id ORDER BY visit_month) AS after_visit_month_1, (LEAD(visit_month, 1) OVER (PARTITION BY user_id ORDER BY visit_month) - visit_month) AS diff_month, FROM `advanced.analytics_function_01` ORDER BY user_id SELECT 절에서 만들어진 컬럼은 그대로 사용할 수는 없음 하지만 위와 같이 할 경우 너무 길어지고 복잡해짐(중복됨) → 서브쿼리 사용 SELECT *, (after_visit_month_1 - visit_month) AS diff_month FROM ( SELECT user_id, visit_month, LEAD(visit_month, 1) OVER (PARTITION BY user_id ORDER BY visit_month) AS after_visit_month_1, FROM `advanced.analytics_function_01` ORDER BY user_id ) 쿼리를 최대한 덜 수정하는 방향으로 작성해 볼 것 (2) QUALIFY -- amount_total : 전체 SUM -- cumulative_sum : row 시점에 누적 SUM -- cumulative_sum_by_user : row 시점에 유저별 누적 SUM -- last_5_orders_avg_amount : order_id 기준으로 정렬하고, 직전 5개 주문의 평균 amount SELECT *, SUM(amount) OVER() AS amount_total, SUM(amount) OVER(ORDER BY order_id) AS cumulative_sum, SUM(amount) OVER(PARTITION BY user_id ORDER BY order_id) AS cumulative_sum_by_user, AVG(amount) OVER(ORDER BY order_id ROWS BETWEEN 5 PRECEDING AND 1 PRECEDING) AS last_5_orders_avg_amount FROM advanced.orders ORDER BY order_id BETWEEN 앞에 ROWS 를 빼먹어서 계속 오류를 냈음 -- 1) 사용자별 쿼리를 실행한 총 횟수를 구하는 쿼리를 작성해주세요. -- 단, GROUP BY를 사용해서 집계하는 것이 아닌 query_logs의 데이터의 우측에 새로운 컬럼을 만들어주세요. SELECT *, COUNT(query_date) OVER(PARTITION BY user) AS cnt_by_user FROM advanced.query_logs 데이터에 NULL 값이 없으므로 어떤 열을 세던지 상관 없음 -- 2) 주차별로 팀 내에서 쿼리를 많이 실행한 수를 구한 후, 실행한 수를 활용해 랭킹을 구해주세요. -- 단, 랭킹이 1등인 사람만 결과가 보이도록 해주세요 SELECT *, RANK() OVER(PARTITION BY team, week_key ORDER BY cnt_by_user DESC) AS rnk FROM ( SELECT user, team, IF(query_date < '2024-05-01', 1, 2) AS week_key, COUNT(user) AS cnt_by_user FROM advanced.query_logs GROUP BY ALL ) QUALIFY rnk = 1 ORDER BY team, week_key '주차별’에 대한 아이디어가 잘 떠오르지 않았음 → 데이터의 범위가 좁기 때문에 일단은 IF를 통해 주차를 구분해줌 → 날짜 범위가 넓어지면 어떻게 할지 아직은 모르겠음 서브 쿼리 사용해봄 PARTITION 이 2개임(주차별, 팀별) QUALIFY 사용할 것(생각 못하고 LIMIT 쓰려다 막힘) -- 강의 코드 WITH query_cnt_by_team AS( SELECT EXTRACT(WEEK FROM query_date) AS week_number, team, user, COUNT(user) AS query_cnt FROM advanced.query_logs GROUP BY ALL ) SELECT *, RANK() OVER(PARTITION BY week_number, team ORDER BY query_cnt DESC) AS rk FROM query_cnt_by_team QUALIFY rk = 1 ORDER BY week_number, team, query_cnt EXTRACT 함수 통해 ‘주차’ 추출 GROUP BY 후 윈도우 함수 사용 → 유연하게 사용할 것 -- 3) (2번 문제에서 사용한 주차별 쿼리 사용) 쿼리를 실행한 시점 기준 1주 전에 쿼리 실행 수를 별도의 컬럼으로 확인할 수 있는 쿼리를 작성해주세요 SELECT *, LAG(query_cnt) OVER(PARTITION BY user ORDER BY week_number) AS previous_week_cnt FROM query_cnt_by_team ORDER BY user WITH AS 로 만든 테이블 그대로 사용 -- 4) 시간의 흐름에 따라, 일자별로 유저가 실행한 누적 쿼리 수를 작성해주세요 SELECT *, SUM(query_cnt) OVER(PARTITION BY user ORDER BY query_date ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) AS cumul_cnt FROM ( SELECT user, team, query_date, COUNT(*) AS query_cnt FROM advanced.query_logs GROUP BY ALL ) ORDER BY user, query_date GROUP BY 한 서브쿼리 사용 FRAME 사용이 그렇게 까다롭진 않았음 FRAME 의 defalut 값 → UNBOUNDED PRECEDING ~ CURRENT ROW -- 5) 다음 데이터는 주문 횟수를 나타낸 데이터입니다. 만약 주문 횟수가 없으면 NULL로 기록됩니다. -- 이런 데이터에서 NULL 값이라고 되어있는 부분을 바로 이전 날짜의 값으로 채워주는 쿼리를 작성해주세요 SELECT date, IF(number_of_orders IS NULL, LAG(raw_data.number_of_orders, 1) OVER(ORDER BY date), number_of_orders) AS number_of_orders FROM raw_data 조건문 사용해서 IS NULL 인 값들만 LAG 사용 기존의 number_of_orders가 사라지는 문제가 있음 마지막 날짜는 안채워짐(연속으로 NULL 이라) -- 강의 코드 SELECT *, LAST_VALUE(number_of_orders IGNORE NULLS) OVER(ORDER BY date) AS last_value_orders FROM raw_data LAST_VALUE + IGNORE NULLS 사용 -- 6) 5번 문제에서 NULL을 채운 후, 2일 전 ~ 현재 데이터의 평균을 구하는 쿼리를 작성해주세요(이동 평균) SELECT *, AVG(last_value_orders) OVER(ORDER BY date ROWS BETWEEN 2 PRECEDING AND CURRENT ROW) AS moving_average FROM ( SELECT *, LAST_VALUE(number_of_orders IGNORE NULLS) OVER(ORDER BY date) AS last_value_orders FROM raw_data 서브쿼리 사용했지만 WITH 로 정의해도 됨 → 문제에서는 WITH 가 연속 두번 나오는데, WITH 는 한번만 작성해도 됨(, 로 구분) -- 7) app_logs 테이블에서 Custom Session을 만들어 주세요. 이전 이벤트 로그와 20초가 지나면 새로운 Session을 만들어 주세요. -- Session은 숫자로 (1, 2, 3 ...) 표시해도 됩니다 WITH base AS( SELECT event_date, DATETIME(TIMESTAMP_MICROS(event_timestamp), "Asia/Seoul") AS event_datetime, event_name, user_id, user_pseudo_id, FROM advanced.app_logs WHERE (event_date = "2022-08-18") AND (user_pseudo_id = "1997494153.8491999091") ORDER BY event_timestamp ) SELECT *, SUM(diff_classification) OVER(ORDER BY event_datetime) + 1 AS session_id FROM ( SELECT *, IF(DATETIME_DIFF(event_datetime, before_datetime, second) > 20, 1, 0) AS diff_classification FROM ( SELECT *, LAG(event_datetime) OVER(PARTITION BY user_pseudo_id ORDER BY event_datetime) AS before_datetime, FROM base ) ) ORDER BY event_datetime timestamp와 1초의 관계 : timestamp 1당 1초 아닌가? → 그렇다면 굳이 datetime으로 바꿀 필요가 있나 서브쿼리 2번 중첩해서 사용 IF 문 사용해 20초 차이남 → 1 차이 안남 → 0 으로 파생해 누적합 + 1로 session_id 도출 첫 행 before_datetime에 예외처리 해줄 것 그런데 PARTITION BY 를 매 OVER 안에 무조건 써야 하나? EDA(2) 요일별 접속자 수 + 기간 내 이벤트날 요일별 접속자 평균을 내보자 일 > 토 > 수 > 금 > 목 > 화 > 월 → 역시 쉬는날이 더 배달 수요가 많은건가? → 수요일은 왜 일까? 2022-08-01(월) ~ 2023-01-20(금) 의 데이터 주말(토, 일)이 아닌 공휴일 목록 → 네이버 캘린더 참조 2022-08-15 월 : 광복절 2022-09-09 금 : 추석연휴 2022-09-12 월 : 추석연휴 2022-10-03 월 : 개천절 2023-01-23 월 : 설 연휴 2023-01-24 화 : 설 연휴(대체공휴일) 주요 이벤트 → 특정 사건이 있을 경우 배달 수요가 늘거나 줄지 않을까? / 위키 사이트 참조 2022-08-02 화 : 코로나19 누적 감염자 2천만 명 돌파 2022-08-08 월 : 수도권 기록적인 폭우 및 홍수 2022-10-31 월 : 할로윈데이 / 2022-10-29 토에 이태원 압사 사고 발생 2022-11-08 화 : 한국시리즈 2022-11-17 목 : 2023학년도 대학수학능력시험 2022-11-24 목 : 카타르 월드컵 vs 우루과이 2022-11-28 월 : 카타르 월드컵 vs 가나 2022-12-03 토 : 카타르 월드컵 vs 포르투갈 2022-12-19 월 : 카타르 월드컵 결승 2022-12-25 일 : 크리스마스 등등… “특정 사건”의 중요도를 정성적으로 평가하기에는 어렵다고 느낌 → 오히려 반대로 갑자기 이용자 수의 변화가 급격하게 나타나는 날짜를 위주로 봐야하나? → 그런데 앱 이용자 수 성장 시기에는 항상 상승만해서 보기 애매할 듯 → 요일별 경향을 따져야 할 수도 일요일 < 월요일(개천절) < 화요일 → 앱 이용자 수 상승 예시 월드컵에 따른 이용자 수 변화는 뚜렷하지 않음 수요일에 딱히 뭔가 보이진 않음 → 평일의 절반이 지남에 따른 보상 심리가 원인일수도? 시간대에 따른 이용자 수 마찬가지로 시간대별 평균 이용자 수 구해봄 저녁 시간대(19시 ~ 22시)가 가장 이용자 수 많음 점심 시간대(12시 ~ 14시)가 그 다음 당연하게도 식사 시간에 배달 앱 수요가 많음 시간대 별로 food_id 에 따른 수요가 다른지 확인해볼 것 → 시간대 별 이용자에게 추천해주는 음식 다르게 설정할 수 있음 하루의 기준을 0시로 잡아도 되나?에 대한 의문이 생김(야식 수요) → 이거에 대한 기준을 다시 잡고 일별 이용자 수 다시 구해야 할수도

  • sql
  • Google-Analytics
  • firebase
  • google-sheets
  • bigquery
양승엽 댓글 1 좋아요 0 조회수 156

[오류 검토 요청]

해결됨

기초 탄탄! 독하게 시작하는 Java - Part 1 : 절차적 프로그래밍

개발환경 구축 - 첫 번째 예제와 주요 단축키 15:09 Build : Ctrl + F9

  • java
한백년 댓글 2 좋아요 0 조회수 238

google cloud console 만료

해결됨

초보자를 위한 BigQuery(SQL) 입문

안녕하세요 카일님! 강의를 오랜만에 복습하려고 들어왔는데 4월말에 클라우드 콘솔 체험판 시작했던 뒤로 이미 90일 넘게 지난 상태입니다. 이경우에 새로운 계정을 사용해서 다시 설치해야 할까요? 기존에 설정해놨던 테이블이 이미 만료된 것 같아서요.

  • sql
  • bigquery
  • 데이터-리터러시
이유정 댓글 2 좋아요 0 조회수 175

코랩 코드 작성 시 힌트 안나오게 하는 방법

해결됨

[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)

코랩 작성 시 회색 문자로 힌트 같은게 계속 뜨더라구요.. 이거 없앨 수 있는 방법 있나요? 제가 생각한 것으로 하고 싶은데, 자꾸 보이네요..

  • python
  • 머신러닝
  • 빅데이터
  • pandas
  • 빅데이터분석기사
김치현 댓글 2 좋아요 0 조회수 682

외래키 관계라는게 무슨 의미인지 잘 모르겠습니다.

미해결

파이썬/장고 웹서비스 개발 완벽 가이드 with 리액트 (장고 4.2 기준)

안녕하세요 강사님. post 모델과 코멘트, 즉, post 테이블과 코멘트는 외래키 관계라고 설명해주셨는데, 제가 db용어를 잘 모르고, 찾아봐도 와닿지 않아서 이해가 잘 되지 않았습니다. 감사합니다.

  • react
  • python
  • django
  • web-api
  • htmx
sunnnwo 댓글 2 좋아요 0 조회수 333

접근제어자 2번째 문제 풀이

미해결

김영한의 실전 자바 - 기본편

[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 이런식으로 작성하는 건 나중에 문제가 될까요 ?

  • java
  • 객체지향
노력모아개발자 댓글 2 좋아요 0 조회수 180

xgboost의 결과값

해결됨

[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)

# XGBoost from xgboost import XGBClassifier xgb = XGBClassifier() xgb.fit(X_tr[cols], y_tr) pred = xgb.predict_proba(X_val[cols]) pred[:10] array([[8.8499719e-01, 1.1500280e-01], [9.5693278e-01, 4.3067228e-02], [5.9604776e-01, 4.0395224e-01], [9.1923535e-01, 8.0764659e-02], [7.2003794e-01, 2.7996209e-01], [9.8670012e-01, 1.3299899e-02], [9.9945015e-01, 5.4984458e-04], [9.1459018e-01, 8.5409813e-02], [1.7607212e-03, 9.9823928e-01], [9.4050205e-01, 5.9497967e-02]], dtype=float32) XGB의 결과값이 이렇게 나와도 되나요..?

  • python
  • 머신러닝
  • 빅데이터
  • pandas
  • 빅데이터분석기사
김치현 댓글 2 좋아요 0 조회수 201

검증용 데이터 분리시

해결됨

[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)

y = (y_train['income'] == '>50K').astype(int) 이렇게 하면 50k 보다 큰 값에서는 1이 나오는데, 만약 3개의 값으로 나오게 하려면 어떻게 해야하나요? (0, 1, 2) 등등 그리고 윗 코딩대로 진행하면 <=50k 는 자동적으로 0이 되는건가요? 이유가 있을까요?

  • python
  • 머신러닝
  • 빅데이터
  • pandas
  • 빅데이터분석기사
김치현 댓글 2 좋아요 0 조회수 102

윈도우 git bash로 빌드하고 실행할때 뜨는 에러(자바경로 위치관련에러)

해결됨

스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술

ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. Please set the JAVA_HOME variable in your environment to match the location of your Java installation. 라고 뜨는데 따로 인텔리제이 설치하며 자바는 따로 설치 안했어요 어떻게 하면 좋을까요??

  • java
  • spring
  • mvc
  • spring-boot
peter 댓글 2 좋아요 0 조회수 625

[인프런 빅쿼리 빠짝스터디 2주차 과제] 윈도우 함수 연습문제

미해결

BigQuery(SQL) 활용편(퍼널 분석, 리텐션 분석)

🔐 이번주차 중요 키워드 : 윈도우 함수, FRAME, QUALIFY ✅ 윈도우 함수 연습문제 1번 1) 사용자별 쿼리를 실행한 총 횟수를 구하는 쿼리 작성 단, group by를 사용해서 집계하는 것이 아닌 query_logs의 데이터 우측에 새로운 컬럼을 만들어주세요. select *, count(query_date) over (partition by user) as query_cnt from advanced.query_logs order by query_cnt desc ✅ 윈도우 함수 연습문제 2번 2) 주차별로 팀 내에서 쿼리를 많이 실행한 수 구하기 2-1) 실행한 수를 활용해 랭킹 구하기 -- 단, 랭킹이 1등인 사람만 결과가 보이도록 해주세요. week_number | team | user | query_cnt | team_rank select * , rank() over(partition by week_number, team order by query_cnt) as team_rank from ( select EXTRACT(week FROM query_date) as week_number, team, user, count(query_date) as query_cnt from advanced.query_logs group by all ) qualify team_rank = 1 order by week_number, team, query_cnt DESC ❗ 새롭게 알게된 함수 : EXTRACT(week FROM query_date) as week_number → 기존의 알고 있던 함수와 같은 결과값 : DATE_TRUNC(query_date, WEEK) AS week_number ❗ qualify team_rank = 1 : QUALIFY 덕분에 서브쿼리 없이 바로 조건에 사용가능함! ✅ 윈도우 함수 연습문제 3번 3) (2번 문제에서 사용한 주차별 쿼리 사용) 쿼리를 실행한 시점 기준 1주전에 쿼리 실행 수를 별도의 컬럼으로 확인할 수 있는 쿼리 작성 select * , LAG(query_cnt, 1) over (partition by user order by week_number) as pre_week_query_cnt from ( select EXTRACT(week FROM query_date) as week_number, team, user, count(query_date) as query_cnt from advanced.query_logs group by all ) ✅ 윈도우 함수 연습문제 4번 4) 시간의 흐름에 따라, 일자별로 유저가 실행한 누적 쿼리수 작성 ## FRAME의 default값은 UNBOUNDED PRECEDING AND CURRENT ROW with query_cnt_by_team as ( select EXTRACT(week FROM query_date) as week_number, team, user, query_date, count(query_date) as query_cnt from advanced.query_logs group by all ) select *, sum(query_cnt) over (partition by user order by query_date ASC) as cumulative_SUM1, sum(query_cnt) over (partition by user order by query_date ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) as cumulative_SUM2, from query_cnt_by_team ❗ FRAME의 default값은 UNBOUNDED PRECEDING AND CURRENT ROW ✅ 윈도우 함수 연습문제 5번 ) 주무횟수 데이터에서 주문횟수가 없으면 NULL로 기록됨. 이런 데이터에서 NULL값이라고 되어있는 부분을 바로 이전 날짜의 값으로 채워주는 쿼리 WITH raw_data AS ( SELECT DATE '2024-05-01' AS date, 15 AS number_of_orders UNION ALL SELECT DATE '2024-05-02', 13 UNION ALL SELECT DATE '2024-05-03', NULL UNION ALL SELECT DATE '2024-05-04', 16 UNION ALL SELECT DATE '2024-05-05', NULL UNION ALL SELECT DATE '2024-05-06', 18 UNION ALL SELECT DATE '2024-05-07', 20 UNION ALL SELECT DATE '2024-05-08', NULL UNION ALL SELECT DATE '2024-05-09', 13 UNION ALL SELECT DATE '2024-05-10', 14 UNION ALL SELECT DATE '2024-05-11', NULL UNION ALL SELECT DATE '2024-05-12', NULL ) select * , ifnull(number_of_orders, LAST_VALUE(number_of_orders IGNORE NULLS) over(order by date)) as filled_orders from raw_data -- 조건절 ifnull 사용할 수 있음. -- LAG()를 사용하면 마지막 NULL값인 경우 채우는 값도 NULL! -- 그렇기 떄문에, LAST_VALUE()인데, NULL은 무시하라는 IGNORE NULLS! ❗️LAST_VALUE에서 IGNORE NULLS 안하면 값은 NULL ✅ 윈도우 함수 연습문제 6번 6) NULL을 채운후, 2일전 ~ 현재 데이터의 평균 (이동평균) WITH raw_data AS ( SELECT DATE '2024-05-01' AS date, 15 AS number_of_orders UNION ALL SELECT DATE '2024-05-02', 13 UNION ALL SELECT DATE '2024-05-03', NULL UNION ALL SELECT DATE '2024-05-04', 16 UNION ALL SELECT DATE '2024-05-05', NULL UNION ALL SELECT DATE '2024-05-06', 18 UNION ALL SELECT DATE '2024-05-07', 20 UNION ALL SELECT DATE '2024-05-08', NULL UNION ALL SELECT DATE '2024-05-09', 13 UNION ALL SELECT DATE '2024-05-10', 14 UNION ALL SELECT DATE '2024-05-11', NULL UNION ALL SELECT DATE '2024-05-12', NULL ) select * , AVG(filled_orders) over (order by date ROWS BETWEEN 2 PRECEDING AND CURRENT ROW) AS avg_orders from ( select * , ifnull(number_of_orders, LAST_VALUE(number_of_orders IGNORE NULLS) over(order by date)) as filled_orders from raw_data ) ✅ 윈도우 함수 연습문제 7번 7) app_logs 테이블에서 custom_session을 만들어 주세요:) 이전 이벤트 로그와 20초가 지나면 새로운 session을 만들어 주세요. event_date | event_timestamp | event_datetime | evnet_name | user_id | user_pseudo_id | before_event_datetime | second_diff | session_start | session_id with base as ( select event_date, DATETIME(TIMESTAMP_MICROS(event_timestamp), 'Asia/Seoul') as event_time, event_name, user_id, user_pseudo_id, from advanced.app_logs where event_date = "2022-08-18" and user_pseudo_id = "1997494153.8491999091" order by event_timestamp ) select *, sum(session_start) over (partition by user_pseudo_id order by event_time) as session_num from ( select *, CASE WHEN before_event_datetime IS NULL THEN 1 WHEN second_diff >=20 THEN 1 ELSE 0 END AS session_start from ( select *, DATETIME_DIFF(event_time, before_event_datetime, SECOND) AS second_diff from ( select *, LAG(event_time,1) over (partition by user_pseudo_id order by event_time) as before_event_datetime from base order by event_time ) ) ) ❗ 새롭게 알게 된 함수 DATETIME_DIFF : 처음에 날짜-시간 차이를 단순히 (-)로만 생각했다가 잘못된 결과 도출 → DATETIME_DIFF 함수로 정답도출!

  • sql
  • Google-Analytics
  • firebase
  • google-sheets
  • bigquery
JYP 댓글 1 좋아요 0 조회수 104

7회 기출유형(작업형3)

해결됨

[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)

7회 기출유형(작업형3)에서 상관계수 구하는 문제, ERP와 각 변수 사이의 상관계수 계산이면 ERP 자기자신(상관계수 1)은 빼고 다른 변수들하고만을 말하는걸까요?

  • python
  • 머신러닝
  • 빅데이터
  • pandas
  • 빅데이터분석기사
김예지 댓글 2 좋아요 0 조회수 134

[P11726 2*N 타일채우기] top down 방식을 사용하니 런타임 에러가 발생합니다.

미해결

Do it! 알고리즘 코딩테스트 with JAVA

top down 방식을 사용하니 런타임 에러가 발생합니다. 이 문제는 bottom up으로만 풀어야하나요? 런타임 에러가 난 이유는 무엇일까요? import java.util.Scanner; public class Main { static long[] D; public static void main(String[] args){ Scanner scanner = new Scanner(System.in); int n = scanner.nextInt(); D = new long[n+1]; for(int i = 0 ; i < n+1 ; i++){ D[i] =-1; } D[1] =1; D[2] =2; long result = DP(n); System.out.println(result); } public static long DP(int n){ if(D[n] != -1){ return D[n]; } return D[n] = (DP(n-1) + DP(n-2)) % 10007; } }

  • java
  • 코딩-테스트
  • 알고리즘
devel 댓글 1 좋아요 0 조회수 128

직접 구현하는 set1 - MyHashSet 코드 구현 질문

해결됨

김영한의 실전 자바 - 중급 2편

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 안녕하세요. MyHashSetV1 복습 할 겸 코드를 안보고, 만들고 있었습니다. 그런데 계속 하다 보니, 코드를 이런 코드 방식으로 하게 되는 데요. 영한님 코드를 보니 buckets[hashIndex] 에서 새로운 인스턴스 bucket 을 만들어서 하시는 것을 보게 되는 데요. 이럴 때 에는 영한님의 코드를 보면서 고치고, 습관이 바껴질 때까지 코드를 치는게? 낳은가요? 아니면 저가 하는 코드 방식? if(buckets[hashIndex].contains(value)) , buckets[hashIndex].add(value); 이렇게 하는 것도 괜찮은가요? 답변 부탁 드립니다.

  • java
  • 객체지향
  • 코딩-테스트
  • 알고리즘
생각하는자 댓글 2 좋아요 0 조회수 210

네이버커페크롤링

미해결

[신규 개정판] 이것이 진짜 크롤링이다 - 실전편 (인공지능 수익화)

itmes 에 여러글이 담긴거 확인하고 밑에서 for문 돌리는데 맨위에 있는 글 하나만 뜨네요 뭔가 잘못했나 해서 확인했는데 어떤게 문제인거죵..

  • python
  • 웹-크롤링
진용 댓글 3 좋아요 0 조회수 192

수강기간 연장

해결됨

[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)

0 안녕하세요,, 저는 필기 유효기간 마지막 실기시험을 2과목 40점, 3과목 10점으로 탈락했어요,, 빅분기실기 강의 유효기간이 11월 10일까지라서,, 급하게 다시 필기취득하고, 또다시 실기접수를 하였습니다. 유효기간이 며칠안남아서,, 혹시 일주일만 더 연장해주실 수 있나요? 아니면 추가 비용납부해서 연장이 가능할까요?

  • python
  • 머신러닝
  • 빅데이터
  • pandas
  • 빅데이터분석기사
lovelove567 댓글 1 좋아요 0 조회수 152

데이터베이스연동문제

미해결

실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발

해당 오류들이 나오면서 h2베이스에 연동이 되지 않습니다 ㅠㅠ 해결하는 방법이 있을까요? 2024-11-01T15:11:48.474+09:00 ERROR 84212 --- [ restartedMain] j.LocalContainerEntityManagerFactoryBean : Failed to initialize JPA EntityManagerFactory: Property ' jpabook.jpshop.domain.Delivery .status' is annotated '@Enumerated' but its type 'jpabook.jpshop.domain.DeliveryStatus' is not an enum 2024-11-01T15:11:48.475+09:00 WARN 84212 --- [ restartedMain] ConfigServletWebServerApplicationContext : Exception encountered during context initialization - cancelling refresh attempt: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'entityManagerFactory' defined in class path resource [org/springframework/boot/autoconfigure/orm/jpa/HibernateJpaConfiguration.class]: Property ' jpabook.jpshop.domain.Delivery .status' is annotated '@Enumerated' but its type 'jpabook.jpshop.domain.DeliveryStatus' is not an enum 2024-11-01T15:11:48.480+09:00 INFO 84212 --- [ restartedMain] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Shutdown initiated... 2024-11-01T15:11:48.495+09:00 INFO 84212 --- [ restartedMain] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Shutdown completed. 2024-11-01T15:11:48.506+09:00 INFO 84212 --- [ restartedMain] o.apache.catalina.core.StandardService : Stopping service [Tomcat] 2024-11-01T15:11:48.548+09:00 INFO 84212 --- [ restartedMain] .s.b.a.l.ConditionEvaluationReportLogger : Error starting ApplicationContext. To display the condition evaluation report re-run your application with 'debug' enabled. 2024-11-01T15:11:48.627+09:00 ERROR 84212 --- [ restartedMain] o.s.boot.SpringApplication : Application run failed org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'entityManagerFactory' defined in class path resource [org/springframework/boot/autoconfigure/orm/jpa/HibernateJpaConfiguration.class]: Property ' jpabook.jpshop.domain.Delivery .status' is annotated '@Enumerated' but its type 'jpabook.jpshop.domain.DeliveryStatus' is not an enum at org.springframework.beans.factory.support .AbstractAutowireCapableBeanFactory.initializeBean( AbstractAutowireCapableBeanFactory.java:1775 ) ~[spring-beans-6.1.1.jar:6.1.1] at org.springframework.beans.factory.support .AbstractAutowireCapableBeanFactory.doCreateBean( AbstractAutowireCapableBeanFactory.java:601 ) ~[spring-beans-6.1.1.jar:6.1.1] at org.springframework.beans.factory.support .AbstractAutowireCapableBeanFactory.createBean( AbstractAutowireCapableBeanFactory.java:523 ) ~[spring-beans-6.1.1.jar:6.1.1] at org.springframework.beans.factory.support .AbstractBeanFactory.lambda$doGetBean$0( AbstractBeanFactory.java:325 ) ~[spring-beans-6.1.1.jar:6.1.1] at org.springframework.beans.factory.support .DefaultSingletonBeanRegistry.getSingleton( DefaultSingletonBeanRegistry.java:234 ) ~[spring-beans-6.1.1.jar:6.1.1] at org.springframework.beans.factory.support .AbstractBeanFactory.doGetBean( AbstractBeanFactory.java:323 ) ~[spring-beans-6.1.1.jar:6.1.1] at org.springframework.beans.factory.support .AbstractBeanFactory.getBean( AbstractBeanFactory.java:199 ) ~[spring-beans-6.1.1.jar:6.1.1] at org.springframework.context.support .AbstractApplicationContext.getBean( AbstractApplicationContext.java:1173 ) ~[spring-context-6.1.1.jar:6.1.1] at org.springframework.context.support .AbstractApplicationContext.finishBeanFactoryInitialization( AbstractApplicationContext.java:936 ) ~[spring-context-6.1.1.jar:6.1.1] at org.springframework.context.support .AbstractApplicationContext.refresh( AbstractApplicationContext.java:616 ) ~[spring-context-6.1.1.jar:6.1.1] at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh( ServletWebServerApplicationContext.java:146 ) ~[spring-boot-3.2.0.jar:3.2.0] at org.springframework.boot.SpringApplication.refresh( SpringApplication.java:753 ) ~[spring-boot-3.2.0.jar:3.2.0] at org.springframework.boot.SpringApplication.refreshContext( SpringApplication.java:455 ) ~[spring-boot-3.2.0.jar:3.2.0] at org.springframework.boot.SpringApplication.run ( SpringApplication.java:323 ) ~[spring-boot-3.2.0.jar:3.2.0] at org.springframework.boot.SpringApplication.run ( SpringApplication.java:1342 ) ~[spring-boot-3.2.0.jar:3.2.0] at org.springframework.boot.SpringApplication.run ( SpringApplication.java:1331 ) ~[spring-boot-3.2.0.jar:3.2.0] at jpabook.jpshop.JpashopApplication.main( JpashopApplication.java:10 ) ~[main/:na] at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke( DirectMethodHandleAccessor.java:103 ) ~[na:na] at java.base/java.lang.reflect.Method.invoke( Method.java:580 ) ~[na:na] at org.springframework.boot.devtools.restart.RestartLauncher.run ( RestartLauncher.java:50 ) ~[spring-boot-devtools-3.2.0.jar:3.2.0] Caused by: org.hibernate.AnnotationException: Property ' jpabook.jpshop.domain.Delivery .status' is annotated '@Enumerated' but its type 'jpabook.jpshop.domain.DeliveryStatus' is not an enum at org.hibernate.boot.model.internal.BasicValueBinder.prepareBasicAttribute( BasicValueBinder.java:805 ) ~[ hibernate-core-6.3.1.Final .jar: 6.3.1.Final ] at org.hibernate.boot.model.internal.BasicValueBinder.setType( BasicValueBinder.java:374 ) ~[ hibernate-core-6.3.1.Final .jar: 6.3.1.Final ] at org.hibernate.boot.model.internal.PropertyBinder.makePropertyAndValue( PropertyBinder.java:261 ) ~[ hibernate-core-6.3.1.Final .jar: 6.3.1.Final ] at org.hibernate.boot.model.internal.PropertyBinder.makePropertyValueAndBind( PropertyBinder.java:297 ) ~[ hibernate-core-6.3.1.Final .jar: 6.3.1.Final ] at org.hibernate.boot.model.internal.PropertyBinder.createBasicBinder( PropertyBinder.java:1169 ) ~[ hibernate-core-6.3.1.Final .jar: 6.3.1.Final ] at org.hibernate.boot.model.internal.PropertyBinder.bindBasic( PropertyBinder.java:1071 ) ~[ hibernate-core-6.3.1.Final .jar: 6.3.1.Final ] at org.hibernate.boot.model.internal.PropertyBinder.bindProperty( PropertyBinder.java:890 ) ~[ hibernate-core-6.3.1.Final .jar: 6.3.1.Final ] at org.hibernate.boot.model.internal.PropertyBinder.buildProperty( PropertyBinder.java:788 ) ~[ hibernate-core-6.3.1.Final .jar: 6.3.1.Final ] at org.hibernate.boot.model.internal.PropertyBinder.processElementAnnotations( PropertyBinder.java:709 ) ~[ hibernate-core-6.3.1.Final .jar: 6.3.1.Final ] at org.hibernate.boot.model.internal.EntityBinder.processIdPropertiesIfNotAlready( EntityBinder.java:977 ) ~[ hibernate-core-6.3.1.Final .jar: 6.3.1.Final ] at org.hibernate.boot.model.internal.EntityBinder.handleIdentifier( EntityBinder.java:305 ) ~[ hibernate-core-6.3.1.Final .jar: 6.3.1.Final ] at org.hibernate.boot.model.internal.EntityBinder.bindEntityClass( EntityBinder.java:231 ) ~[ hibernate-core-6.3.1.Final .jar: 6.3.1.Final ] at org.hibernate.boot.model.internal.AnnotationBinder.bindClass( AnnotationBinder.java:422 ) ~[ hibernate-core-6.3.1.Final .jar: 6.3.1.Final ] at org.hibernate.boot.model.source.internal.annotations.AnnotationMetadataSourceProcessorImpl.processEntityHierarchies( AnnotationMetadataSourceProcessorImpl.java:255 ) ~[ hibernate-core-6.3.1.Final .jar: 6.3.1.Final ] at org.hibernate.boot.model.process.spi.MetadataBuildingProcess$1.processEntityHierarchies( MetadataBuildingProcess.java:278 ) ~[ hibernate-core-6.3.1.Final .jar: 6.3.1.Final ] at org.hibernate.boot.model.process.spi.MetadataBuildingProcess.complete( MetadataBuildingProcess.java:321 ) ~[ hibernate-core-6.3.1.Final .jar: 6.3.1.Final ] at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.metadata( EntityManagerFactoryBuilderImpl.java:1432 ) ~[ hibernate-core-6.3.1.Final .jar: 6.3.1.Final ] at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.build ( EntityManagerFactoryBuilderImpl.java:1503 ) ~[ hibernate-core-6.3.1.Final .jar: 6.3.1.Final ] at org.springframework.orm.jpa.vendor.SpringHibernateJpaPersistenceProvider.createContainerEntityManagerFactory( SpringHibernateJpaPersistenceProvider.java:75 ) ~[spring-orm-6.1.1.jar:6.1.1] at org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean.createNativeEntityManagerFactory( LocalContainerEntityManagerFactoryBean.java:376 ) ~[spring-orm-6.1.1.jar:6.1.1] at org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.buildNativeEntityManagerFactory( AbstractEntityManagerFactoryBean.java:409 ) ~[spring-orm-6.1.1.jar:6.1.1] at org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.afterPropertiesSet( AbstractEntityManagerFactoryBean.java:396 ) ~[spring-orm-6.1.1.jar:6.1.1] at org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean.afterPropertiesSet( LocalContainerEntityManagerFactoryBean.java:352 ) ~[spring-orm-6.1.1.jar:6.1.1] at org.springframework.beans.factory.support .AbstractAutowireCapableBeanFactory.invokeInitMethods( AbstractAutowireCapableBeanFactory.java:1822 ) ~[spring-beans-6.1.1.jar:6.1.1] at org.springframework.beans.factory.support .AbstractAutowireCapableBeanFactory.initializeBean( AbstractAutowireCapableBeanFactory.java:1771 ) ~[spring-beans-6.1.1.jar:6.1.1] ... 19 common frames omitted Disconnected from the target VM, address: '127.0.0.1:55744', transport: 'socket' Process finished with exit code 0

  • java
  • spring
  • 웹앱
  • spring-boot
  • jpa
주현 댓글 2 좋아요 0 조회수 265

회사 내 환경 자원에서 수강중인데 아나콘다 유료로 회사내에서는 설치가 되지 않습니다.

미해결

프로그래밍 시작하기 : 도전! 45가지 파이썬 기초 문법 실습 (Inflearn Original)

회사 내 환경 자원에서 수강중인데 아나콘다 유료로 회사내에서는 설치가 되지 않습니다. 아나콘다 설치가 불가능할경우 주피터 노트북 환경 설정 가이드를 알수는 없을까요?

  • python
jeongsoo_e.lee 댓글 2 좋아요 0 조회수 325

index.html

미해결

자바와 스프링 부트로 생애 최초 서버 만들기, 누구나 쉽게 개발부터 배포까지! [서버 개발 올인원 패키지]

안녕하세요? 강의 잘 보고 있습니다. html 코드가 없어 커뮤니티에 와보니 없는게 맞는거군요. 강사님과 같은 화면을 만드려면 직접 html 태그 넣어서 만듦 강사님이 보내주는 코드를 넣음 두가지 방법인거죠?

  • java
  • spring
  • aws
  • mysql
  • spring-boot
  • jpa
치킨맛있어 댓글 2 좋아요 0 조회수 101

로지스틱 회귀관련

해결됨

[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)

안녕하세요? 강사님이 저술하신 빅데이터분석기사 실기관련해서 로지스틱회귀 419쪽 문제 중에 p-value가 0.05보다 작은 유의한 변수만 사용한 ~~~~ 여기서 교재는 독립변수로 age , service, booked가 되었는데. service도 0.05 넘는 독립변수가 아닌지요? 이 것도 제외 해야 하는것이 아닌지요?

  • python
  • 머신러닝
  • 빅데이터
  • pandas
  • 빅데이터분석기사
kccjjang 댓글 2 좋아요 0 조회수 153

6-5 데이터 결과 검증 예시 쿼리 질문

해결됨

초보자를 위한 BigQuery(SQL) 입문

안녕하세요 카일님, 6-5. 데이터 결과 검증 예시 강의 중 아래 쿼리에서 total_battle_count 와 win_ratio 를 각각 구할때 COUNT(battle_id) 와 COUNT(DISTINCT battle_id) 로 쓰신 이유가 궁금합니다. 무엇이 됐건 둘은 통일되어야 하는게 아닌지, total_battle_count 를 구할때도 엄밀하게는 DISTINCT 를 썼어야 하는게 아닌지 궁금합니다 ! SELECT trainer_id, COUNTIF(battle_result = 'Win') AS win_count, COUNT(battle_id) AS total_battle_count, COUNTIF(battle_result = 'Win') / COUNT(DISTINCT battle_id) AS win_ratio FROM battle_with_result GROUP BY trainer_id

  • sql
  • bigquery
  • 데이터-리터러시
hoony19980 댓글 1 좋아요 0 조회수 120

인기 태그

인프런 TOP Writers

주간 인기글