묻고 답해요
141만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
실전연습 작업형 1-3 문제 에러
마지막 부분 에러났는데,, 실제 강의에서도 에러이던데,, 이유가 무엇인가요?
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
예시문제 작업형2 신버전 문의드립니다.
안녕하세요 예시문제 작업형2 신버전 풀어보았는데평가값은 0.615pred는 아래와 같이 나왔는데 맞게나온걸까요? 그리고 아래와 같이 풀어보았는데혹시 아래와 같은 풀이에서 #원핫인코딩과 레이블인코딩을 넣을수있을까요?넣으려면 어떤 문장으로 넣어야될까요? (오류가 뜨더라구요ㅠ) #아니면 굳이 인코딩 안하고 아래처럼 제출해도될까요?#데이터불러오기import pandas as pdtrain = pd.read_csv("data/customer_train.csv")test = pd.read_csv("data/customer_test.csv")# 확인/전처리/분리/모델/평가/예측/저장# roc_auc(pred=predict_proba) / 양성(1)값=남자/ 분류모델#확인# print(train.shape, test.shape)#print(train.head())#print(test.head())# print(train.info())# print(test.info())# print(train.isnull().sum())# print(test.isnull().sum()) #전처리(결측값제거/문자제거/인코딩)##결측값제거train['환불금액'] = train['환불금액'].fillna(0)test['환불금액'] = test['환불금액'].fillna(0)##문자제거cols=train.select_dtypes(include='object').columns #문자만colstrain = train.drop(cols,axis=1) #문자제거test = test.drop(cols,axis=1)##인코딩 #분리from sklearn.model_selection import train_test_splitX_tr, X_val, y_tr, y_val = train_test_split(train.drop('성별',axis=1), train['성별'], test_size=0.2, random_state=2022) #모델from sklearn.ensemble import RandomForestClassifiermodel = RandomForestClassifier()model.fit(X_tr,y_tr)pred = model.predict_proba(X_val) #평가from sklearn.metrics import roc_auc_scoreprint(roc_auc_score(y_val, pred[:,1])) #예측pred = model.predict_proba(test)submit = pd.DataFrame({ 'pred':pred[:,1]}) #저장submit.to_csv('28381.csv', index=False)print(pd.read_csv('28381.csv'))
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
자주 활용되는 판다스 예제 퀴즈 2번 질문 (오류발생)
선생님과 같이 한것 같은데, 원두 컬럼 내 결과값이 아래와 같은 이유가 뭘까요... 못찾겠습니다 이유를ㅠ조언 부탁드립니다.감사합니다.
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
문제 처음 시작할떄!!
시작할때 이부분은 실제 시험환경에서도 제가 직접 입력해야 하는 부분인가요???아니면 주어지는 부분인가요???
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
기출 2회 작업형1
선생님! 2번 문제에서 결측치를 중앙값으로 바꾸기 전의 표편과 바꾼 후의 표편 차를 구하라는 문제에서 만약 결측치를 바꾸기 전 표편을 구하지 못한채로 결측치 처리를 해버렸다면 시험상황에서는 다시 원 데이터로 어떻게 돌아갈 수 있나요,,?(시험환경에서는 코랩처럼 '이전셀 실행' 기능을 쓸 수가 없는데)drop같은 함수를 써서 원래 데이터를 일부 삭제 시켰다가 실수가 생겨 다시 복구해야하는 상황에서도 어떻게 해야하는지 궁금합니다.
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
유형별 제출방법 문의
시험 회차가 증가함에 따라 제출 방법이 조금씩 달라진 것 같은데요. 유형1, 유형3의 경우,코딩화면 제출버튼은 없어지고 별도 답안제출 화면에 정답만 입력하는게 맞는지요?그렇다면 코딩 중간에 있는 print()문을 주석(삭제) 처리할 필요도 없는건지요?유형2의 경우도 코딩 중간에 있는 print()문을 주석(삭제) 처리 필요 없는지요?
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
섹션10- 예시문제 작업형2(신버전) 문의
안녕하세요 섹션10- 예시문제 작업형2(신버전)아래 풀이에서 어떤것이 잘못됬는지 알 수있을까요ㅠ? # 출력을 원하실 경우 print() 함수 활용# 예시) print(df.head())# getcwd(), chdir() 등 작업 폴더 설정 불필요# 파일 경로 상 내부 드라이브 경로(C: 등) 접근 불가#데이터불러오기import pandas as pdtrain = pd.read_csv("data/customer_train.csv")test = pd.read_csv("data/customer_test.csv")# 확전분모평예정# roc_auc(pred=predict_proba) / 양성(1)값=남자/ 분류모델#확인# print(train.shape, test.shape)# print(train.head())# print(test.head())# print(train.info())# print(test.info())# print(train.isnull().sum())# print(test.isnull().sum())#전처리(결측값제거/문자제거/인코딩)#결측값제거# print(train.isnull().sum())train['환불금액'] = train['환불금액'].fillna(0)# print(train.isnull().sum())test['환불금액'] = test['환불금액'].fillna(0)#문자제거cols=train.select_dtypes(include='object').columnscols# print(train.info())train = train.drop(cols,axis=1)# print(train.info())test = test.drop(cols,axis=1)#cols = ['회원ID', '총구매액', '최대구매액', '환불금액', '방문일수', '방문당구매건수', '주말방문비율', '구매주기']#target = train.pop('성별') #pop=성별을 target에 대입하고 나머지를 drop#인코딩train = pd.get_dummies(train, columns=cols)test = pd.get_dummies(test, columns=cols)#분리from sklearn.model_selection import train_test_splitX_tr, X_val, y_tr, y_val = train_test_split(train.drop('성별',axis=1), train['성별'], test_size=0.2, ramdom_state=2022)#모델#pred=predict_probafrom sklearn.ensemble import RandomForestClassifiermodel = RandomForestClassifier()model.fit(X_tr,y_tr)pred = model.predict_proba(X_val)print(pred)print(pred[:,1])# #평가from sklearn.metrics import roc_auc_scoerprint( roc_auc_scoer(y_val, pred[;,1]) ) --실제,예측# #예측pred=model.predict_proba(test)predsubmit = pd.DataFrame({ 'pred': pred[:,1]})submit# #저장submit.to_csv('result.csv', index=False)print(pd.read_csv('result.csv'))# 사용자 코딩# 답안 제출 참고# 아래 코드는 예시이며 변수명 등 개인별로 변경하여 활용# pd.DataFrame변수.to_csv("result.csv", index=False)
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
섹션10 예시문제 작업형 1번
학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요!질문과 관련된 영상 위치를 알려주면 더 빠르게 답변할 수 있어요먼저 유사한 질문이 있었는지 검색해보세요안녕하세요. 섹션10 예시문제 작업형 1번 질문있습니다.캐글에서 하던대로 하다보니 식이 강의에서 알려주시는 것에 비해 짧아졌는데요. import pandas as pddf = pd.read_csv("data/mtcars.csv") from sklearn.preprocessing import MinMaxScalerscaler = MinMaxScaler()df['qsec'] = scaler.fit_transform(df[['qsec']])#print(df['qsec']) cond = df['qsec'] >0.5print(sum(cond)) 이렇게 해도 9가 나오는데, 이렇게 풀어도 괜찮나요?좋은 강의 항상 감사드립니다.
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
4회기출 작업형2유형 강의 에서 수치형 범주형
안녕하세요. 4회기출 작업형2유형 강의에서basic방법과 intermediate 방법이 있는데실제 시험에서는 수치형 데이터만 활용(basic)해서 해도 되나요?범주형 데이터가 있다면 범주형 데이터도 활용 해야할까요?...ㅠ 안그러면 점수를 낮게 받을까요?..ㅠ 이 강의회차에서는 basic방법이 성능이 더 좋게 나왔는데수치형만 쓸지수치형과 범주형 둘다 활용할지 어떻게 판단해야하나요?
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
6회 2번 문제
안녕하세요 : ) 좋은 강의 잘 보고 있습니다. 다름이 아니라 시험 때 분류 / 회귀 랜덤 포레스트 활용하는게 안전할까요? 분류시 AdaBoostClassifier 사용하니까 랜포 보다 조금 더 좋은 성능 보이던데 혹여나 더 높은 성능 좋은 모델 했다가 과대 적합으로 떨어질까봐 걱정되네요 ㅠㅠ
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
선생님 질문이 있습니다!
학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요!질문과 관련된 영상 위치를 알려주면 더 빠르게 답변할 수 있어요먼저 유사한 질문이 있었는지 검색해보세요 랜덤포레스트 학습과정 중에from sklearn.ensemble import RandomForestClassifiermodel = RandomForestClassifier()model.fit(X_tr, y_tr)pred = model.predict_proba(X_val)[:,1] roc_auc를 학습하기위해pred = model.predict_proba(X_val)[:,1]해당코드를 사용하셨는데[:,1] 부분이 이해가 잘안되어 질문드립니다. 인덱스 전체/ 1번 칼럼까지 범위를 설정하는 이유가 있을까요?아니면 제가[:,1] 의미를 위처럼 잘못 이해하고 있는거라면 짚어주시면 감사하겠습니다.
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
이 문제에서 수치형 데이터와 범주형 데이터를 분리하는 과정이 꼭 필요한가요?
강사님은 수치형 데이터와 범주형 데이터를 n_train, c_train, n_test, c_test로 분리하셨더라구요.근데 꼭 분리 안하고, col 명만 설정해서 그냥 피처엔지니어링 하면 안되는 걸까요?근데 저는 점수가 0.75 정도밖에 안나왔습니다 ㅎㅎㅎ강사님은 0.8 넘게.... 제가 쓴 코드입니다..# 수치형 스케일링from sklearn.preprocessing import RobustScalerscaler = RobustScaler()cols = ['Age', 'AnnualIncome','FamilyMembers', 'ChronicDiseases'] <- 제가 변환하고 싶은 int 형 변수들을 넣었어요. 타겟레이블이 int형인데 뺄줄 몰라서 그냥...train[cols] = scaler.fit_transform(train[cols])test[cols] = scaler.fit_transform(test[cols]) # 라벨인코딩from sklearn.preprocessing import LabelEncodercols2 = train.select_dtypes(include="object").columns for col in cols2 : le = LabelEncoder() train[col] = le.fit_transform(train[col]) test[col] = le.transform(test[col])이러고 데이터 X_tr, X_val, y_tr, y_val로 분리하고 랜덤포레스트를 적용헀습니다!
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
작업형2 회귀, 작업형3 회귀
학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요!질문과 관련된 영상 위치를 알려주면 더 빠르게 답변할 수 있어요먼저 유사한 질문이 있었는지 검색해보세요작업형2에서 모델링 및 평가에서 회귀모델 여러가지를 대입해보던 것과작업형3 회귀분석에서 formula 패키지 사용해서 회귀식 사용하는것은 어떤 차이가 있을까요?? 회귀분석이라고 해서 혼자 타이핑을 andomforestregressor 해보다가 지우고 formula를 따라 썼는데 너무 초보적인 질문일것같지만 궁금해서 문의드립니다.
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
메모장 이용 불가로 변경되었습니다.
안녕하세요 강의 잘 듣고 있습니다.지난 시험부터 메모장 이용 불가로 변경되었는데 강의 내용에 업데이트 반영이 되어 있지 않아서 공유드립니다. o 시험 중 필기구, 전자·통신기기(계산기 등) 및 PC에 설치되어 있는 프로그램(윈도우 메모장, 윈도우 계산기, 엑셀 등) 사용 불가 https://www.dataq.or.kr/www/board/view.do?bbsKey=eyJiYnNhdHRyU2VxIjoxLCJiYnNTZXEiOjU1MzQ3NX0=&boardKind=notice 감사합니다.
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
이 문제에서 df=pd.concat 으로 X_train과 y_train의 타겟을 합치는 이유가 무엇인가요?
train이 두개로 나누어져서 제공되서x_train+y_train['타겟'] 을 합치는거까지는 이해했는데요이걸 df에 받아서 넣는데 그 다음 코드부터는 df를 사용하지를 않더라고요!그래서 모든 코드 다 작성 후에, df=concat 어쩌구 했던거를 주석처리해서 숨겨봤는데도 같은 결과가 나왔어요. 합쳐진 df를 어딘가에 사용한다면 이해가 되는데,df를 사용하지도 않는데 concat으로 합쳐놓는 이유가 무엇인가요? 참고 차 제가 작성했던 코드도 붙여넣어봅니다. import pandas as pdX_train = pd.read_csv("X_train.csv")X_test = pd.read_csv("X_test.csv")y_train = pd.read_csv("y_train.csv")# print(X_train.shape, X_test.shape, y_train.shape)df = pd.concat([X_train, y_train['Reached.on.Time_Y.N']], axis=1)df# 라벨인코딩from sklearn.preprocessing import LabelEncodercols = X_train.select_dtypes(include="object").columnsfor col in cols : le = LabelEncoder() X_train[col] = le.fit_transform(X_train[col]) X_test[col] = le.transform(X_test[col])# # 랜덤 포레스트 위해서 데이터 분리X_train = X_train.drop("ID", axis=1)X_test_id = X_test.pop("ID")# # 데이터 분리from sklearn.model_selection import train_test_splitX_tr, X_val, y_tr, y_val = train_test_split( X_train, y_train['Reached.on.Time_Y.N'], test_size=0.2, random_state=2022)# 랜덤포레스트from sklearn.ensemble import RandomForestClassifierrf = RandomForestClassifier(random_state=2022, max_depth=3, n_estimators=200)rf.fit(X_tr, y_tr)pred = rf.predict_proba(X_val)from sklearn.metrics import roc_auc_scoreprint(roc_auc_score(y_val, pred[:,1]))pred = rf.predict_proba(X_test)submit = pd.DataFrame({ "ID" : X_test_id, "Reached.on.Time_Y.N" : pred[:,1]})submit.to_csv("submit.csv", index=False)pd.read_csv("submit.csv")
-
미해결빅데이터분석기사 실기대비 (R 활용)
출제예상 문제 질문이요~
안녕하세요 오늘부터 빅분기 실기 R강의수강을 시작한 학생입니다. 강의를 듣던 중 궁금한 점이 있어서요 출제예상 문제중에서아래 표시를 해두었는데요 데이터를 불러올때 왜 1부터 150행까지만 불러오는 것일까요? airquality 데이터 전체를 df으로 불러오는건 안되는건가요? # 2. 첫 행부터 상위 80%개의 행을 추출하고 Ozone변수의 결측값을 Ozone변수의 중앙값으로 대체하고# 대체전과 후의 표준편차 값의 차이df <- airquality[c(1:150),] ------------------------------> 이부분이 궁금해요!str(df)val <- nrow(df)*0.8df1 <- df[c(1:val),]str(df1)df1$Ozone_comp <- ifelse(is.na(df1$Ozone), median(df1$Ozone, na.rm = T), df1$Ozone)summary(df1)sd(df1$Ozone, na.rm = T) - sd(df1$Ozone_comp, na.rm = T)result <- sd(df1$Ozone, na.rm = T) - sd(df1$Ozone_comp, na.rm = T)print(result)
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
작업형 2유형 모델 학습 관련
안녕하세요, 좋은 강의 감사드립니다!학습, 검증데이터를 분리하는 것은 평가를 통해 개선하기 위한 것으로 이해를 했습니다.그렇다면 개선을 한 뒤 학습, 검증데이터를 다시 학습데이터로 합친 후 예측을 진행하는 것이 점수에 더 도움이 될까요?
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
윌콕슨 검정 반대로했을때 값이 달라지는현상
아무리봐도 둘이 값이 같게나와야할거같은데 p-value가 다르게나옵니다. 왜이런걸까요??비모수검정이라 정규분포가 아니라서 대칭성이 없어서 그런건가요?
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
캐글 T1-12에서 접종률 100% 이상 데이터 먼저 삭제하지 않는 이유
아래 문제에서 100% 넘는 접종률을 먼저 삭제하지 않고, 문제에서 언급한 순서대로 풀이해야 하나요??your code 부분에 적은대로 풀이를 하면 답이 다른데 이대로 풀면 안되는 이유가 궁금합니다! 문제 : 주어진 데이터에서 상위 10개 국가의 접종률 평균과 하위 10개 국가의 접종률 평균을 구하고, 그 차이를 구해보세요(단, 100%가 넘는 접종률 제거, 소수 첫째자리까지 출력)# your code # 100%가 넘는 접종률 제거 cond = df["ratio"] <= 100 # 상위 10개 국가의 접종률 평균과 하위 10개 국가의 접종률 평균을 구하고, df = df[cond] df = df.sort_values("ratio", ascending = False) top10 = df["ratio"].head(10).mean() bottom10 = df["ratio"].tail(10).mean() # 그 차이를 구해보세요(소수 첫째자리까지 출력) print(round(top10 - bottom10,1)) 풀이df2 = df.groupby('country').max() #시간에 따라 접종률이 점점 올라감 df2 = df2.sort_values(by='ratio', ascending = False) #100%가 넘는 접종률 제거 cond = df2['ratio'] <= 100 df2 = df2[cond] top = df2['ratio'].head(10).mean() bottom = df2['ratio'].tail(10).mean() print(round(top - bottom,1))
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
카이제곱 통계량은 어떻게 구하면 되나요?
빅분기 실습환경이 오픈되어 제3유형 문제를 풀어보고 있는데요. 데이터는 타이타닉 침몰 생존여부 예측을 위한 자료입니다. Gender와 Survived 변수 간의 독립성 검증을 실시하였을 때, 카이제곱 통계량은? - 오브젝트 타입을 원핫인코딩으로 변환한 후 stats.chisquare(df[ 'Gender'], df['Survived'])를 수행해야 하나요? ols를 통해 summary() 까지는 알겠는데.....그 이후 어떻게 해야 할지 잘 모르겠네요..ㅠㅠ