작업2유형 - 4회 기출 질문 드립니다
미해결
빅데이터분석기사 실기대비 (R 활용)
안녕하세요, 4회 기출 주신 자료를 따라서 코딩 하고 있는데 confusionMatrix 결과값이 다르게 강의 파일과 다르게 나옵니다. 'cm1$byClass'를 넣어도 에러 메세지가 나오고요. 확인 부탁 드립니다. 감사합니다 [confusionMatrix 시행 결과 화면]
- 빅데이터
173만명의 커뮤니티!! 함께 토론해봐요.
미해결
빅데이터분석기사 실기대비 (R 활용)
안녕하세요, 4회 기출 주신 자료를 따라서 코딩 하고 있는데 confusionMatrix 결과값이 다르게 강의 파일과 다르게 나옵니다. 'cm1$byClass'를 넣어도 에러 메세지가 나오고요. 확인 부탁 드립니다. 감사합니다 [confusionMatrix 시행 결과 화면]
해결됨
[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
안녕하세요~ 계속 반복한 끝에 미숙하게나마 직접 데이터를 가공해서 모델을 만들어서 돌려보는 데까지 성공했습니다. 정말 좋은 강의 감사합니다. 저 같은 경우에는 name, host_id, host_name, last_review, reviews_per_month 이런 결측치가 많거나 object인 컬럼들은 모두 날려줬고 LabelEncoer, MinMaxScaler를 사용해서 피처엔지니어링을 해줬습니다. 그렇게 해서 평가에 사용한 모델은 RandomForestRegressor 고요. 다른 결과치들은 선생님께서 방송 중에 만들어주신 모델에 비해서 살짝 살짝 낮지만… 그래도 결과값이 나오긴 나와서 다행이라고 생각하고 있는데요. (정말 고맙습니다!) 딱 하나 아래 mape 요 놈은 결과값이 inf로 나옵니다. MAPE(Mean Absolute Percent Error) 요건 Inf - 아마 무한대겠죠? 분모에 해당하는 수가 0에 가까워서 그런 게 아닐까 싶기도 한데요. 이 평가지표를 쓰라고 한다면 MinMaxScaler는 쓰면 안 되는 걸까요? 요게 영향을 주지 않았을까 싶어서요. 출근을 해야해서 일단 생각을 여기까지 해보고 퇴근하고 다시 올려보겠습니다. 랜덤포레스트 모델하고 LightBGM 요렇게 두 가지만 쓰려고 작정하고 준비하고 있습니다. 그럼~
미해결
[핵집] 2025 빅데이터 분석기사(실기)_작업형 1·2·3유형
Part2. 작업형 3유형 >> 실습(T검정) > 쌍체표본 T- 검정 질문 강의내용 중 stats.ttest_rel(df['before_spr'], df['after_spr'], alternative = 'greater') alternative = 'greater' 로 했는데 이유를 잘 모르겠습니다. greater 면 X1( before_spr ) 이 더 크나는것이 아닌가요? 귀무가설 H0 : (살충제 뿌린 후 곤충수 - 살충제 뿌리기전 공충수) >0 이기에 alternative = 'less'로 해야 하지 않나요? - 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.
해결됨
[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
안녕하세요! 작업형 2 모의문제 2의 마지막에 csv파일을 제출할 때 에러가 발생하는데, 어떤 이유인지 찾아봐도 안보여 질문드립니다. 그리고 작업형 2유형의 train과 test데이터 파일만 주어진 경우, 어떤 문제는 n_train, c_train, n_test, c_test로 나누는 문제가 있고 그렇지 않은 문제들이 있어서 헷갈립니다ㅠ 그래서 문제를 읽고 데이터를 분리해야하는 상황이 궁금합니다! import pandas as pd train = pd.read_csv('train.csv') test = pd.read_csv('test.csv') # print(train.head()) # print(test.head()) # print(train.info()) 1. 불필요한 컬럼제거 2. 결측치 대치 3. 인코딩 4. 스케일링 # print(test.info()) train = train.drop(columns ='id') test_id = test.pop('id') # print(test_id) cols = ['host_id','neighbourhood_group','neighbourhood','name', 'host_name', 'last_review'] # print(train.shape) train = train.drop(cols, axis =1) test = test.drop(cols, axis =1) # print(train.shape) # train = train.drop(columns ='host_id') # test = test.drop(columns ='host_id') # train = train.drop(columns ='neighbourhood_group') # test = test.drop(columns ='neighbourhood_group') # train = train.drop(columns ='neighbourhood') # test = test.drop(columns ='neighbourhood') # train = train.drop(columns ='name') # test = test.drop(columns ='name') # train = train.drop(columns ='host_name') # test = test.drop(columns ='host_name') # train = train.drop(columns ='last_review') # test = test.drop(columns ='last_review') # print(train.info()) # print(test.info()) # print(train.isnull().sum()) # print(test.isnull().sum()) train['reviews_per_month'] = train['reviews_per_month'].fillna(0) test['reviews_per_month'] = test['reviews_per_month'].fillna(0) # print(train.isnull().sum()) # print(test.isnull().sum()) #라벨 인코딩 from sklearn.preprocessing import LabelEncoder cols =train.select_dtypes(include = 'object').columns for col in cols: encoder = LabelEncoder() train[col] = encoder.fit_transform(train[col]) test[col] = encoder.transform(test[col]) # print(train.info()) # print(test.info()) # print(train.describe()) # print(test.describe()) # 스케일링 from sklearn.preprocessing import minmax_scale cols2 = train.select_dtypes(exclude = 'object').columns for col in cols2: train[col] = minmax_scale(train[col]) cols2 = test.select_dtypes(exclude = 'object').columns for col in cols2: test[col] = minmax_scale(test[col]) # print(train.describe()) # print(test.describe()) from sklearn.model_selection import train_test_split X_train, X_val, y_train, y_val = train_test_split(train.drop('price', axis=1), train['price'], test_size=0.2, random_state=20) # print(X_train.head()) from sklearn.ensemble import RandomForestRegressor rf = RandomForestRegressor() rf.fit(X_train, y_train) pred = rf.predict(X_val) # print(pred) #id,price sumit = pd.DataFrame({'id': test_id, 'price' : pred}) submit.to_csv('10004.csv', index=False)
해결됨
[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
안녕하세요. 우선 좋은 강의 너무 감사드립니다. 3회 기출유형(작업형2) 코드 인코딩 방법 관련 질문드립니다. 풀이 영상에서 원핫인코딩 방법을 선택해주셨던데 시험 문제를 풀때 1)원핫인코딩을 할지 2)라벨인코딩을 할지는 어떤 정보를 보고 선택하나요? 저는 라벨 인코딩이 익숙해서 아래 처럼 작성했는데 인코딩 방식이 무관하다면, 아래처럼 라벨인코딩으로 진행해도 될지 문의드립니다. # 수치형 데이터와 범주형 데이터 분리 n_train = train.select_dtypes(exclude=object).copy() c_train = train.select_dtypes(include=object).copy() n_test = test.select_dtypes(exclude=object).copy() c_test = test.select_dtypes(include=object).copy() cols = c_train.columns for col in cols: le = LabelEncoder() c_train[col] = le.fit_transform(c_train[col]) c_test[col] = le.transform(c_test[col]) c_train.head()
미해결
빅데이터분석기사 실기대비 (R 활용)
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 기본적으로 [ , ] 사용한 인덱싱과 셀렉트 함수를 사용하여 인덱싱 하는것의 차이점이과 사용시 더 유용한 경우가 있을까요? 혹시 가독성이 더 좋아서일까요?
해결됨
[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
안녕하세요 강사님 교차검증을 통해 하이퍼파라미터를 사용할 때, 분류모델인 랜덤포레스트 외에도 의사결정나무, XGBOOST, 회귀모델인 로지스틱 등 전 모델에 동일하게 사용이 가능한가요? random_state의 값을 다른 값을 찾을 필요없이 0으로 고정해도 괜찮을까요? 기존방식대로 검증 데이터를 분리하여 하이퍼파라미터 최적 값을 찾는 방법은 없을까요? 하이퍼파라미터를 사용하지 않고 기존방식으로 검증 데이터를 분리 후 성능지표가 가장 좋은 모델을 사용하는 방식으로 해도 점수감점이 없을까요? 4가지 질문에 대한 답변을 해주시면 감사합니다.
해결됨
[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
df.sum() 과 sum(df) 차이가 무엇인지 질문드립니다.
미해결
빅데이터 분석기사 시험 실기(Python)
매 강의 초반에 나오는 화면자료는 강의에 따로 안올려주신거죠?
해결됨
[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
캐글 글자가 너무 작아서 안보이는데 크기 설정 어떻게 하나요?
해결됨
[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
'(삭제 예정 콘텐츠) 회귀모형'라는 강의가 있는데 빅데이터분석기사 실기 시험에 필요한 내용일까요? 수강해야 되는지 몰라서 질문드립니다.
미해결
빅데이터 분석기사 시험 실기(Python)
밑줄 부분이 계속 나오고 그 다음이 안넘어가집니다. 저장하고 해도 소용이 없네요 ㅠㅠ 어떻게 해결할 수 있을까요??
해결됨
[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
Ligthgbm을 쓰면 결측치 처리가 필요없고, 범주형 데이터 인코딩도 필요없다고 하셨는데 트리 관련 모델이라 수치형 변수 스케일링도 딱히 필요가 없고, 이상치 처리에 대해서도 딱히 필요가 없나요??
해결됨
[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
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.shape, test.shape) # print(train.head()) # print(test.head()) # print(train.info()) # print(test.info()) cols = train.select_dtypes(include='object') for col in cols : train[col] = train[col].astype('category') test[col] = test[col].astype('category') # 이걸 안 하면 lgb.predict(test) 구문에서 에러남 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=2023) import lightgbm lgb = lightgbm.LGBMRegressor(random_state = 2023) lgb.fit(X_tr, y_tr) pred = lgb.predict(X_val) from sklearn.metrics import r2_score, mean_absolute_error, mean_squared_error # print("r2 : ", r2_score(y_val, pred)) #0.2392705394376351 # print("mae : ", mean_absolute_error(y_val, pred)) #71.81171796246842 # print("mse : ", mean_squared_error(y_val, pred)) #63344.209788490516 pred_res = lgb.predict(test) pd.DataFrame({'price': pred_res}).to_csv('result.csv', index=False) print(pd.read_csv('result.csv')) y_test = pd.read_csv("y_test.csv") print(r2_score(y_test, pred_res)) #0.22012967580409581 안녕하세요, 딴짓님 lightGBM 모델 설명 주셔서 적용해보았는데요. 이렇게 하는 게 맞을까요? for col in cols : train[col] = train[col].astype('category') test[col] = test[col].astype('category') 이 부분을 하지 않으면 에러가 나긴 하더라구요. train[col]을 하지 않으면 아래와 같은 에러메시지가 나옵니다. 'DataFrame.dtypes for data must be int, float or bool. Did not expect the data types in the following fields: name, host_name, neighbourhood_group, neighbourhood, room_type, last_review' test[col]을 하지 않으면 아래와 같은 에러메시지가 나옵니다. 'train and valid dataset categorical_feature do not match.' lightGBM모델은 데이터 타입이 int, float, bool 이 세가지만 허용하게 되어 object 타입을 category 타입으로 변경 train만 변경해주면 test[col]을 하지 않았을 때와 같은 에러메시지가 출력되니 test도 category로 변경 이게 맞을까요? 평가지표 같은 것도 주석으로 작성했는데, lightGBM을 이렇게 사용하는 것이 맞는지 확인 한 번 부탁드립니다!
해결됨
[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
작업형2 수치형데이터 인코딩 MinMaxScaler로 열심히하다가, 작업형1 min-max scale 문제에 위 수치형데이터 인코딩을 하면서 순간 혼돈이 왔었는데요, MinMaxScaler와 min-max scale의 preprocessing 차이가 궁금합니다..!
해결됨
[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
안녕하세요 강사님 모의문제3 작업형1 7번 출력 시 발생한 오류를 해결하지 못해 질문드립니다. 강사님의 코드와 비교했을 때 iloc/loc만 다를뿐 나머지는 동일한 코드인데 출력값이 202로 다릅니다... 어떤 문제가 있어서 그럴까요? 그리고 이외의 2가지 질문 더 있습니다..! 실제 시험에서 평가지표(R-Squared, MAE, MSE, RMSE, RMSLE, MAPE)의 수치를 나타내어야 하는가요? 만일 그렇다면, 다음과 같이 함수로 만들 수 있도록 모두 외워야하나요? 아니면 시험환경에서 주어지나요? 작업형2에서 csv파일은 만들어서 제출 후 오류가 있음을 발견해 다시 csv파일을 만들어서 제출해도 상관이 없을까요? 시험칠 때 코드에서 주석다는 것은 큰 문제 없을까요? 긴 질문이지만 답변해주시면 감사합니다...ㅜ
해결됨
[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
회귀는 rmse, 분류는 roc 등으로 평가가 있는데, 실제 시험에서 평가 없이 바로 제출해도 무방한가요 ?
해결됨
[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
안녕하세요. 큰 도움 받고 있습니다. 감사합니다!! 다름이 아니라 유형별로 답안 제출할 때, 작업형1: print() 작업형3: 별도의 답안 입력창에 답 입력 하여 제출하는 것으로 알고 있는데, 2유형은 제출 전 마지막 행을 어떤 내용으로 끝내야 하는지 헷갈려서요. pd.DataFrame().to_csv() 식의 파일 저장으로 제출하면 될까요?
해결됨
[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
from sklearn.model_selection import train_test_split X_tr,X_val,y_tr,y_val=train_test_split(train.drop('Attrition_Flag',axis=1),train['Attrition_Flag'],test_size=0.2,random_state=2023) from sklearn.ensemble import RandomForestClassifier rf=RandomForestClassifier(random_state=2023) rf.fit(X_tr,y_tr) pred=rf.predict_proba(X_val) from sklearn.metrics import accuracy_score # 정확도 print(accuracy_score(y_val, pred[:,1])) --------------------------------------------------------------------------- ValueError Traceback (most recent call last) <ipython-input-63-aa6b6ce781f8> in <cell line: 10>() 8 9 # 정확도 ---> 10 print(accuracy_score(y_val, pred[:,1])) 2 frames /usr/local/lib/python3.10/dist-packages/sklearn/metrics/_classification.py in _check_targets(y_true, y_pred) 93 94 if len(y_type) > 1: ---> 95 raise ValueError( 96 "Classification metrics can't handle a mix of {0} and {1} targets".format( 97 type_true, type_pred ValueError: Classification metrics can't handle a mix of binary and continuous targets 혹은 print(accuracy_score(y_val, pred)) 실행 시, 오류2번 Classification metrics can't handle a mix of binary and continuous-multioutput targets 해당 코드로 제출까지는 잘 되고 있습니다. 그러나 정확도 측정 시 오류가 발생하여, 제출에 문제가 있는 것인가 불안하여 오류 현상 문의드립니다..!
해결됨
[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
평가 지표를 이용해 점수 확인 시, train점수가 높지만 test 점수가 낮을 때 과대적합이 발생했다고 판단하고, max_depth와 n_estimators를 조금씩 조절해야한다고 알고 있습니다! 그런데, 조절 시 점수 판단 기준이 궁금합니다. 예를 들어 accuracy 사용 시, train - 1.0 , test - 0.9xxx 정도로 점수가 나오면 train점수를 낮춰가면서라도 test와 비슷해지도록 맞춰나가야 하는 것인가요?! 아니면 train과 test가 현저히 차이날 때만 조절하면 될까요? ㅠㅠ 이론적인 지식이 부족해서 어떻게 처리해야하는지 감이 잡히질 않아 질문드립니다. 항상 감사드립니다 : )