데이터 개수를 구할 때, len과 value_counts 차이
해결됨
[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
20강 작업형1 - 연습문제 8번 5분 55초 데이터 개수를 구할 때 len 대신 value_counts를 사용할 수는 없는건가요?
- python
- 머신러닝
- 빅데이터
- pandas
- 빅데이터분석기사
172만명의 커뮤니티!! 함께 토론해봐요.
해결됨
[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
20강 작업형1 - 연습문제 8번 5분 55초 데이터 개수를 구할 때 len 대신 value_counts를 사용할 수는 없는건가요?
해결됨
[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
안녕하세요~ 작업형 2 분류와 회귀 강의를 학습하는 도중 질문이 있습니다! 분류에서는 제출 파일은 예측값만 result.csv 파일로 생성해 제출(컬럼명: pred, 1개) 회귀에서는 제출 파일은 예측값만 포함된 result.csv 로 생성 (컬럼명: pred , 1개) 분류 강의에서는 생성해 제출이라고 하셨고, 회귀 강의에서는 생성이라고 하셨는데 분류와 회귀 강의에서 한 작업에서 다른 점이 없는 거 같아서 질문드립니다. (데이터프레임 만들어서 제출하되 read로 행 개수 확인하기) 정확히 어떤 차이가 있는 걸까요?
미해결
[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! 질문과 관련된 영상 위치를 알려주면 더 빠르게 답변할 수 있어요 먼저 유사한 질문이 있었는지 검색해보세요 인코딩과 스케일링 순서가 궁금합니다. 인코딩 하고 스케일링 하면 문자형들이 이미 숫자로 바껴서 스케일링 먼저 하고 인코딩이 낫나요? 라벨 인코딩 하면 0~1보다 더 큰 숫자여서 라벨 인코딩 한 것 자체도 스케일링 될 거 같은데 괜찮은지 모르겠습니다.
해결됨
[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
실제 시험에서는 3번째 줄까지만 문제로 주어지는걸까요? 아니면 해당 문제와 같이 min_max 스케일링의 공식도 같이 주어지는 건가요?
미해결
[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
안녕하세요 6.8까지 강의를 수강 했던 수강생입니다. 6.9 부로 기간이 만료됐는데 다시 결제를 하자니 부담이 되는상황이라 혹시 6.20 시험 전까지라도 단기기간 결제를 하여 연장이 가능할까요? 인프런 고객문의를 통해서 오늘 하루 연장하여 이렇게나마 문의를 드립니다. 이메일 woog2866@naver.com 입니다!
미해결
[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
###데이터전처리 (범주형 데이터 수 많은데 카테고리 다를 때 삭제, 비행기 문제 생각) train = train.drop(‘컬럼명’, axis=1) test = test.drop(‘컬럼명’, axis=1) 결측치 채우기 (범주형) cond_o = ['범주형컬럼명1',‘컬럼명2’...] train[cond_o]=train[cond_o].fillna("X") test[cond_o]=test[cond_o].fillna("X") 결측치 채우기 (수치형, 0/중앙값/최소값/평균 등 데이터에 맞게) cond_f = ['컬럼명1‘,’컬럼명2'...] train[cond_f]=train[cond_f].fillna(0) test[cond_f]=test[cond_f].fillna(0) target = train.pop(‘타겟컬럼명’) ###인코딩 print(train.shape, test.shape) train = pd.get_dummies(train) test = pd.get_dummies(test) print(train.shape, test.shape) (범주형 카테고리 다르면 합쳐서 원핫인코딩 진행) print(train.shape, test.shape) concat = pd.concat([train,test]) concat_dummies = pd.get_dummies(concat) n_train = len(train) train = concat_dummies[:n_train] test = concat_dummies[n_train:] print(train.shape, test.shape) ###하이퍼파라미터 class_weight='balanced' : 타겟 데이터 불균형일 때 사용 max_depth : 3~7(분류) 7~12(회귀) n_estimators : 200~600 (100단위) learning_rate : n_estimators 와 반비례하게 사용 - 0.01~0.1 (랜덤포레스트에서 적용 안됨) 이렇게 정리해서 외워도 될까요?? 하이퍼파라미터는 각각 어떤 상황에 사용해야 하는지 잘 모르겠습니다ㅠㅠ
해결됨
[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
14강 18분 37초 수강중입니다. # 하나의 열에 대해 여러 집계 함수를 동시에 적용 pt = df.pivot_table( index=['구분', '크기'], values=['수량', '금액'], aggfunc={'수량': "mean", '금액': ["min", "max", "mean"]} ) pt 이 부분에서, "min", "max", "mean" 같은 내장함수를 왜 "" 안에 넣어야 하는지 궁금합니다.
해결됨
[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
코랩에서 lightgbm으로 학습시키고 f1-score 출력했을 때는 0.5277이 나왔는데 캐글에 제출하니까 0.3028으로 더 낮게 나오는데 왜 이런 건가요??
해결됨
[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
이제 시험도 약 10일 남았는데 지금 3유형 마지막에 회귀 분석만 들으면 일단 이론이 끝나고 기출유형 공부하고자 하는데 고심끝에 8회 ~ 11회 기출에 집중하는 식으로 마무리 하고자 해요. 그 문제 2~3회 회독하면 시간 다 될꺼 같은데 어떤 식으로 하면 되는지 마지막 조언을 부탁합니다.
해결됨
[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
안녕하세요. 빅이시 강의 수강 및 코드 관련 문의 드립니다. '추천' 파트와 달리 '기초'에는 랜덤 포레스트 모델로(만) 예측하는 코드가 구현되어 있음을 확인했습니다. 기초 케이스에도 LightGBM으로도 예측하는 코드를 추가 가능하실까요? 추천(1~3) 코드에서 LightGBM 부분을 추출하여 기초 코드를 '# 2_1. 머신러닝 학습 및 예측(랜덤포레스트)' '# 2_2. 머신러닝 학습 및 예측(LightGBM)' '# 3_1. 결과 파일 생성(랜덤포레스트)' '# 3_2. 결과 파일 생성(LightGBM)' 이렇게 코드를 자체적으로 이식(?)하고 이원화하여 수정해보려고 했는데 재대로 한 게 맞는지 확신이 없어 문의드립니다ㅠㅜ
미해결
[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
같은 질문 다시 드려서 죄송합니다;;;;; (기출 9회의 작업형 1의 3번 문제를 풀고 있습니다.) 이전 인덱싱 혹은 슬라이싱 질문에서 df[숫자]는 행 선택만 되고 열 선택은 되지 않아 df.loc와 df.iloc를 사용했었는데 9번 기출에서 unstack한 경우에는 어째서 df[숫자]로 열선택이 가능한지에 대한 질문을 드렸습니다. 답변으로 기본적으로 df[숫자]는 인덱스 기반으로한 행 선택이고 unstack에서 컬럼명이 숫자(정수)로 바뀌어서 가능했다 라고 답변을 받았었습니다. 일반 df [숫자] → 행 선택 (인덱스 기반) 컬럼명이 정수인 df [숫자] → 열 선택 (컬럼명 기반) 그런데 이번에 9번 기출에 혹시나 하고 df[0]을 넣었는데 이 상황에서는 왜 에러가 나는 것인가요? 참고로 df를 새로 불러오고 시도해도 오류가 났었습니다.;;; 그런데 기출 9회 작업형 3에서는 df[:140]으로 데이터 분할을 합니다.... 무슨 차이 인가요?
해결됨
[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
제일 먼저 정규성을 판단하기 위해 샤피로검정을 진행한 후, 따른다면 단일표본검정을 진행하면 되고, 따르지 않는다면 윌콕슨검정을 진행하면 된다 라고 이해하면 될까요?
해결됨
[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
강의 PPT 자료는 공유가 안 되는 걸까요? 파이썬을 완전 처음 접하는 거라 복습을 어떻게 해야할지가 막막해서 질문드려요!
해결됨
[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
문제에 명시되어있는 샘플 pred 0.17 0.33 0.11 ... 이건 형식만 참고하면 되는거 맞을까요? 그러니까 샘플에 있는 수치들과 제가 만든 csv head() 출력했을 때의 수치도 샘플과 유사해야하는건지 궁금합니다. 또한 제출 버튼 누를 때 result.csv 만드는 코드 아래 csv가 잘 만들어졌는지 개인적으로 확인하는 코드 (head나 shape)는 냅둬도 괜찮은건가요? 아님 csv 만드는 코드가 마지막 줄에 있는 상태로 제출 버튼을 눌러야 하는 것일까요? 감사합니다.
해결됨
[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
그냥 get_dummies로 인코딩 하는것보다 위 사진과 같이 train,test 데이터를 합치고 인코딩 후 다시 분할하는게 항상 더 좋은 방법일까요?
해결됨
[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
결측치 처리 전에 타겟 변수를 먼저 분리한 후에 결측치 처리를 해야하나요? 저번엔 결측치 처리 전에 무조건 타겟변수를 먼저 분리하라고 하셨는데, 이번에는 분리를 따로 안하셔서요.
해결됨
[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
에어비엔비 가격 데이터에서 ID는 왜 삭제하는건가요? 꼭 삭제해야하는 건가요? 여기 답변달린거 보니까 숫자인 경우에는 ID 삭제 안해도 된다고 하던데 ID가 숫자인데 왜 삭제하는 건가요? +) AI 답변 확인했는데, 맨 처음 전처리를 할 때 ID를 삭제할지 안할지를 어떻게 판단하는지 기준을 알고싶어요.
해결됨
[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
작업형2 모의문제3 09분 48초 이 부분에서 .predict_proba()를 통해서 pred_proba라는 변수에 평가 결과가 저장되었는데 이때 pred_proba[:,1]로 슬라이싱하는 이유를 질문드립니다. pred_proba라는 변수는 roc_auc_score 확률값이 저장되어있는데, roc_auc_score 평가 지표는 2개의 클래스에 각각 해당될 확률인 2개의 컬럼이 있는 배열로 출력되는데 0번 컬럼이 " 심장마비 확률 높음" 컬럼인지 "심장마비 확률 낮음" 의 컬럼인지 어떻게 판단해서 [:, 1]로 슬라이싱하는 걸까요?
해결됨
[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
작업형2 모의문제2 11분12초의 레이블인코딩이 아닌 원핫인코딩으로 변경하는 코드에 대해서 질문드립니다. 만약 원핫인코딩으로 진행하려면 아래와 같이 코드를 작성하면 될까요? # 원핫인코딩 train = train.drop('price', axis = 1) train = pd.get_dummies(train) test = pd.get_dummies(test) 그리고 원핫인코딩으로 변경하면 검증데이터 분리 과정에서 코드를 어떻게 수정해야하나요?(.pop()을 사용해서 'price' 컬럼을 따로 변수에 저장한 후에 target 부분에 넣어야할까요?) X_tr, X_val, y_tr, y_val = train_test_split(train, target, test_size = 0.2, random_state = 0 )
미해결
[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
작업형1 - section14 를 먼저 풀었을 때 아래처럼 작성하였습니다 답은 맞게 나오긴하는데 풀이에선 map을 활용하였더라고요. 따라서 써보려고 하는중인데 영 손에 익지않습니다 ㅠㅠ 혹시 이후 과정에서도 map을 많이 사용한다면 최대한 외워보려고 하는데 필수적일까요 ..? import pandas as pd # df = pd.read_csv("type1_data1.csv") df = pd.read_csv("https://raw.githubusercontent.com/lovedlim/inf/refs/heads/main/p1/type1_data1.csv") #print(df.shape) # 1 중복 데이터 제거 df = df.drop_duplicates() #print(df.shape) # 2 f3 변환 ## 결측치 -> 0 # print(df.isna().sum()) df['f3'] = df['f3'].fillna(0) # print(df.isna().sum()) ## silver -> 1 , gold -> 2, vip -> 3 cond1 = df['f3'] == 'silver' cond2 = df['f3'] == 'gold' cond3 = df['f3'] == 'vip' df[cond1] = 1 df[cond2] = 2 df[cond3] = 3 # 3 f3 sum() result = df['f3'].sum() print(result)