묻고 답해요
141만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
작업형3(신 버전) 문의
강의에서 Gender가 범주형변수라 C(Gender)형태로 만들어주셨는데 굳이 C로 감싸지않아도 결과가 같게 나오는거 같길래 그냥 C로 감싸지 않고 출력해도 상관없을까요??다중선형회귀 강의에서 ols에서도 범주형변수를 그냥 넣으면 쓸 수있다고 하신 것처럼 이것도 마찬가지 일까요??
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
작업형 2유형의 전반적인 풀이에 대해 질문드립니다.
from sklearn.preprocessing import LabelEncodercols = train.select_dtypes(include='object').columnsfor col in cols: le=LabelEncoder() train[col]=le.fit_transform(train[col]) test[col]=le.transform(test[col])train = train.drop('ID', axis =1)test_id = test.pop('ID')from sklearn.model_selection import train_test_splitX_tr, X_val, y_tr, y_val = train_test_split( train.drop(['Segmentation'],axis =1), train['Segmentation'], test_size = 0.2, random_state = 2023)from sklearn.ensemble import RandomForestClassifiermodel = RandomForestClassifier(random_state=2023)model.fit(X_tr, y_tr)pred = model.predict(X_val)from sklearn.metrics import f1_scoreprint(f1_score(y_val, pred, average='macro'))pred = model.predict(test)submit = pd.DataFrame({ 'ID': test_id, 'Segmentation' : pred })submit.to_csv("00000.csv", index = False) 안녕하세요!! 저같은경우 시험 합격만을 위한 방법으로 공부를 하고 있습니다. 그래서 작업형 2유형의 경우 어떤 문제가 나와도 동일한 풀이로 풀 수 있도록 한개의 풀이 절차를 위와 같이 외우고 있는데요! object 컬럼이 존재한다는 가정하에 위와 동일한 절차로 f1_score 정도 바꿔가면서 풀었을때 충분히 만점을 받을 수 있는걸까요?여기서 만약 object 컬럼이 없고 수치형 컬럼들로만 구성되어있다면, 라벨인코딩 부분만 빼고 나머지는 그대로 진행해도 되는건가요?만약 위와 같은 풀이를 진행했을때 풀이가 불가능한 경우는 어떤 경우가 있을까요?분류든지 회귀든지 전부 랜덤포레스트를 사용할 계획인데 분류와 회귀는 어떻게 구분해야 할까요? 문제에서처럼 f1_score로 평가하라 이런식의 알려주는게 없다면 랜덤포레스트 유형을 정할때 어떤것을 기준으로 정해야 할까요? 많은 질문 드려서 죄송하지만...꼭 합격하고 싶은 마음에 문의드립니다!! 항상 감사합니다!!
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
작업형2 모의문제 질문입니다 !
학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요!질문과 관련된 영상 위치를 알려주면 더 빠르게 답변할 수 있어요먼저 유사한 질문이 있었는지 검색해보세요1) 작업형2 모의문제1에서 'CLIENTNUM' 컬럼은 왜 삭제되어야 하는건지 이해가 안돼서 질문 드립니다 ! ㅠㅠ 2) 데이터 전처리&피처 엔지니어링 과정에서 아래와 같이 문제에서 주어진 값에 대해 train 데이터에서는 id를 삭제하고, test 데이터에서는 복사하는데요 이러한 과정은 왜 train에서는 삭제를 하고 test 데이터는 복사하는건지 잘 이해가 안되네요ㅠㅠtrain = train.drop('id', axis=1) test_id = test.pop('id') test.head() 3) X_tr, X_val, y_tr, y_val 데이터가 각각 무엇을 의미하는지 헷갈립니다ㅠㅠ 쉬운 설명 부탁드려요ㅠㅠ
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
작업 1, 3유형 답안 제출 관련 질문드립니다!
예전에는 print 해서 f1 이 나와야 했다면, 지금은 답안지 제출란이 따로 있어서 거기에 답만 적어서 제출하는 형식이던데 그러면 df.isnull.sum() 해보고 어 f1이 제일 많네하고 바로 답안지 제출에 f1을 적어도 답이 인정되는거겠죠...??
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
t-test에서 less냐 greater냐
안녕하세요. 만약에 t-test문제가 주어졌을 때..alternative='less'를 줘야할지alternative='greater'를 줘야할지너무 헷갈리네요..ㅠ 이걸 문제 속에서 캐치해낼 수 있는 노하우가 있을까요...ㅠ?
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
6회 기출유형 질문있습니다!!
선생님 안녕하세요 6회 기출 유형을 최대한 혼자서 해결하려했지만, 최대값까진 구했는데 그 값이 포함된 행을 구하는 방법을 몰라서 결국 포기하였습니다...import pandas as pd df = pd.read_csv("data6-1-2.csv") df['총학생수'] = df.iloc[:,2:].sum(axis = 1) result = df['총학생수'] / df['교사수'] result.max() 강의를 보고 idxmax() 이란걸 알게 되었는데 혹시나 이것을 몰랐을 경우에는 위에 제가 적어놓은 풀이에서는 어떻게 풀어나갈 수 있을지 궁금합니다ㅠㅠㅠㅠ
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
검증데이터 분리가 이해가 안가요,,,
학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요!질문과 관련된 영상 위치를 알려주면 더 빠르게 답변할 수 있어요먼저 유사한 질문이 있었는지 검색해보세요 검증데이터 분리가 이해가 가질 않습니다..질문 총 4가지 입니다,, 중간중간 제가 이해한 부분이 맞는지(괄호 후 이해가 맞는지 ? 표현들) 체크 부탁드립니다,, 1)***섹션11 예시문제 작업형 2에서# 검증 데이터 분리from sklearn.model_selection import train_test_splitX_tr, X_val, y_tr, y_val = train_test_split(X_train, y_train['gender'], test_size=0.2, random_state=2022)X_tr.shape, X_val.shape, y_tr.shape, y_val.shape이 작업하기 전에X_train = X_train.drop(['cust_id'], axis=1)cust_id = X_test.pop('cust_id') 이렇게 해서 X_train 안에 cust_id는 삭제하고 X_test의 cust_id는 csv 파일 만들 떄 필요하므로 살려놨는데 검증데이터 분리할 때 train_test_split(X_train, y_train['gender'],여기서 X_train은 타겟값인 gender가 데이터에 없으므로 drop을 안시켜도 된거고 그렇기 떄문에X_train이 그대로 들어간 것이고(<<<이게 맞는 이해인가요?)그리고 뒤쪽에 y_train['gender']은 만약에 y_train데이터 컬럼에 gender가 이미 있으므로 X_train 데이터에 있는 gender를 끌어오지 않고 그대로 사용할 수 있기 떄문에 pop 기능을 안쓰고y_train['gender']를 그대로 쓴건가요?? (<<< 이게 제대로 이해한건가요?) -- 그리고 여기서 왜 cust_id는 drop을 왜 안시킨 건가요? 밑에 질문 4)에서는 'ID'를 drop하는 작업을 하면서 검증데이터 분리 했는데 여기서는 cust_id를 drop 안시킨 이유가 있는건가요? --- 아 이건 drop 하고 pop 했네요!! 밑에 질문 3) 에서는 ID drop과 pop작업을 왜 안한건지 궁금합니다! 2) 5회 기출유형 2에서 수치형 활용 부문에서도검증데이터 분리하는데from sklearn.model_selection import train_test_split X_tr, X_val, y_tr, y_val = train_test_split(train, y_train, test_size=0.2, random_state=2022)여기서도 그러면 train 데이터 컬럼에는 price가 있고 test 데이터 컬럼에는 price가 없기 떄문에train 컬럼에 있는 price를 끌어다가 y_train에 저장한 건가요?근데 그러면 train에서는 price를 drop 하는작업 --> train.drop('price', axis=1) 이걸 안해도 돼서 그대로train을 쓴 건가요?( << 이게 맞는 이해인건지?)그러면 뒤쪽에 y_train은 왜 그대로 쓴건가요? 검증데이터 분리 전에 pop 작업해서 y_train에 저장했는데 그러면 검증데이터 분리 뒤쪽에는 y_train['price'] 이렇게 들어가야 맞는거 아닌가요? 3)4회 기출유형2에서 마지막 고급단계에서 검증데이터 분리 안한 이유가 있나요?? 강의에서는 라벨인코딩 for문으로 안풀고 다른 방법으로 하셨는데 만약에 라벨인코딩 하고 for문으로 하고나서 검증데이터 분리 하고 fit하고 pred하는 코드를 알 수 있을까요?4회 기출유형 작업형2에서 검증데이터 분리 안했는데 라벨인코딩 for문까지 하고 그 다음에 검증데이터 분리로 코드 실행한다고 하면from sklearn.model_selection import train_test_splitX_tr, X_val, y_tr, y_val = train_test_split( ____, ____, test_size=0.1, random_state=2022)이렇게 한다고 하면 저 빈칸에 들어가는 게 뭔가요? train 컬럼과 test 컬럼에 모두 ID가 있는데 제출 형식이 ID와 Segmentation이기 때문에둘다 ID drop 작업을 안했던데 그래서 인건가요? 밑에 4) 질문에서는 'ID' drop 작업 했는데 왜 여기서는 같은 ID drop 작업과 pop 작업을 안한건가요? ( << 이게 제가 제대로 이해한건지?)만약 4) 작업형 모의문제3 처럼 ID도 drop과 pop을 헀고 위에 질문 1)에서도 cust_id도 drop과 pop작업을 헀는데 4회 기출유형2에서는 왜 ID drop작업과 pop 작업을 안한건가요?train = train.drop('ID', axis=1)test_id = test.pop('ID') <<< 이 두가지를 해줘야 하는거 아닌가요? 그럼 위에 빈칸 고급 단계에서 검증데이터 분리하기 전에target = train.pop('Segmentation')test_id = test.pop('ID')이 두 작업을 실행한 후에앞에가 타겟데이터를 제외한 값이고 뒤에가 타겟데이터이면앞에는 train.drop('Segmentation', axis=1), target['Segmentation'] 이 들어가는게 맞나요? 4)작업형2 모의문제3 에서train 컬럼에는 id와 output이 있고test 컬럼에는 id는 있지만 output 이 없습니다제출형식은 id output인데,검증데이터 분리에서 앞쪽에는 train 컬럼의 output을 drop시켰고, 뒤쪽에는 train데이터의 output을 그대로 썻습니다여기서는 왜 pop하는 과정을 안거친건지 궁금합니다target = train.pop('output') 을 검증데이터 분리 하기 전에 실행했다면검증데이터 분리에서 뒤쪽에는 어떤 값이 들어가야 하나요?? train = train.drop('id', axis=1) test_id = test.pop('id') # 나중에 id값이 csv파일 만들 때 필요해서 id를 살려주는 작업 test.head()from sklearn.model_selection import train_test_split X_tr, X_val, y_tr, y_val = train_test_split(train.drop('output', axis=1), train['output'], test_size=0.15, random_state=2022)
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
5회 기출유형 질문 > between 사용
정상체중: BMI 18.5이상 ~ 23미만과체중 또는 위험체중: BMI 23 이상 ~ 25미만cond1 = (df['bmi'] >= 18.5) & (df['bmi'] < 23) cond2 = (df['bmi'] >= 23) & (df['bmi'] < 25)혹시 이거를 between을 사용해서 cond1 = df['bmi'].between(18.5,23) cond2 = df['bmi'].between(23,25)이렇게 하고 싶은데 between은 시작과 끝점을 모두 포함하는건지 만약 시작은 포함하고 마지막은 포함하지 않게 하려면 어떻게 해야 하는지 궁금합니다!!
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
회귀 prediction 관련 데이터 크기 오류 질문
안녕하세요, 5회 작업형을 풀면서 궁금한게 생겨 질문 드립니다.from sklearn.model_selection import train_test_split X_tr,X_val,y_tr,y_val = train_test_split(train,y,test_size = 0.1,random_state= 2022) #modeling # randomForestRegressor, XGBRegressor from sklearn.ensemble import RandomForestRegressor #RandomForest model = RandomForestRegressor() model.fit(X_tr, y_tr) pred = model.predict(X_val) print("rmse:", (mean_squared_error(y_val,pred))**0.5)이 과정에서는 문제가 생기지 않습니다. X_tr, y_tr 그리고 X_val로 만들어진 pred, y_val의 크기가 각각 일치하기 때문인데 제출을 위해 pred = model.predict(test) print("rmse:", (mean_squared_error(y,pred))**0.5) # y는 test data에서 pop한 타겟(=price)이걸 돌리면 사이즈가 맞지 않아 rmse가 나오지 않는다고 합니다. 그도 당연한게 test = pred 는 애초에 train데이터보다 숫자가 훨씩 적은 상태고, y는 train데이터에서 와서 데이터 개수가 훨씬 크기 때문인데요.전에 똑같은걸 풀어서 그 때는 어떻게 해결했나 보니 y데이터를 따로 주셨더라구요 그건 test data와 크기가 같았고요.근데 https://www.kaggle.com/competitions/big-data-analytics-certification-kr-2023-5th/data여기에는 y데이터 값이 존재하지 않는데 이런..경우는 어떻게 해결하나요?? 정리하자면, pred의 데이터 사이즈와, 타겟의 데이터 사이즈의 불균형으로인한 rmse 오류를 어떻게 해결하는지 궁금합니다! 아, 그리고 concat 관련 질문도 있습니다.#get dummies train_c = pd.get_dummies(train[cols_c],dtype=int) #cols_c는 범주형 데이터 columns list test_c = pd.get_dummies(test[cols_c],dtype=int) #concat train = pd.concat([train,train_c],axis = 1) test = pd.concat([test,test_c],axis = 1) train = train.drop('transmission',axis =1 ) test = test.drop('transmission',axis =1) train = train.drop('fuelType',axis =1 ) test = test.drop('fuelType',axis =1) 제가 get_dummies를 활용해서 one-hot 인코딩을 했는데요, train[cols_c] = pd.get_dummies(train[cols_c],dtype=int) 이것도.. 사실 새로운 컬럼들이 만들어지는거라 안된다는 판단하에, 아예 새로운 변수에다가 저장해서 원래 데이터에 추가를 했습니다.저는 회귀를 돌리기 위해 (그리고 원핫인코딩을 한 이유도) 범주형 데이터는 없애야 되잖아요? 그래서 train, test데이터 각각에서 기존 train[col_c]에 해당하는 애들이 없어졌으면 좋겠는데이런 상황에서 위와 같이 .. 주먹구구식으로 하나씩 안 빼고 한번에 (one-hot 인코딩 + 싹 합치는) ..방법이 있나요???
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
작업형 2번 라벨인코딩 질문
실기 2회의 작업형 2번에서X_train, y_train, X_test로 데이터가 구성 되어 있는데X_train의 데이터를 라벨인코딩 하려고 하니깐 y should be a 1d array, got an array of shape (8799, 4) instead.이런 내용의 에러 메세지가 떴습니다. 모델의 타겟 변수인 'y'가 2차원 배열이 아닌 1차원 배열이어야 한다는 내용입니다. # 라벨인코딩 제가 작성한 코드입니다.cols = ['Warehouse_block', 'Mode_of_Shipment', 'Product_importance', 'Gender'] from sklearn.preprocessing import LabelEncoder le=LabelEncoder() X_train[cols] =le.fit_transform(X_train[cols]) X_test[cols] = le.transform(X_test[cols]) 질문1X_train, y_train, X_test로 데이터가 구성 되어있으면 무조건X_train, y_trian을 합쳐서 라벨인코딩을 해야하나요?질문2합치지 않고도 쉽게 할 수 있는 방법이 있나요?
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
data leakage관련해서 질문드립니다!
안녕하세요 선생님 다름이 아니라 test의 결측치를 대체할 때 data leakage 문제로 인해 train의 평균값이나 중위수로 대체해주시는걸 보고 궁금한게 있어 질문드립니다. 최빈값 같은 경우는 train의 최빈값으로 안하고 test의 최빈값으로 대체해주셨는데 데이터 누수를 방지하려면 최빈값도 똑같이 train의 최빈값으로 해주는 것인지 아니면 범주형 변수는 상관 없고 수치형 변수만 train값으로 해주는 것인지 궁금합니다.
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
선생님 4회 기출 문제 작업형2에서요
모델 학습 RandomForestClassifier 사용 할 때 이번엔 predict_proba 가 아니라 prodict만 사용 했는데.. predict 과 predicproba 사용 차이 점이 있을까요 ? 계속 필사만 하고 있는데... 점점 그 차이가 헷갈립니다.
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
csv 파일 한글이 깨져요..
선생님이 배포해 주신 자료 한글이 깨져서 보입니다 ㅠㅠ그래서 이런식으로 파일 불러오는 과정에서 오류가 발생합니다..어떻게 해결해야할까요?
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
X_test 결측치 질문
X_test 결측치를 채울때 'age' 와 'hours.per.week' 컬럼은 왜 X_test의 평균이 아니라 X_train으로 채우나요? 단순 오타인가요?
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
특정컬럼에 결측치가 있으면 데이터(행) 삭제??
학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요!질문과 관련된 영상 위치를 알려주면 더 빠르게 답변할 수 있어요먼저 유사한 질문이 있었는지 검색해보세요데이터 전처리 인터넷 강의를 들으며 궁금한게 있어 질문드립니다.'특정컬럼에 결측치가 있으면 데이터(행) 삭제'라는 의미가 무엇인지 모르겠고 왜 사용해야하는지 모르겠습니다. 즉, df = X_train.drona(axis =0)과 무슨 차이가 있는지 모르겠고 이걸로만 해결하면 될 것 같습니다. 제가 이해한 것은, native.country 칼럼에서만 결측치를 지우고 싶을 때 사용하면 되는 것인가요? 그리고 이렇게 사용해야 데이터의 정확도가 높아진다고 보면 될까요? 두서없이 작성하느라 죄송합니다 ㅠㅠ
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
독립성 검정
학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요!질문과 관련된 영상 위치를 알려주면 더 빠르게 답변할 수 있어요먼저 유사한 질문이 있었는지 검색해보세요독립성 검정시 데이터 프레임 만들때 인댁스 안만들어도 된다고 하셧는데 감점안되나요? 최대한 간단하게 ㅇ외우려고 하는데 뺄수있는건 빼고싶어서요
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
시험에서 데이터 생성하는 것도 나올 수 있는건가요?
학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요!질문과 관련된 영상 위치를 알려주면 더 빠르게 답변할 수 있어요먼저 유사한 질문이 있었는지 검색해보세요 7번 문제 데이터 생성문 이해가 어렵고,index_col="Unnamed: 0" 도 뭔지 모르겠어요ㅠㅠ
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
concat 후 라벨인코딩시 질문이에요
학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요!질문과 관련된 영상 위치를 알려주면 더 빠르게 답변할 수 있어요먼저 유사한 질문이 있었는지 검색해보세요df = pd.concat([X_train,y_train['Reached.on.Time_Y.N']],axis=1)cols = X_train.select_dtypes(include='object').columnsfor col in cols :le = LabelEncoder()X_train[col] = le.fit_transform(X_train[col])X_test[col] = le.transform(X_test[col]) x_train과 y_train을 합치는 이유는 x_train 에는 값을 가지고 있지 않지만 y_train에는 값을 가질 수도 있기 때문에 합치는 거라고 배웠던 것 같은데 맞나요? 그렇다면cols = X_train.select_dtypes(include='object').columns해당구문은cols = df.select_dtypes(include='object').columns이렇게 합쳐진 df에서 cols를 구해야 할 것 같다고 생각이 드는데 틀렸나요 ?혹은 해당 데이터는 x_train과 y_train 컬럼 값에 차이가 없기 때문에 X_train로 그냥 진행이된건가요 ?! 제가 이해한게 맞는지 잘 모르겠어서 질문합니다.
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
캐글 T1-19 질문
이 코드에서 밑에 두줄의 코드가 뜻하는 바를 알고싶습니다.위에 함수정의(def)코드를 주석처리해도 답은 나오던데윗코드랑 아랫코드는 같은 의미인가요?풀이 영상이나 강좌가 있다면 알려주세요 ㅠㅜ
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
단답형이 아직도 있나요?
작업형 1,2,3으로 변경되지 않았나요?단답형, 작업형1, 작업형2가 아직 유지인가요?