묻고 답해요
143만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
데이터셋 ID(고유번호) 인코딩 질문
안녕하세요, 강사님!8회 작업형 2 문제에서, customerID 컬럼은 중복된 ID값이 없이 모두 고유한 값이어서 제거를 해도 상관없지만,중복값이 있는 ID는 제거를 하면 안된다고 하셨는데요!그렇다면, 실제 시험에서 중복값이 있는 ID가 나온다면 그 컬럼은 전처리를 하지 않고 그냥 두어도 상관없을까요? 상황1)중복값이 있는 ID컬럼이 'object'값일때제거를 하는게 나을까요? 아니면 int형으로 변환하여 모델학습에 넣어야할까요? 또는 라벨인코딩을 해야하는 것일까요? 상황2)중복값이 있는 ID컬럼이 'int/float'값일때제거하는게 나을까요? 라벨인코딩을 할 필요가 없으니 그냥 두어도 괜찮을까요?
-
미해결빅분기 실기! 최신 기출 풀이로 한 방에 합격하기(파이썬)
2유형 train_test_split 관련 질문드립니다!
안녕하세요, 강사님.2유형 train_test_split 관련 질문이 있어 글 적습니다. 제가 깊은 이해보다는 2유형에서 기본만 확실하게 해서 40점을 얻는 것이 목표입니다.그래서 랜덤 포레스트 모델로 기본적인 과정만 진행하고 정답을 제출하려고 합니다.불필요 칼럼 제거, 결측치 대체, 라벨 인코딩 정도를 진행한 후train_test_split을 test size 0.2로 할 계획이었습니다. 그런데 생각해보니,train_test_split을 쓰는 이유 자체가 현업의 실제 데이터 분석에서는 test 데이터라는 것이 따로 없으니 기존 데이터를 분할해서 일부는 학습, 일부는 검증을 하기 위해 쓰는 것이라고 이해되는데,빅데이터분석기사 실기 2유형에서는 애초에 학습하라고 준 train 데이터와 검증 예정인 test 데이터를 주는데,왜 굳이 train 데이터를 train_test_split로 분리를 해서 fit시킨 모델로 결과를 제출해야 하는 것인지 이해가 되지 않습니다. 그냥 train 데이터를 분리하지 않고 전부 fit시켜 제출하면 되지 않나요? 저도 여러 커뮤니티에서 관련 글들을 찾아 보았는데, 그렇게 하면 과적합 우려가 있다는 얘기들이 많은데 이 부분에 관련해서 강사님 같은 전문가의 설명이 필요해서 질문드립니다. 애초에 과적합 우려가 있다는 의견들은 test 데이터가 train 데이터와 분포나 이런 것들이 거의 일치한다는 가정이 있어야 하는 것 아닌가요? 그리고 처음 말씀드렸듯이 '빅데이터분석기사 실기 2유형 40점 취득'을 목표로 했을 때,train_test_split(test size 0.2)를 fit한 모델을 제출하는 것이 맞을까요?train_test_split 없이 전체 train 데이터를 fit한 모델을 제출하는 것이 맞을까요?
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
판다스 설정이 무엇인가요???
학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요!질문과 관련된 영상 위치를 알려주면 더 빠르게 답변할 수 있어요먼저 유사한 질문이 있었는지 검색해보세요지수표기법은 숫자 뒤에 e-10 이렇게 나오는거 일거 같은데,컬럼 전체보기는 무슨말인가요?? head 쳤을때 컬럼 개수가 많으면 중간에 .... 으로 생략되는걸 다 본다는건가요???
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
views값을 대체해야하는데
저는 코드를 이렇게 작성을 해보았는데,import pandas as pd df = pd.read_csv("https://raw.githubusercontent.com/lovedlim/inf/refs/heads/main/p1/members.csv") df = df.sort_values('views',ascending = False) df.loc[:21,-1] = 9690.0 ->이렇게 입력을 하니 views컬럼의 값들이 9690.0으로 대체 되는 것이 아니라 , views컬럼의 값들은 그대로 있고, -1이라는 컬럼이 옆에 하나 더 생성 되는데 어떻게 해야하나요?ㅜㅜdf.head(13) # cond = df['age'] >= 80 # print(df[cond]['views'].mean())
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
회귀모델링 평가시
작업형 2 모의문제 2에서 평가 부분에R-Squared, MAE, MSE 등 다양하게 알려주셨는데mean_squared_error 와 r2_score 정도만 쓸줄알아도 상관없나요?
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
작업형 3 질문입니다.
회귀계수 중 가장 큰 값을 묻는 문제에서 model.param을 실행시켰을 때Intercept가 제일 크다면 Intercept가 정답인가요?
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
회귀/분류 문제 구분
회귀문제인지 분류문제인지 구분하는 팁이 궁금합니다.
-
미해결[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
현시점에서 작업형1 노답
안녕하세요 강의 잘 보고있습니다.작업형1 캐글에 올려주신 연습문제들 계속 막혀서 풀지를 못하는데, 현 시점에서 작업형1 어떻게 하는게 좋을까요? 작업형 2랑 3은 어느 정도 이해해서 외우면 될 것 같은데 작업형1은 도무지 괄호안에 어떤 값을 넣어야 하고, 어떤 괄호를 써야하는지 헷갈립니다. 현시점에서 작업형1을 어떻게 해야 최대한 점수를 끌어올릴 수 있을지 조언 부탁드립니다🥲 감사합니다.
-
미해결[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
코랩사용시 코드가 미리 예상으로 나와있는데
이거 안나오게 하는 설정방법이 있을까요??저는 안보고 치고 싶은데 ㅠㅠㅠ자꾸 미리 예측하고 내용이 떠서요
-
미해결[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
predict 시
model.predict(data) 와 model.get_prediction(data)의 차이가 무엇인가요?
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
RMSLE 함수 질문
회귀모델의 평가방법 중 RMSLE 함수를 외우려고 했는데요. 쉽지가 않습니다. 좀 더 간단한 방법 없을까요..?def rmsle(y_test, y_pred): #RMSLE return np.sqrt(np.mean(np.power(np.log1p(y_test) - np.log1p(y_pred), 2)))
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
작업형2 모델링 및 평가 순서
안녕하세요, 강사님작업형2 회귀 모델 모델링 및 평가를 해보면서 궁금한 점이 있어 질문드립니다.작업형2에서 머신러닝 학습 및 평가를 할 때 학습, 평가 순으로 해야 할 것만 같은데 ,,,혹시 평가 먼저 진행 후 학습을 하는 이유가 있을까요 ..?
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
test에 없는 컬럼을 추가할때 이 방법을 써도 될까요?
# missing_cols = set(train.columns) - set(test.columns) # for col in missing_cols: # test[col]=0 # test = test[train.columns] # train.head()질문1) train의 컬럼이 test에 없을 때 train의 컬럼을 test 컬럼과 동일하게 삭제하거나test를 위의 코드를 통해 컬럼을 만들고 '0' 값으로 채운다. 그리고 train 컬럼의 순서대로 맞춘다.여쭤보는 이유는 반대로 test에 있는 컬럼이 train에 없다면 위의 코드를 사용해도 되지 않을까 싶어서요...제가 이해하는게 맞는지 모르겠네요.. 질문2) train과, test의 범주형 컬럼이 다를 때 concat하라고 말씀하셨는데요. 좀 어려워서 원핫인코딩 한적이 있는데 잘 되더라구요... concat을 해야 하나요..?
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
오즈비 구하는 문제일때는
오즈비 값을 구해야 하는 문제일 경우에는, import numpy as np 식만 사용하면 될까요?
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
스케일링 문제
해당 예시 문제를 밑의 식으로 풀이를 해보았는데,import pandas as pd df = pd.read_csv('mtcars.csv') from sklearn.preprocessing import minmax_scale print('변환 전 :',df['qsec'].head()) df['qsec'] = minmax_scale(df['qsec']) print('변환 후 :', df['qsec'].head()) cond = df['qsec'] >0.5 sum(cond)제가 알기로 스케일링 할 수 있는게 min-max, standard,robust 이렇게 3가지가 있는데, 만약 minmax가 아닌 standard,robust를 이용하게 된다면 코드를 어떻게 작성을 해야할까요?
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
rmsle 평가할 때, 음수값 포함
print('rmsle: ', mean_squared_log_error(y_val, pred)) 이 코드를 실행할 때, 해당 오류가 나옵니다. Mean Squared Logarithmic Error cannot be used when targets contain negative values.궁금한 것이, 회귀모델을 사용할 때 pred에서 음수값이 나오면 어떻게 처리하면 되는지 궁금합니다. 사실 y_tr 통계값에서 min값이 0이기 때문에 예측 모델에서 음수값이 나오면 안된다고 생각하는데 혹시나 나오게 되면 어떤식으로 전처리를 해야하는지 궁금합니다. 또한 선생님이 실행하신 랜덤포레스트 모델에서 r2_score가 0.77정도 나오는데 저는 같은 과정으로 해도 0.24정도 나와 차이가 큽니다.. 완전히 같을 순 없지만 비슷해야한다고 생각하는데 너무 차이가 나서 저의 코드가 잘못되어 그런것일지 궁금합니다.
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
코드 작성을 이렇게 해도 될까요?
import pandas as pdtrain = pd.read_csv("data/customer_train.csv")test = pd.read_csv("data/customer_test.csv")pd.set_option('display.max_columns', None)# print(train.shape, test.shape)# print(train.head())# print(test.head())# print(train.info())# print(train.isnull().sum())# print(test.isnull().sum())train['환불금액'] = train['환불금액'].fillna(0)test['환불금액'] = test['환불금액'].fillna(0)cols = ['회원ID', '총구매액', '최대구매액','환불금액','방문일수','방문당구매건수','주말방문비율','구매주기']# print(train.isnull().sum())# print(test.isnull().sum())target = train.pop('성별')# print(train.shape, test.shape)train = pd.get_dummies(train)test = pd.get_dummies(test)# print(train.shape, test.shape)from sklearn.model_selection import train_test_splitX_tr, X_val, y_tr, y_val = train_test_split(train[cols],target, test_size = 0.2, random_state = 2022)print(X_tr.shape, X_val.shape, y_tr.shape, y_val.shape)from sklearn.ensemble import RandomForestClassifierrf = RandomForestClassifier(random_state = 2022)rf.fit(X_tr[cols], y_tr)pred = rf.predict_proba(X_val[cols])# print(pred)from sklearn.metrics import roc_auc_scoreprint(roc_auc_score(y_val,pred[:,1]))pred = rf.predict_proba(test[cols])submit = pd.DataFrame({'pred' : pred[:,1]})submit.to_csv('result.csv', index=False)print(pd.read_csv('result.csv')) 그리고 코랩에서 연습할 때는 submit.to_csv('result.csv', index=False) 해당 코드를 작성하면, 파일 칸에 생기는 것을 확인했었는데, 여기서는 따로 생성이 안되고 그냥 제출하기만 하면 될까요?
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
2회차 기출 part1문제 2번 질문드립니다.
주어진 데이터셋(members.csv)의 앞에서부터 순서대로 80% 데이터만 활용해 'f1'컬럼 결측치를 중앙값으로 채우기 전 후의 표준편차를 구하고, 두 표준편차 차이 계산하기 (단, 표본표준편차 기준, 두 표준편차 차이는 절대값으로 계산)여기서 제가 이해한 바로는 80퍼센트 데이터만을 활용하여 중앙값을 도출하고 그것을 통하여 f1컬럼을 채워넣고 전체 f1컬럼의 전후 표준오차를 계산하라고 이해하였습니다.문장을 여러번 읽어보아도 80퍼센트 데이터 활용의 정의가 모호한거 같은데요(80퍼센트 데이터를 활용해 중앙값으로 채우기 / 전후 표준오차 구하기 인지 80퍼센트 데이터를 활용해 중앙값 채우고 전후 표준오차 까지 구하기인지)이런 경우 감독관에게 그 범위를 질문을 할수 있나요?자의적으로 시험장에서 판단하기 힘든것 같아 질문드립니다.
-
미해결(2024년) 파이썬 알고리즘 트레이딩 파트1: 알고리즘 트레이딩을 위한 파이썬 데이터 분석
quota 할당량 요청이 안됩니다.
트러블 슈팅 강의 내용대로 해도 안되서 일단 서포트 접수했는데 생각보다 대응이 오래걸리는것 같습니다.혹시나 해서 aws로 12개월 무료체험 하는쪽으로 만들어서 접속해봤는데 생각보다 느리더라구요 비슷한 문제를 겪는 수강생 중 해결된 케이스가 있다면 공유 부탁드립니다.
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
pred 예측이후 반올림이나 버림을 어떻게하나요?
from sklearn.ensemble import RandomForestRegressor model = RandomForestRegressor(random_state=10, max_depth=10, n_estimators=400) model.fit(X_tr, y_tr) pred = model.predict(X_val) pred = round(pred) 모델예측이후에 반올림이나 버림을 하고싶은데 int나 round를 써도 에러가뜹니다 어떻게 해결하나요? 아래는 에러메세지입니다. TypeError: type numpy.ndarray doesn't define __round__ method