묻고 답해요
160만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
유형2 관련 질문입니다
기출에서는 train, test 모두에 결측치가 없었는데요 혹시 결측치가 있는 데이터가 주어지면 어떻게 해야하는지 궁금합니다. 아래 케이스별로 궁금하고 object 결측치인지 수치형 결측치인지에 따라서도 다르게 해야 할까요? train 에만 결측치가 있는 경우 test 에만 결측치가 있는 경우 train/test 모두에 결측치가 있는 경우
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
New_data의 ols & predict
new_data를 생성하고 ols 모델로 predict하려고 할 때, 다음 두 가지 중에 아무거나 써도 되나요?model.get_prediction(new_data)model.predict(new_data)
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
test predict이 먹히지 않습니다.
# 최종 제출 파일 (lightGBM) pred = lg.predict(test) submit=pd.DataFrame({'pred':pred}) submit.to_csv("result.csv",index=False) 아래처럼 feature가 맞지 않아서 에러가뜹니다. 강의 그대로 했는데 왜그러는 걸까요?? --------------------------------------------------------------------------- ValueError Traceback (most recent call last) /tmp/ipython-input-50-2529582812.py in <cell line: 0>() 1 # 최종 제출 파일 (lightGBM) ----> 2 pred = lg.predict(test) 3 submit=pd.DataFrame({'pred':pred}) 4 submit.to_csv("result.csv",index=False) 2 frames /usr/local/lib/python3.11/dist-packages/lightgbm/sklearn.py in predict(self, X, raw_score, start_iteration, num_iteration, pred_leaf, pred_contrib, validate_features, **kwargs) 1008 n_features = X.shape[1] 1009 if self._n_features != n_features: -> 1010 raise ValueError( 1011 "Number of features of the model must " 1012 f"match the input. Model n_features_ is {self._n_features} and " ValueError: Number of features of the model must match the input. Model n_features_ is 28 and input n_features is 8
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
작업형3
학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요!질문과 관련된 영상 위치를 알려주면 더 빠르게 답변할 수 있어요먼저 유사한 질문이 있었는지 검색해보세요작업형 3 핵심만 듣고 가야될것같은데..추천해주세요...
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
작업형1 문제3
‘age’ 컬럼의 이상치를 설정하는 과정에서왜 & 가 아니고 | 을 사용하는 건가요?
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
작업형2 데이터 전처리 방법
작업형2에서 데이터 전처리할 때라벨인코딩or원핫인코딩 후 랜포 or lightGBM만 준비해서 가려고 하고 기출 계속 돌려보고 있는데아직 어떤 경우에 라벨인코딩이 적합하고, 원핫인코딩이 적합한지 구분이 안됩니다1)어떤 데이터들일때 어떤 인코딩이 적합한건지 궁금합니다!(+현재는 오브젝트타입 라벨인코딩해서 모델 학습한거랑 원핫인코딩해서 모델 학습한거랑 각각 비교해보고 수치 더 좋은걸로 선택했었습니다..!)2)그리고 항상 데이터 전처리(라벨or원핫인코딩) 전에 target 컬럼 먼저 train에서 복사해서 옮겨놓고 그 후에 데이터전처리를 하는게 맞는걸까요??
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
라벨 인코딩에서 set 반드시 비교해야 하나요?
시험 환경 작업형2 문제에서 라벨 인코딩을 하기 전에, set을 통해서 train과 test의 unique를 확인하보고 "train이 test를 포함하기 때문에 합칠 필요가 없다"고 말씀을 하셨는데요.혹시 시험을 볼 때 그것까지 미처 확인해보지 못하고 그냥 다음과 같이 진행을 했을 때 문제가 생길까요..?cols = ['주구매상품', '주구매지점'] from sklearn.preprocessing import LabelEncoder for col in cols: le = LabelEncoder() train[col] = le.fit_transform(train[col]) test[col] = le.transform(test[col])
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
2유형 랜덤스테이트 조정 관련 문의드립니다.
안녕하세요2유형 랜덤스테이트 조정 관련 문의드립니다.2025 제2유형 조정중random_state=100으로 했을때(697.4336570027904)0으로 했을때(819.4568839902439) 같은모델에 다른거 조정한거 하나없이 train_test_split과 랜덤포레스트의random_state만 조정한것으로저렇게 RMSE가 차이나는데어떤게 최적인건가요? random_state조정으로 저정도 차이나는거에 어떻게 수치를 조정하는게 가장 좋은지 궁금합니다.
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
예시문제 작업형2 질문있습니다.
실제 시험을 볼때는 뭔가 정신이 없을거같아서train과 test의 unique값 차이 여부 생각하지 않고그냥 무조건 train과 test를 concat으로 합치고 레이블 인코딩 진행한 후 train과 test를 분리하고자 하는데이렇게 진행해도 괜찮을까요?데이터 누수(?), 과적합가능성 있다고 들어서 질문드립니다.
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
예시문제 작업형 3
이 문제 검정통계량 값을 구할 때, f_oneway를 활용하면은 집단이 2개밖에 없기 때문에 안되는 건가요? 선생님이 말씀해주신 풀이방법으로만 풀어야 할까요?
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
문제2-2, 2-3) 독립변수 CustomerID 사용에 따른 답 변화
문제 2-2, 2-3 정답이 로지스틱 회귀 모형을 만들때 CustomerID를 독립변수로 넣을때와 넣지 않을때의 정답이 달라지는데 확실한 정답이 있을까요 ??
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
lightGBM 전 인코딩
안녕하세요. Chat gpt에서 lightGBM 전에는 아래와 같이 코딩을 해주면 된다고 하는데, 책이나 강의에서는 랜덤포레스트와 동일하게 원핫 인코딩이나 라벨인코더를 사용하고 있습니다.어떻게 하는게 맞는건가요? train = train.astype('category') test = test.astype('category')
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
마인드맵 감사합니다.
2.0은 확실히 더 좋아진 것 같습니다.유형 1, 2는 세로로 길이가 너무 길어서 보기 힘든데 2페이지로 나눈 버전도 만들어주실 수 있나요?
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
유형 2 질문... 지수표기법 ->일반 형태로
학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요!질문과 관련된 영상 위치를 알려주면 더 빠르게 답변할 수 있어요먼저 유사한 질문이 있었는지 검색해보세요유형 2 질문... 전처리 전에 print(train['total'].describe())지수표기법 ->일반 형태로 꼭 바꿔야 하나요??
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
실기시험 환경 답안제출화면 메모장
실제 실기시험 환경에서, 답안제출화면에도 체험환경처럼 메모장이 없나요?
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
from sklearn.metrics import root_mean_squared_error
학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요!질문과 관련된 영상 위치를 알려주면 더 빠르게 답변할 수 있어요먼저 유사한 질문이 있었는지 검색해보세요결론부터 말씀드리면, scikit-learn 버전 1.4 이상부터는 root_mean_squared_error 함수를 직접 import해서 사용할 수 있습니다.과거에는 RMSE를 계산하기 위해 mean_squared_error를 불러와 제곱근을 취해야 했지만, 최신 버전에서는 더 직관적으로 사용할 수 있게 함수가 추가되었습니다.사용 방법 (scikit-learn 1.4 이상)아래와 같이 바로 import하여 사용하시면 됩니다. 라는데.. 시험칠 때 바로 적용 가능한가요?아니면 강의내용처럼 mse에 함수 만들어야 하나요? 유형 2 질문입니다. ㅜㅠㅠ
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
8회 작업형2
train = train.drop('customerID', axis=1) test = test.drop('customerID', axis=1) target = train.pop('TotalCharges') train = pd.get_dummies(train) test = pd.get_dummies(test) from sklearn.model_selection import train_test_split X_tr, X_val, y_tr, y_val = train_test_split(train, target, test_size=0.2, random_state=0) print(X_tr.shape, X_val.shape, y_tr.shape, y_val.shape) from sklearn.ensemble import RandomForestRegressor rf = RandomForestRegressor(random_state=0) rf.fit(X_tr, y_tr) pred = rf.predict(X_val) # print(pred) from sklearn.metrics import mean_squared_error mse = mean_squared_error(y_val, pred) print(mse) pred = rf.predict(test) result = pd.DataFrame({'pred':pred}) result.to_csv('result.csv', index=False) print(pd.read_csv('result.csv')) print(pd.read_csv('result.csv').head()) print(pd.read_csv('result.csv').shape)원핫인코딩, 랜덤포레스트로 진행했는데mse 값이 1561363.7676789626크게 나오는데 이렇게 진행해도 괜찮을까요?제출파일의 pred값을 확인해보면 선생님이 하셨던 라벨인코딩, lgbm pred 예측값과는 차이가 별로 나지는 않습니다
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
제2유형 실기
name, ID 등 드랍해도 되는가? 풀이해주신 강의를 쭉 보면 어떤 항목은 드랍했고, 예를들어 랜포로 한번에 푸는 강의에서는드랍은 없었는데, 당장 내일 시험이라면 드랍없이 가도 괜찮을까요? 드랍안했다고해서 0점맞지는 않겠죠?
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
예시문제 작업형 2
카테고리가 달라서 concat 하는게 번거로우면아래 해설로 진행하면 해결되는건가요? train, test = train.align(test, join='left', axis=1, fill_value=0)원핫인코딩: train = pd.get_dummies(train)test = pd.get_dummies(test)
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
모의문제 작업형 2 코드 ㅠㅠㅠ 제가 작성한 코드에 어디에 문제가 있는것일까요?
import pandas as pdtrain = pd.read_csv("data/customer_train.csv")test = pd.read_csv("data/customer_test.csv")#print(train.shape, test.shape)#결측치 채우기train['환불금액']=train['환불금액'].fillna(train['환불금액'].median())test['환불금액']=test['환불금액'].fillna(test['환불금액'].median())# print(train.isnull().sum())#범주형컬럼 카테고리 수 확인하기cols=train.select_dtypes(include="O").columnsprint(cols)for col in cols: same=set(train[col].unique())==set(test[col].unique()) print(col,same)train=train.drop('회원ID',axis=1)test=test.drop('회원ID',axis=1)target=train.pop("총구매액")mid=len(train)#데이터 합치고 인코딩 후 다시 분할하기df=pd.concat([train,test],axis=0)print(df)#라벨인코딩하기from sklearn.preprocessing import LabelEncoderle=LabelEncoder()for col in cols: df[col]= le.fit_transform(df[col])# print(df.head(8))#다시 나누기train=df.iloc[:mid].copy()test=df.iloc[mid:].copy()print(train.shape, test.shape)#민맥스스케일링(추후)#train데이터 분할하기from sklearn.model_selection import train_test_splitX_tr, X_val, y_tr, y_val=train_test_split(train,target, test_size=0.2, random_state=100)# #모델구축(1) #707.539# from sklearn.ensemble import RandomForestRegressor# model=RandomForestRegressor(random_state=100)# model.fit(X_tr, y_tr)# pred=model.predict(X_val)#모델구축(2) 705.1955import lightgbm as lgbmodel=lgb.LGBMRegressor(random_state=0, verbose=-1)model.fit(X_tr, y_tr)pred=model.predict(X_val)#성능평가RMSEfrom sklearn.metrics import root_mean_squared_errorprint(root_mean_squared_error(y_val, pred)) 성능평가한 값이 선생님 결과랑 터무니없이 차이가 많이 나네요 ㅠㅠ어디가 잘못된걸까요