라이브러리 및 데이터 불러오기 그리고 EDA 강의를 듣고있는데, 데이터를 나누고 합치는데 그 기준은 무엇인가요? 강의 끝부분에서 데이터를 합치고, 나누던데 어떤 기준으로 합치기를 하고 income만 남기고 왜 또 나누는건지 감을 못잡겠습니다. 데이터를 힙치고 나눠야한다는 기준은 어떤거로 잡아서 실행해야 할까요?
문제 : T1-6. 결측치 제거 및 그룹 합계 Expected Questions https://www.kaggle.com/agileteam/py-t1-6-expected-questions 문의 내용 : 'city가 경기이면서 f2가 0'인 조건에 만족하는 f1 값을 구할 때 df.iloc[0, 0]["f1"] 이 아니라 왜 df.iloc[0]["f1"] 이렇게 입력해야 하는지 궁금합니다!
예를 들어 회귀분석에서 설명변수 표준화, 이상치 처리, 반응변수 로그변환 등 전처리를 통해 모델 성능을 높일 수 있잖아요. 전처리에 따라 계수추정치, p value가 달라질 수 밖에 없는데, 계수추정치와 p value를 묻는 문제에서는 전처리한 결과를 바탕으로 정답 작성하면 오답처리 되나요? 3유형은 정답이 있다고 들었습니다. 사람마다 전처리 과정이 다 다를텐데 정답이 있을 수 있다는게 잘 이해가 안돼요. 아니면 3유형은 무조건 전처리 없이 풀어야 하나요??
학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! 질문과 관련된 영상 위치를 알려주면 더 빠르게 답변할 수 있어요 먼저 유사한 질문이 있었는지 검색해보세요 안녕하세요! 공부하다 궁금한 점이 있어 질문드립니다. 데이터 전처리할때, 수치형 변수 스케일링은 x_train의 값으로 scaler.transform(test)만 하는것으로 이해를 했습니다! 그런데 결측치 처리를 할때에는 train은 train의 값으로 test는 test의 값으로 채우는데.. 수치형 변수 처리할때처럼 train값으로 test 값을 처리하는 것이 아니라, 결측치는 각 데이터 셋의 값으로 채우는것이 맞을까요 ?
합계, 길이, 개수 이런식으로 문제에 명시되지 않고 데이터 수를 구하여라 이런 식으로 적혀있을 때, sum이 사용된 적도 있고 len이 사용된 적도 있는데 sum(), len(), count() 각각 언제 사용되는지 궁금합니다 수치형, 범주형에 따른 사용 가능 여부 차이도 있나요??
views가 세번째로 큰 city(도시) 이름을 df.iloc[2,0] 가 아닌 df.loc[2,0] 로 출력하면 오류가 나는 이유가 무엇인가요?? 왜 loc로는 안되는지 궁금합니다! 또, iloc는 해당 숫자를 미포함하는걸로 이해하고 있는데 3번째인 대구를 출력하기 위해 왜 df.iloc[3,0] 가 아니라 df.iloc[2,0] 가 입력되는지 모르겠습니다 ㅠㅠ
조건에 len을 쓰면 조건 값의 길이가 아닌 전체 행의 길이가 나오는데 len은 sum과 같이 조건식 계산 출력이 안되나요?? 조건의 합을 구하려면 sum만 가능한가요? print(sum(df['qsec'] >0.5)) -> 9 print(len(df['qsec'] >0.5)) -> 32
독립표본 검정 강의 예시에서 보면 두집단 A,B에 대해 2가지 방법을 아래와 같이 설명 하셨는데, 결론이 상이한것이 질문입니다. 방법 1: shapiro-wilk 정규성 검증 을 통해 A집단이 정규성을 띄지 않는 다는 것을 알았고, 비모수 검증으로 mannwhiteyu 검정을 통해 그룹별 차이가 없다로 결론 방법2: levene 검증을 통해 분산이 동일 하지 않다를 알고,ttest_ind에 equal_var=False 옵션을 추가해서 검증 후, B그룹 평균점수가 더 높다라는 결론 -> 데이터가 동일한데 결론이 달라서 이해가 안갑니다
안녕하세요. 좋은 강의 감사합니다. scala를 이용하여 spark streaming을 배포할 때, 주로 shadow jar 파일을 생성하고 해당 파일을 이용하여 배포하는 걸로 알고 있는데, pyspark 같은 경우는 현업에서 어떤 방법으로 배포를 하고 있을까요? 1. 강의에서 소개해준 것처럼 파일 단위로 배포를 하는지 다른 방법으로 배포를 하는지 궁금합니다. 2. 강의에서 도커를 이용하여 빠르게 개발 및 배포하는 방법을 소개해주셨는데, 현업 로컬 환경에서도 주로 도커를 이용하여 개발을 하고 계실까요? 감사합니다.
선생님 안녕하세요. 이제 갓 빅분기 3강... list 쪽 강의 듣는 학생입니다. 이전부터 현재,, 그리고 나중에 강의에서 다루는 모든 내용은 숙지가 되고.. 자동으로 코딩이 되어야 시험 합격이 가능한것인가요? 예를 들면 list.append 이런것을 전부 외워야 하는지 궁금합니다. 끝으로 해당 내용들을 모두 숙지하는게 맞다면.. 쉽게 할 수 있는 방법이 뭐가 있을까요? 파이썬이 아무래도 익숙하지 않다보니 어렵네요
학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! 질문과 관련된 영상 위치를 알려주면 더 빠르게 답변할 수 있어요 먼저 유사한 질문이 있었는지 검색해보세요 안녕하세요 예시문제 작업형2번을 풀고 강의를 보고 궁금한점이 생겨 질문드립니다. 우선 아래는 제가 작성한 코드입니다. # 출력을 원하실 경우 print() 함수 활용 # 예시) print(df.head()) # getcwd(), chdir() 등 작업 폴더 설정 불필요 # 파일 경로 상 내부 드라이브 경로(C: 등) 접근 불가 import pandas as pd train = pd.read_csv("data/customer_train.csv") test = pd.read_csv("data/customer_test.csv") # 사용자 코딩 print(train.info()) train['환불금액'] = train['환불금액'].fillna(0) test['환불금액'] = test['환불금액'].fillna(0) # train['환불금액'] = train['환불금액'].fillna(train['환불금액'].mean()) # test['환불금액'] = test['환불금액'].fillna(test['환불금액'].mean()) train = train.drop(columns = '회원ID') test_id = test.pop('회원ID') X = train.iloc[:,:-1] y = train.iloc[:,-1] from sklearn.model_selection import train_test_split X_tr , X_val , y_tr , y_val = train_test_split(X,y,test_size = 0.2 ,random_state=42) print(X_tr.shape, X_val.shape , y_tr.shape ,y_val.shape) # X_tr, X_val를 명시적으로 복사본 생성 X_tr = X_tr.copy() X_val = X_val.copy() from sklearn.preprocessing import LabelEncoder le_col = ['주구매상품','주구매지점'] le = LabelEncoder() for i in le_col: X_tr.loc[:, i] = le.fit_transform(X_tr[i]) X_val.loc[:, i] = le.transform(X_val[i]) test.loc[:, i] = le.transform(test[i]) from sklearn.ensemble import RandomForestClassifier from xgboost import XGBClassifier from sklearn.metrics import roc_auc_score rf = RandomForestClassifier(random_state = 42, n_estimators=100, # 트리의 개수 max_depth=7, # 트리의 최대 깊이 min_samples_split=10, # 내부 노드를 분할하기 위한 최소 샘플 수 min_samples_leaf=4, # 리프 노드에 있어야 하는 최소 샘플 수 max_features='sqrt', # 각 트리를 분할할 때 고려할 최대 피처 수 bootstrap=True) # 부트스트래핑 사용 여부 rf.fit(X_tr,y_tr) pred = rf.predict_proba(X_val) # xgb = XGBClassifier(random_state=42,use_label_encoder=False, eval_metric='logloss') # xgb.fit(X_tr,y_tr) # pred = xgb.predict_proba(X_val) print(roc_auc_score(y_val,pred[:,1])) pred = rf.predict_proba(test)[:,1] submit = pd.DataFrame( {'pred' : pred } ) submit.to_csv('result.csv',index=False) print(pd.read_csv('result.csv')) # rf # 0.6435519983529352 # rf 하이퍼 # 0.6732206123306826 # xgb # 0.624477786070292 # 답안 제출 참고 # 아래 코드는 예시이며 변수명 등 개인별로 변경하여 활용 # pd.DataFrame변수.to_csv("result.csv", index=False) Q1)우선 강의중 라벨인코딩시 오브젝트 컬럼의 unique값 중 test에는 있고 train에는 없다면 test와 train을 합쳐서 라벨인코딩 후 나눠야 한다고 말씀해주셨는데요. 방식은 알겠으나 그렇게 되면 data leakege 현상이 있을수 있어 과적합 위험도 있지 않나요? Q2) xgb에는 라벨인코딩기능이 자동탑제된걸로아는데 오브젝트타입 컬럼의 unique값중 test에는 있고 train에는 없는경우에도 작동이 되나요? Q3) # X_tr, X_val를 명시적으로 복사본 생성 X_tr = X_tr.copy() X_val = X_val.copy()이 부분은 오류가 떠서 gpt에게 물어보고 수정 한 것인데요 왜 copy를 적용해야 오류가 안뜨는지 설명해주실수있나요? 지피티가 해주는 설명은 이해가 잘안되네요