묻고 답해요
141만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
독립성 검정
안녕하세요?독립성 검정강의에서문제를 꼬아서 낸다고 하면 데이터를 정제된 데이터로 바꾸는 데이터 프레임으로 만드는거 혹시 어떻게 하면 좋을지 잘 모르겠어요 ㅠㅠdf.groupby('근무지')['근무기간'].sum() 해서 합계는 다 구하겠는데, 데이터 프레임으로 만드는건 피봇 기능을 써야할것 같은데...
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
결측치 처리
중앙값을 사용하여 결측치를 채울 때, 훈련 데이터와 테스트 데이터에서 동일한 중앙값을 사용(훈련데이터의 중앙값을 테스트 데이터에 사용)하면 되나요?
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
2회 기출유형 작업형 2 id 값 오류 질문 드립니다.
# 랜덤포레스트 from sklearn.ensemble import RandomForestClassifier rf=RandomForestClassifier(random_state=2023) rf.fit(X_tr,y_tr) pred=rf.predict_proba(X_val) pred=rf.predict_proba(X_test) pd.DataFrame({'ID':X_test['ID'],'Reached.on.Time_Y.N':pred[:,1]}).to_csv('dddd.csv',Index=False)위 코드로 실행 시 , 아래 ID값에 대한 오류가 나와 오류 해석 및 해결방법 문의드립니다,, KeyError Traceback (most recent call last) /usr/local/lib/python3.10/dist-packages/pandas/core/indexes/base.py in get_loc(self, key, method, tolerance) 3801 try: -> 3802 return self._engine.get_loc(casted_key) 3803 except KeyError as err: 4 framespandas/_libs/hashtable_class_helper.pxi in pandas._libs.hashtable.PyObjectHashTable.get_item() pandas/_libs/hashtable_class_helper.pxi in pandas._libs.hashtable.PyObjectHashTable.get_item() KeyError: 'ID' The above exception was the direct cause of the following exception: KeyError Traceback (most recent call last) /usr/local/lib/python3.10/dist-packages/pandas/core/indexes/base.py in get_loc(self, key, method, tolerance) 3802 return self._engine.get_loc(casted_key) 3803 except KeyError as err: -> 3804 raise KeyError(key) from err 3805 except TypeError: 3806 # If we have a listlike key, _check_indexing_error will raise KeyError: 'ID'
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
작업형2 모의문제1 출력오류
안녕하세요.강사님 작업형2 모의문제1의 피드백을 통해 문제를 해결할 수 있었습니다. 하지만 출력했을 때, 값이 정상적으로 나오긴하나 오류메시지도 함께 떠서 실제 시험에서 괜찮은지 여쭤봅니다..아래는 코드 및 출력화면입니다.감사합니다.
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
5회 기출유형 (작업형2)
안녕하세요! 강의 복습중 질문 드립니다.1) 평가방법이 RMSE 라는건 출제자가 제가 작성한 코드를 채점할때 RMSE 를 사용하여 채점한다는건가요? 아니면 수험자가 코드작성시 RMSE를 사용하여 평가한 결과물을 제출해야하는건가요? ㅠㅠ (즉, 평가방법이 작성한 코드안에 꼭 포함이 되어야하는지 궁금합니다..!)2) 제기준 최대한 간단하게 코드를 작성해보았는데.. 답변에 쓰여있는 결과물과 예측값의 수치가 선생님이 작성하신 코드의 답변과는 살짝씩 다릅니다 ㅠㅠ 각자 작성한 코드의 설정에 따라서 예측값이 조금씩 상이한걸까요? 아니면 제 코드에서 틀린부분이 있을까요?제가 작성한 코드는 아래와 같습니다# 데이터 불러오기 import pandas as pd train = pd.read_csv("train.csv") test = pd.read_csv("test.csv") #데이터확인하기 #train(3759,9), #test(1617,8) #인코딩 from sklearn.preprocessing import LabelEncoder cols = train.select_dtypes(include = 'object').columns for col in cols: le = LabelEncoder() train[col] = le.fit_transform(train[col]) test[col] = le.transform(test[col]) #데이터분리 from sklearn.model_selection import train_test_split x_tr,x_val,y_tr,y_val = train_test_split(train.drop('price',axis=1),train['price'],test_size=0.2,random_state=2022) #모델링 from sklearn.ensemble import RandomForestRegressor model = RandomForestRegressor(random_state=2022) model.fit(x_tr,y_tr) pred = model.predict(x_val) #평가 #예측 pred = model.predict(test) #저장 pd.DataFrame({'price':pred}).to_csv('result.csv',index=False) pd.read_csv('result.csv') 결과물 : price 0 15523.21 1 16663.56 2 14343.95 3 18657.40 4 6353.98 ... ... 1612 11539.81 1613 17506.87 1614 9601.09 1615 14062.15 1616 4549.09 1617 rows × 1 columns 답변에 있는 결과물 : pred 0 15434.26 1 15676.44 2 14335.40 3 18634.28 4 6329.75 ... ... 1612 11524.45 1613 17570.62 1614 9965.65 1615 14391.21 1616 5023.73
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
모의고사 풀어보기2 csv파일 내보내기 중
안녕하세요. 강의 잘 듣고 있습니다. csv 파일 내보낼 때(강의)pd.DataFrame({ 'index': test.index, 'target':pred }).to_csv("____.csv", index=Faslse)< 나> reset_index()쓰고 해도 되는지 궁금합니다.# 내보내기 submit = pd.DataFrame({ 'target': pred }).reset_index().to_csv("result.csv", index = False)<나 결과>--"Unnamed:0" ?submit = pd.DataFrame({ 'target': pred }).to_csv("result.csv")reset_index()도 안 쓰고 csv 파일 내보내기 할때.. .false도 안 쓰니 "Unnamed:0"이라는 칼럼이 생겼습니다. 얘는... result.csv에서 자동으로 만들어낸 인덱스? 인가요? submit에 넣어준 칼럼도 아닌데 왜 생기는건가요?
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
예시문제 신용카드 데이터 문제 문의
# 출력을 원하실 경우 print() 함수 활용 # 예시) print(df.head()) # getcwd(), chdir() 등 작업 폴더 설정 불필요 # 파일 경로 상 내부 드라이브 경로(C: 등) 접근 불가 # 데이터 파일 읽기 예제 import pandas as pd X_test = pd.read_csv("data/X_test.csv") X_train = pd.read_csv("data/X_train.csv") y_train = pd.read_csv("data/y_train.csv") # 사용자 코딩 # 답안 제출 참고 # 아래 코드 예측변수와 수험번호를 개인별로 변경하여 활용 # pd.DataFrame({'cust_id': X_test.cust_id, 'gender': pred}).to_csv('003000000.csv', index=False) # print(X_test.shape, X_train.shape, y_train.shape) # print(X_test.isnull().sum()) # print(X_test['환불금액'].describe()) # print(X_train.isnull().sum()) # print(y_train.isnull().sum()) # print(X_test.shape, X_train.shape, y_train.shape) # print(X_train.isnull().sum()) X_test['환불금액'] = X_test['환불금액'].fillna(0) X_train['환불금액'] = X_train['환불금액'].fillna(0) # print(X_train.isnull().sum()) # print(X_test.shape, X_train.shape) # print(X_test.describe(include ='object')) # print(X_train.describe(include ='object')) # print(X_test.shape, X_train.shape) # con_data = X_train.concat(X_test.) print(X_test.shape, X_train.shape) cust_ID= X_test.pop('cust_id') X_train = X_train.drop('cust_id',axis =1) y_cust_ID = y_train.pop('cust_id') print(X_test.shape, X_train.shape) print(y_train.head()) X_com = pd.concat([X_test, X_train],axis=0) X_com = pd.get_dummies(X_com) print(X_com.shape) X_test = X_com.iloc[0:2482,:] X_train = X_com.iloc[2482:5982,:] print(X_test.shape, X_train.shape,y_train.shape) from sklearn.model_selection import train_test_split X_tr, X_val, y_tr, y_val =train_test_split(X_train,y_train,test_size =0.1,random_state =0) print(X_tr.shape, X_val.shape, y_tr.shape, y_val.shape) import lightgbm as lgm model = lgm.LGBMClassifier() model.fit(X_tr, y_tr) pred = model.predict_proba(X_val) 마지막에서 오류가 발생했습니다.DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().return f(*args, **kwargs) # from sklearn.ensemble import RandomForestClassifier# rf = RandomForestClassifier()# rf.fit(X_tr, y_tr)# pred = rf.predict_proba(X_val)랜덤 포레스트로 돌려도 같은 오류가 발생합니다어떤걸 잘못한건가요?
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
작업형1 모의문제2 질문있습니다.
자료형 타입이 object 컬럼 삭제 시강의내용처럼 따로 col에 데이터 선택하지 않고df=df.drop(df[['id','city','f3','f4','subscribed']], axis=1) 위처럼 코딩해도 되는가요?
-
미해결[EduAtoZ] 빅데이터분석기사 실기 (with Python)
강의 자료 문의
섹션 5. Step4. 통계적 검정의 정규성 검정 실습 강의에서 사용하는 'Bigdata_S5_모수검정' 코랩 파일은 어디서 찾을 수 있나요?
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
작업형2모의문제1 / 평가 (predict/predict_proba)질문
안녕하세요. 작업형2 모의문제1에서 평가 시roc_auc_score를 쓸 때는 predict_proba와,roc_auc_score(y_val, pred[:,1])형태를, 나머지 평가 방법을 쓸 때는 predict와(y_val, pred)형태를 쓰시던데요!! 문제에서 신용카드 이탈 확률을 찾는거라 predict_proba라고 생각했는데,그냥 predict를 쓰는 것은 평가 방법 때문인가요? (일단 roc제외한 평가에는 predict를 쓰고 마지막 제출 시 proba로 다시 예측하는건지?) 수치형 컬럼 전처리에서col=['age', 'bmi', 'children'] <-수치형 컬럼나열from sklearn.preprocessing StandardScalerscaler=StandardScalertrain[col]=scaler.fit_transform(train[col])test[col]=scaler.transform(test[col])형태로 전처리를 하면keyError: "None of [Index(['age', 'bmi', 'children'], dtype='object')] are in the [index]"이런 에러가 자꾸 발생하는데 어디가 잘못된건지 궁금합니다!!
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
작업형2 결측치 대체
선생님 안녕하세요!작업형 2 유형 예시문제 관련해 질문이 있습니다.▲ '환불금액' 결측치 대체 전▲ '환불금액' 결측치 대체 후'환불금액' 결측치가 기존에는 float형이었는데 중앙값으로 대체하니 object형으로 바뀌었는데, 이렇게 하는게 맞는지 궁금합니다.그리고 다음과정인 범주형 → 수치형으로 바꿀때 '환불금액'도 바꿔야하나요?매번 양질의 강의 제공해주셔서 감사합니다!
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
작업형2) 캐글 t2-4 houseprices예측 문제 질문드립니다
안녕하세요! 캐글 질문을 올려도되는지 모르겠으나,,ㅠㅠ 질문할 곳이 없어 한 가지만 여쭤보려고 합니다 https://www.kaggle.com/code/agileteam/t2-4-house-prices-regression/notebook이 문제에서 마지막에 csv파일 만드실 때id값을 y_test.Id로 넣으시던데요! 수험자에게 y_test데이터가 주어지는 건가요..?그동안은 x_test데이터에서 id등을 불러와서 썼는데, 이 문제처럼 x_test데이터에 그 값이 없으면 y_test에서 불러오면 되는걸까요..? 강의와 무관한 질문 죄송합니다ㅠ
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
3회 기출유형(작업형2) 코드 (lightgbm 관련)
import pandas as pd train = pd.read_csv("train.csv") test = pd.read_csv("test.csv") pd.set_option('display.max_columns', None) # print(train.head()) # print(test.head()) # print(train.info()) # print(test.info()) from sklearn.preprocessing import LabelEncoder cols = train.select_dtypes(include='object') le = LabelEncoder() for col in cols : train[col] = le.fit_transform(train[col]) test[col] = le.transform(test[col]) # print(train.head()) # print(train.info()) train = train.drop('Unnamed: 0',axis=1) test = test.drop('Unnamed: 0', axis=1) from sklearn.model_selection import train_test_split X_tr, X_val, y_tr, y_val = train_test_split(train.drop(['TravelInsurance'],axis=1),train['TravelInsurance'],test_size=0.2,random_state=0) # print(help(train_test_split)) from sklearn.ensemble import RandomForestClassifier rf = RandomForestClassifier() rf.fit(X_tr, y_tr) pred = rf.predict_proba(X_val) # print(pred) import lightgbm as lgb model = lgb.LGBMClassifier() model.fit(X_tr, y_tr) lgb_pred = model.predict_proba(X_val) from sklearn.metrics import roc_auc_score # print(roc_auc_score(y_val, pred[:, 1])) # print(roc_auc_score(y_val, lgb_pred[:, 1])) res = model.predict_proba(test) submit = pd.DataFrame({'index': test.index, 'y_pred': res[:, 1]}) submit.to_csv('950326.csv', index=False) print(pd.read_csv('950326.csv'))lightgbm을 randomforest와 비교해서 두 가지 정도만 준비해가려고 작업형 2를 다시 풀고있습니다.LightGBM을 쓰려고 하니 아래와 같은 오류가 발생했습니다.'LightGBMError: Do not support special JSON characters in feature name.' 이게 혹시나 다운로드 파일의'Unnamed: 0' 컬럼 때문인가 해서 drop해보고 코드를 작성하니 정상적으로 돌아가더군요.train = train.drop('Unnamed: 0',axis=1) test = test.drop('Unnamed: 0', axis=1) LightGBM은 컬럼에 특수문자가 있으면 안 되는 게 맞는지 확인 한 번만 부탁드립니다!
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
작업형2 모의문제1 오류 문의
안녕하세요. 작업형2 모의문제1를 스스로 코딩하는 과정에서 발생한 오류를 해결하지 못하겠습니다..다음은 제가 작성한 코드파일입니다.정확도, 정밀도, 재현율, F1 출력 시 오류가 발생한 것을 볼 수 있으며, 문제점을 파악하기 어렵습니다...피드백 부탁드립니다..감사합니다.
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
워닝 메시지 !
<ipython-input-94-20cf5f2ccdef>:9: FutureWarning: Index.__or__ operating as a set operation is deprecated, in the future this will be a logical operation matching Series.__or__. Use index.union(other) instead.문제를 풀고서 답을 구했는데 이런식으로 워닝메시지가 뜨는데요! 답은 정확히 똑같이 나왔는데 워닝메시지가 뜨면 시험 상황에서 혹시 코드를 고쳐야 할까요? 아니면 워닝 메시지가 나와도 답은 똑같이 출력되면 그냥 제출해도 상관이 없나요?
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
코드 이렇게 해도 될까요?
# 피처 엔지니어링 - date에 쫌 안맞아서 해보겠음 cols1 = list(X_train.columns[X_train.dtypes == object]) # 범주형 cols2 = list(X_train.columns[X_train.dtypes != object]) # 수치형 # 수치형 변수의 스케일링 - 값이 안맞는 것은 범주형 데이터에서만 나타나기 때문에 데이터를 나누기전 수치형 데이터부터 먼저 처리해준다. from sklearn.preprocessing import RobustScaler Ro = RobustScaler() X_train[cols2] = Ro.fit_transform(X_train[cols2]) X_test[cols2] = Ro.transform(X_test[cols2]) # X_train행의 길이 알아두기 a = len(X_train) #17290 # 범주형 변수의 더미 인코딩 combined = pd.concat([X_train, X_test]) # 훈련 데이터와 테스트 데이터 합치기(위아래로) combined = pd.get_dummies(combined[cols1]) # 다시 훈련 데이터와 테스트 데이터로 분리 X_train = combined.iloc[:a] X_test = combined.iloc[a:]
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
라벨인코딩과 원핫인코딩 후, 데이터 크기 비교
안녕하세요. 데이터 인코딩 관련하여 궁금한 점이 있어서 질문남기게 되었습니다.선생님께서 알려주신대로, 인코딩을 필수로 진행하되, 라벨인코딩과 원핫인코딩은 선택하여 자유롭게 진행하여도 학습에 문제가 없다고 이해하였습니다. 예시문제를 라벨인코딩과 원핫인코딩으로 둘다 진행하던 중, 라벨인코딩시에는 X_train데이터와 X_test데이터의 컬럼 수가 동일하여 학습에 문제가 없었으나, 원핫인코딩을 진행하니 X_train데이터와 X_test 데이터의 컬럼 수가 달라져서 학습 시, 오류가 발생하는 점을 확인하였습니다. 어떤 점이 문제이며, 원핫인코딩을 이용하려고 한다면 어떻게 접근해야할지 여쭤볼 수 있을까요? 라벨인코딩 시 X_train, X_test의 shape => (3500,9), (2482,9)원핫인코딩시 X_train,X_test의 shape => (3500,73), (2482,72) => 컬럼 수가 일치하지않아 학습 시, 에러 발생import pandas as pd pd.set_option('display.max_columns',None) X_test = pd.read_csv("data/X_test.csv") X_train = pd.read_csv("data/X_train.csv") y_train = pd.read_csv("data/y_train.csv") # 사용자 코딩 # print(X_train.info(),X_test.info()) # 결측치 처리 # print(X_train.isnull().sum()) X_train['환불금액'] = X_train['환불금액'].fillna(0) X_test['환불금액'] = X_test['환불금액'].fillna(0) X_test_id = X_test.pop('cust_id') X_train = X_train.drop(['cust_id'],axis = 1) # 1. LabelEncoder cols = X_train.select_dtypes(include='object').columns from sklearn.preprocessing import LabelEncoder le = LabelEncoder() for col in cols: X_train[col] = le.fit_transform(X_train[col]) X_test[col] = le.transform(X_test[col]) print(X_train.shape,X_test.shape) # 2. one-hot Encoder X_train = pd.get_dummies(X_train) X_test = pd.get_dummies(X_test) print(X_train.shape,X_test.shape) X_train = X_train.drop('cust_id',axis =1) 과 X_train = X_train.drop(['cust_id'],axis =1)를 각각 실행하였을 때, 에러없이 cust_id 컬럼이 동일하게 삭제되는 점을 확인했는데 혹시 drop시 컬럼명에 대괄호를 묶고 안묶고의 차이가 있을까요??
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
Lightgbm 에러
코랩에서는 정상적으로 작동을 하는데, 구름에서 에러메시지가 뜹니다. import lightgbm as lgbModuleNotFoundError: No module named 'lightgbm' 어떻게 해야하나요?
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
type2-2nd 관련 질문
X_train = X_train.drop('ID', axis=1) X_test_id = X_test.pop('ID') X_test.head() 중간에 트레인 데이터에서 ID 컬럼을 삭제하는데, 이 과정을 생략해도 문제가 될까요?
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
RandomForestClassifier 에 관련하여
여러 가지 분석 모델이 존재하는데(대표적으로 랜덤포레스트 그 외에도 xgboost, 디시젼트리, 로비스틱 회귀 등)경우에 따라 다르겠지만 랜덤포레스트만 사용해도 될까요?(하이퍼파라미터 튜닝은 한다는 가정하에) 물론 여러 방법 해보면 정확도 높은 걸로 할 수 있어서 좋겠지만, 외우는게 부담인 것 같아서요 그리고 전처리 후에 라벨인코딩 vs 원핫인코딩 등 여러 방법이 있는데어떤 상황에선 뭐로 하는게 좋다 이런 공식은 따로 없는 것일까요?