안녕하세요. 강사님, 수업을 잘 듣고 있습니다! 다름이 아니라 spark_xgboost_lightgbm에서 버전이 바뀌면서 앞선 댓글을 통해 SparkXGBClassifier로 수정하여 해결은 하였으나, 새로 바뀐 XGB에서는xgb_model.feature_importances 이부분이 나오질 않아서, 혹시 SparkXGBClassifier의 featureImportances 를 보려면 어떻게 해야하는지 from mmlspark.lightgbm import LightGBMClassifier import mlflow lgbm_classifier = LightGBMClassifier(featuresCol="features", labelCol="label", numLeaves=100, maxDepth=10, numIterations=100) lgbm_model = lgbm_classifier.fit(train_sdf) -> 이부분부터 값이 나오질 않습니다. 오류메시지 org.apache.spark.SparkException: Job aborted due to stage failure: Task 4 in stage 73.0 failed 1 times, most recent failure: Lost task 4.0 in stage 73.0 (TID 285) (ip-번호.us-west-2.compute.internal executor driver): java.lang.NoSuchMethodError: com.microsoft.ml.lightgbm.lightgbmlib.new _doubleArray(J)Lcom/microsoft/ml/lightgbm/SWIGTYPE_p_double; 이 두부분에 대해서 문의 드립니다!
- 기출문제 3회 8번 문제 중 문항 2번이 틀렸다고 했는데요.. 왜 틀린 건지? 잘 이해가 가지 않습니다. 법 문항을 찾아봐도 큰 차이가 없는데요.. 설명 요청 드립니다. 2번 문항 : 개인정보처리자는 개인정보를 익명으로 처리하여도 개인정보 수집 목적을 달성할 수 있는 경우 익명에 의하여 처리 하여야 한다....??? 맞는 것 같은데요..
안녕하세요 강사님, 오늘 빅분기 6회 실기 시험을 치르고 나왔는데요 (생각보다 어려웠네요 ㅠ) 빅데이터 분석기사 2유형의 0점유형에 '예측값 정확도가 평가지표 최저 구간 미만 : 0점' 이라고 적혀있는데, ' 평가지표 최저 구간'이라는 의미가 어떻게 되는지 알 수 있을까요? 분류 문제가 나와서 처음에는 RandomForestClassifier로 예측했고, 요구하는 평가지표(f1-macro)로 돌려봤더니 train 데이터에서 분리(train_test_split)한 validation 데이터 0.9이상이 나와서 과적합인 것 같아서 강사님께서 얼마전 알려주신 lightgbm으로 바꾼 다음에 하이퍼파라미터 수정해보니 0.8정도 나와서 분류 예측 후 제출하였습니다. 그런데 빅데이터 관련 카페 글 보니, 대부분 랜포로 돌린다음에 0.9이상인 상태에서 분류 후 제출했다고 하네요 그러면서 빅데이터 카페에 어떤 분이 train 데이터에서 분리한 train 과 validation 데이터 모두 평가지표가 높게 나오면 과적합이 아니라는 얘기를 들었습니다...ㅠ 평가지표 최저 구간이라는 의미가 각 모델의 하이퍼파라미터를 건드리지 않고 그냥 모델을 예측했을 때의 평가지표 일까요? (예를 들면 LGBMClassifier의 하이퍼파라미터 없는 상태에서 0.9면 기준이 0.9가 되는건지...) 이게 맞다면 저는 0점이겠네요..ㅠ, lightgbm도 아무런 하이퍼파라미터 없이는 0.9이상이였거든요.. 무튼, 덕분에 많은 것들 배울 수 있어서 감사했습니다! +글 작성후 추가 구글 Bard 한테 물어봤더니... train, validation 데이터 모두 0.9 이상 인 경우 과적합으로 볼 수 있냐는 질문을 했더니 아래와 같이 답변이 나오기는 했네요.. <답변> 네, train 데이터와 validation 데이터 모두 해당 모델에 대한 평가지표가 0.9인 경우에도 과적합이 발생할 가능성이 있습니다. 과적합은 모델의 복잡성이 너무 높아서 train 데이터에만 적응하는 상태를 말합니다. train 데이터와 validation 데이터 모두 해당 모델에 대한 평가지표가 높다는 것은 모델이 train 데이터에 너무 적응하여 그 외의 데이터에는 제대로 대응하지 못하는 상태일 가능성이 높습니다.
시험 전에 여쭤봤어야 하는 질문인데 뒤늦게 여쭤보네요 Train test split 사용하여 tr 과 val 로 나누어서 model.fit 하여서 f1 score 확인 하였고 그 이후에 test 를 바로 predict 하여 제출 하는게 아니라 혹시 Tr 과 val 을 나누기 전의 전체 train 데이터로 다시 fit 시켜서 그 모델로 Test 데이터 를 predict 해도 되는지 궁금 합니다
6회 시험 1 유형 1번 타임델타 사용 질문입니다 _m _s 로 분과 초를 추출했는데 위쪽에 위치한 프린트문 주석처리 여부에 따라 아래쪽에 출력한 저의 답의 결과가 달랐습니다 ㅠ 뭐가 문제였을지 궁금합니다 ㅠ 참여데드라인 넘기고 공부시작하는바람에 캐글 오징어게임 톡방에도 못들어가서 이런 얘기 여쭤볼데가 없네요 ㅠ 시험중 1대1문의에 물어보니 첨엔 컴퓨터 오류 아니라구 하다가 재차 물어보니 해당내용 확인중이라고하구 그냥 답을 제출하라그래서 찾은 답을 프린트하는 하드코딩으로 제출했습니다 ㅠㅠㅠ 흑.... 0점 처리되는거 아닌지 걱정되네요
제5회 작업형 2유형 가지고 풀어봤습니다. 선생님 덕분에 깔끔하게 쓸 수 있게 됐네요. 작년에는 개념을 아예 모르고 냅다 암기만 해서 얼마나 당황했는지..;; str(df) df$model <- as.factor(df$model) df$year <- as.factor(df$year) df$transmission <- as.factor(df$transmission) df$fuelType <- as.factor(df$fuelType) str(df) inx <- createDataPartition(df$price, p = 0.7, list = F) train <- df[inx,] test <- df[-inx,] model1 <- randomForest(price~.,data=train) p1 <- predict(model1, test) rmse(p1, test$price) tst$model <- as.factor(tst$model) tst$transmission <- as.factor(tst$transmission) tst$fuelType <- as.factor(tst$fuelType) tst$year <- as.factor(tst$year) df <- df[,-2] tst <- tst[,-2] model2 <- randomForest(price~.,data=df) p2 <- predict(model2, tst) result <- data.frame(pred = p2) write.csv(result, 'C://r/result.csv', row.names=FALSE) result_check <- read.csv('result.csv') result_check 이런 식으로 선생님께서 알려주신 방법대로 했었는데, randomForest 모델 만들고 tst 데이터에다가 predict 적용할 때 에러가 났었습니다. Type of predictors in new data do not match that of the training data. ?predict, ?predict.randomForest 둘 다 해봐도 도통 원인을 모르겠어서 결국 인터넷 검색을 해봤더니 factor가 너무 종류가 많아서 일어나는 문제라고 하더군요;; 그래서 앞으로 돌아와서 df <- df[,-2] tst <- tst[,-2] 두 행 추가해서 20개의 factor를 가진 year 칼럼을 삭제하고 다시 돌렸더니 그땐 됐습니다. train, test가지고 나눠서 해봤을 때 rmse가 1521이라고 나왔습니다만 회귀 문제라 좋은 건지 어떤지 모르겠더라구요. rpart보다 randomForest에서 rmse가 더 낮았으니까 성능이 더 좋다 이런 상대적인 판단만 가능했습니다. 비슷하게 19개의 factor를 가진 model 칼럼을 날려버릴지 year 칼럼을 날려버릴지 고민됐는데 어느 쪽이 더 성능이 좋을지는 시험에 나온 데이터셋 가지고 해봐야겠네요. 범주형 데이터 다 넣어보고 빼보고 rmse 해서 비교해보겠습니다. 결론은.. 회귀 문제가 나왔고 randomForest 모델 썼는데 predict에서 Type of predictors in new data do not match that of the training data.이런 에러가 나오면 factor가 너무 많은 칼럼을 과감하게 날려버리자! 였습니다. 제대로 판단한 건지 모르겠습니다만 혹시 벼락치기로 기출 풀어보시는 분들 있다면 공유차 글 작성합니다.
1번에서 "(치료 후 혈압-치료 전 혈압)의 평균" 이기 때문에 강의에 설명해 주신 a['bp_after'].mean() 이 아니고 (a['bp_after']-a['bp_before']).mean().round(2) 여야 맞지 않나 싶은데... 맞을까요..? 1번부터 답이 틀리면 2,3,4 가 모두 틀릴 거 같아서요! 궁금합니다.
안녕하세요 드디어 내일이네요 작업형 3유형이 어떻게 나올지 몰라 조금 걱정이 되면서 이것저것 다시 복습하고 있었는데, 가설검정을 하기 위한 전제 조건으로는 데이터의 정규성과 등분산을 검정 해야 한다고 알고 있습니다. (shapiro, levene) 이 때 도출 된 p값이 유의수준(알파) 보다 높아야 귀무가설이 채택되며 가설검정을 할 수 있는데, 작업형 예시 3유형 쌍체표본(ttest_rel) 검정 시, 강의영상에는 뮤값(이후혈압 - 이전혈압)에 대해 따로 검정(정규성, 등분산)을 안 하셨던데 정석대로라면 해야 하는게 맞는건가요? (당연히 문제에는 가설검정이 진행을 할 수 없도록 문제는 내지 않겠지만요) 만약 정규성과 등분산 검정해서 귀무가설이 기각 되면 ( 정규성이나 등분산을 만족하지 못하면 ), 어떻게 진행을 해야 할까요? (윌콘슨 검정 등을 통해 진행 해야 하는건지요?) 첫 유형이라 예시문제 정도 수준으로 나올 것 같긴한데, 준비를 하면 할 수록 더 걱정이 되네요 ㅎ
학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! 질문과 관련된 영상 위치를 알려주면 더 빠르게 답변할 수 있어요 먼저 유사한 질문이 있었는지 검색해보세요 작업형3 예시문제 1번 표본평균 구하는 문제 관련 질문드립니다. 1번 표본평균을 구할 때, df['diff'] 열을 만든 후에 바로 평균을 구한 값으로 제출하면 된다고 하셨는데 이 부분이 이해가 안 가 문의드립니다. (df['diff'] = df['bp_after'] - df['bp_before']) 뮤 값이 (치료 후 혈압 - 치료 전 혈압)의 평균값 이면df['diff']의 평균 값을 구한 후에 그 값을 다시 평균을 내야하는게 아닌가 해서요! 감사합니다.
[코드 1] b = a.groupby(['neighbourhood_group','neighbourhood']).size().reset_index(name = '컬럼의 갯수') b = b.groupby(['neighbourhood_group'], as_index=False).max() print(b) [코드 2] b = a.groupby(['neighbourhood_group','neighbourhood']).size().reset_index(name = '컬럼의 갯수') b = b.sort_values('컬럼의 갯수', ascending=False) b = b.groupby('neighbourhood_group').head(1) 코드1번과 코드 2번의 결과값이 다른 이유가 무엇인지 모르겠습니다 ㅠㅠ