반복측정 분산분석
해결됨
[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
어떤 수험교재 문제에서는 반복측정 분산분석을 구하라는 문제도 나오는데, 반복측정 분석분석 대해서도 예제로 풀이 설명해 주실 수 있는지요?
- python
- 머신러닝
- 빅데이터
- pandas
- 빅데이터분석기사
172만명의 커뮤니티!! 함께 토론해봐요.
해결됨
[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
어떤 수험교재 문제에서는 반복측정 분산분석을 구하라는 문제도 나오는데, 반복측정 분석분석 대해서도 예제로 풀이 설명해 주실 수 있는지요?
미해결
파이썬 중급
안녕하세요 강사님! 좋은 강의 정말 잘 듣고 있습니다. 지난 질문에도 친절하게 답변 달아주셔서 감사의 말씀 드립니다. 이번 메타프로그밍 3.1절을 들으면서 잘 이해가 안되는 부분이 있어서 이렇게 질문글을 작성합니다. 질문은 다음과 같습니다. Q1. attach_wrapper가 return 하는 func는 누구인가? 최종적으로 그 func는 누가 받는가? def attach_wrapper(obj, func=None): if func is None: return partial(attach_wrapper, obj) setattr(obj, func.__name__, func) return func 위의 def attach_wrapper 가 @attach_wrapper(wrapper) 형태로 데코레이트하면, func=None 일 때 partial() 을 통해서 def attach_wrapper 함수 객체 본인을 return 해서 첫번째 인자인 obj 를 wrapper 로 고정시키는 것까지 이해를 했습니다. func=None 이 아니면 setattr() 을 통해, obj 가 갖고 있는 어트리뷰트 func 의 이름을 인자로 받은 func 로 값을 셋팅하는 것까지도 이해를 했습니다. 그런데 최종적으로 return 되는 게 func 라는 것이 잘 이해가 되지 않습니다. return 되는 func 를 누가 받는걸까요? func 를 유추하기까지 저의 사고 흐름은 아래와 같았습니다. @attach_wrapper(wrapper) def set_level(newlevel): nonlocal level level = newlevel def set_level 이 데코레이트 되는 내부 사정은 set_level = attach_wrapper(wrapper)(set_level) 이 될텐데요. set_level = attach_wrapper(wrapper)(set_level) 에서 attach_wrapper(wrapper) 는 partial() 을 통해 def attach_wrapper 본체가 return 되었기 때문에, 데코레이트 되는 내부 사정을 달리 표현하면 set_level = attach_wrapper(obj=wrapper, func=set_level) 라고 이해를 했습니다. 그러면.. attach_wrapper(obj=wrapper, func=set_level) 가 return 하는 게 func 인데, set_level = func 이니까.. set_level = set_level 이 되는건가요? 추가 질문 def attach_wrapper 함수에서 return func 를 주석처리 하고 실행을 해도 결과가 똑같이 나오는데 이유를 잘 모르겠습니다.. 어째서 return func 가 아무런 효용이 없었던 걸까요..? 혹시 제가 잘 못 이해한 부분이 있다면 어김없이 피드백 부탁드리겠습니다! (아래에는 출력 결과물을 첨부하였습니다.) """ # return func 주석 처리 후 결과 DEBUG:__main__:add DEBUG:__main__:Add called WARNING:__main__:Add called DEBUG:__main__:countdown CRITICAL:__main__:countdown DEBUG:__main__:countdown2 CRITICAL:__main__:countdown2 5 5 5 countdown 0.009128093719482422 countdown 0.007673978805541992 countdown2 0.0056438446044921875 countdown2 0.005079030990600586 --- # 원본 코드 실행 결과 DEBUG:__main__:add DEBUG:__main__:Add called WARNING:__main__:Add called DEBUG:__main__:countdown CRITICAL:__main__:countdown DEBUG:__main__:countdown2 CRITICAL:__main__:countdown2 5 5 5 countdown 0.007693052291870117 countdown 0.006663084030151367 countdown2 0.005110979080200195 countdown2 0.0052149295806884766 """
해결됨
[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
랜덤포레스트로 모델을 학습하고 train_test_split으로 데이터를 나누지 않은 이유는 교차검증이 그 역할을 대신해서 그런건가요?? 교차검증을 스스로 생각해내기는 어려울거 같은데 그러면 평소처럼 train_test_split으로 데이터를 나누고 잘 모르는 macro f1_score 대신에 다른 평가지표를 사용해서 제출해도 되는걸까요?? 선생님 항상 친절한 답변 감사합니다 🥹🥹
미해결
프로그래밍 시작하기 : 파이썬 입문 (Inflearn Original)
강의 자료를 다운 받으려고 했는데 깨져서 나와서요! 자료 발송 부탁드립니다 99doldol@naver.com
해결됨
[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! 질문과 관련된 영상 위치를 알려주면 더 빠르게 답변할 수 있어요 먼저 유사한 질문이 있었는지 검색해보세요 import pandas as pd train = pd.read_csv("data/customer_train.csv") test = pd.read_csv("data/customer_test.csv") pd.set_option('display.max_columns',None) train['환불금액'] = train['환불금액'].fillna(0) test['환불금액'] = test['환불금액'].fillna(0) cols = train.select_dtypes(exclude='object').columns target = train.pop('성별') from sklearn.ensemble import RandomForestClassifier rf = RandomForestClassifier() rf.fit(train[cols], target) pred = rf.predict_proba(test[cols]) print(pred) 오류 Makefile:6: recipe for target 'py3_run' failed make: *** [py3_run] Error 1 Traceback (most recent call last): File "/goorm/Main.out", line 29, in <module> model.fit(train[cols], target) File "/usr/local/lib/python3.9/dist-packages/pandas/core/frame.py", line 3511, in getitem indexer = self.columns._get_indexer_strict(key, "columns")[1] File "/usr/local/lib/python3.9/dist-packages/pandas/core/indexes/base.py", line 5782, in get indexer_strict self._raise_if_missing(keyarr, indexer, axis_name) File "/usr/local/lib/python3.9/dist-packages/pandas/core/indexes/base.py", line 5845, in raise if_missing raise KeyError(f"{not_found} not in index") KeyError: "['성별'] not in index" 도와주세요 왜 select_dtypes로 쓰니까 안되나요
해결됨
[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! 질문과 관련된 영상 위치를 알려주면 더 빠르게 답변할 수 있어요 먼저 유사한 질문이 있었는지 검색해보세요 이렇게 작성해도 답은 같게 나오는데 이렇게 풀어도 될까요? import pandas as pd pd.read_csv('members.csv') df=pd.read_csv('members.csv') cut = df.select_dtypes(include='object').columns #exclude도 있다 df= df.drop(cut,axis=1) df = df.fillna(0) df.head() df = df.sum(axis = 1) sum(df > 3000)
해결됨
[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
df['date_added']= pd.to _datetime(df['date_added']) a=df['date_added']=='2018-01' b=df['country']=='United Kingdom' df[a&b] 이렇게 하면 3이 나오는데 이유가 무엇일까요? 2018-01로 필터는 되는거같은데 차이점이 있는지 궁금합니다. dt.year/month 각각 나눠줘야만 정답출력되는건지도요
해결됨
[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
선생님 어떤 문제풀이에서는 데이터에 수치, 범주형 데이터가 섞여 있어도 분리하지 않고 어떤 문제에서는 따로 분리해서 전처리 하시는데 혹시 기준이 있을까요? 그리고 만약에 범주형 데이터를 레이블인코딩으로 cols = train.select _dtypes(include = 'object') ,, for col in cols 이런식으로 셀렉트 디타입으로 반복문을 사용할 거라면 굳이 수치형, 범주형을 나눌 필요가 없는건가요??
해결됨
파이썬 증권 데이터 수집과 분석으로 신호와 소음 찾기
5.1 업종 테마주 수집.ipynb 진행 과정에서 pd.concat(result.tolist()) 에서 InvalidIndexError: Reindexing only valid with uniquely valued Index objects 가 발생하는데, inplace=True를 추가 또는 다양한 방법으로 해결하려 해도 해결이 되지 않습니다. 이전 다른 분들도 같은 오류가 나서 문의를 하였는데 해결이 되었나요? 참고로, 테스트 하는 과정에서 get_item_info 함수 안의 finance_info = tables[3].iloc[:, [0, -1]] finance_info.columns = [0, 1] item_info.append(finance_info) 문장을 주석처리 하면 pd.concat(result.tolist()) 부분이 정상적으로 처리가 되고 있습니다. 원인과 해결 방법을 알려 주시면 감사하겠습니다.
해결됨
[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
y= y_train['charges'] # X_train.info() object : sex, smoker,region # X_train.isnull().sum() --> 결측값 없음 X_train.head(2) drop_col = ['id'] train_drop = X_train.drop(columns=drop_col) test_drop = X_test.drop(columns=drop_col) #원핫인코딩 X_train_dummies = pd.get_dummies(train_drop) X_test_dummies = pd.get_dummies(test_drop) #train_test_split from sklearn.model_selection import train_test_split x_tr,x_val,y_tr,y_val = train_test_split(X_train_dummies,y,test_size=0.33, random_state = 42) #랜포 from sklearn.ensemble import RandomForestRegressor model = RandomForestRegressor() model.fit(x_tr,y_tr) pred = model.predict(x_val) #평가 from sklearn.metrics import mean_squared_error,r2_score,mean_absolute_error import numpy as np print("rmse", np.sqrt(mean_squared_error(y_val,pred))) print("r2_score",r2_score(y_val,pred)) print("mae", mean_absolute_error(y_val,pred)) #저장 answer = model.predict(X_test_dummies) result = pd.DataFrame({'id': X_test.id, 'charges' : answer}) result.to_csv('00000.csv', index = False) output = pd.read_csv("00000.csv") print(output.head(2)) 선생님 안녕하세요. 지금 코드 틀 외워서 하나하나 문제 풀어보고 있습니다.. 작년에 회귀문제에서 된통 당한 이후로 꼼꼼히 보고 있는데 아직 확신이 서지 않습니다 ㅠㅠ 혹시 여기서 코드 오류가 있을까요..? 더불어 T2-5의 경우 결측치도 없고, object도 별로 없어서 get_dummies로 해결했는데 T2-4처럼 결측치도 많은데다가 object도 많이 있으면 어떻게 해야할지도 잘 모르겠습니다..
해결됨
[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
현재 독립표본검정 - 단일표본검정, 대응표본검정까지 들었습니다. 문제에 '정규분포에 따른다'는 말이 없으면 shapiro 검정을 통해 정규분포를 따르는지, 아닌지부터 따져야 하는데 현재 강의의 예는 정규분포를 따르지 않는 것만 있는 것 같아서 확인 차 여쭙습니다. shapiro 검정 결과 정규분포를 따를 때에는 문제에 정규분포를 따른다고 할 때와 같이 wilcoxon이 아닌 ttest로 검정하는것 맞을까요 ?
해결됨
[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
선생님 안녕하세요. T1-35 2번문제 풀다가 질문있습니다. 이렇게 풀때, 정답이 아무리해도 10580.0이 나오는데 어디 부분이 잘못되었을까요? new = df[df['Feedback'].str.contains('제품')] new.groupby('Category')['Feedback'].size() #서비스 df['OrderDate'] = pd.to_datetime(df['OrderDate']) df['ArrivalDate'] = pd.to_datetime(df['ArrivalDate']) df['배송시간(분)'] = (df['ArrivalDate'] - df['OrderDate']).dt.total_seconds()/60 answer = new[new['Category'] == "서비스"]['배송시간(분)'].mean() answer
해결됨
[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! 질문과 관련된 영상 위치를 알려주면 더 빠르게 답변할 수 있어요 먼저 유사한 질문이 있었는지 검색해보세요 안녕하세요~ 작업형3에서 오즈비에 대해 질문드립니다. 한 단위가 아닌, 두 단위로 오즈비를 증가시킬 때는 exp( exp ( -0.3539) ) 로 하면될까요? 여기선 하나의 독립변수에 대해서만 오즈비를 구하라고 되어있는데, 만약 2 개의 독립변수에 대한 오즈비를 구하라고하면 어떻게 구하나요?? 이건 이론적으로 가능한건지 잘모르겠어서 질문드립니다.. 다시 말하면 오즈비는 하나의 독립변수에 대해서만 적용이 가능한건가요? 아니면 여러개의 독립변수를 고려하여 구할 수 있는건가요?
해결됨
[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
마지막 부분 에러났는데,, 실제 강의에서도 에러이던데,, 이유가 무엇인가요?
해결됨
[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
안녕하세요 예시문제 작업형2 신버전 풀어보았는데 평가값은 0.615 pred는 아래와 같이 나왔는데 맞게나온걸까요? 그리고 아래와 같이 풀어보았는데 혹시 아래와 같은 풀이에서 #원핫인코딩과 레이블인코딩을 넣을수있을까요? 넣으려면 어떤 문장으로 넣어야될까요? (오류가 뜨더라구요ㅠ) #아니면 굳이 인코딩 안하고 아래처럼 제출해도될까요? #데이터불러오기 import pandas as pd train = 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 #문자만 cols train = train.drop(cols,axis=1) #문자제거 test = test.drop(cols,axis=1) ##인코딩 #분리 from sklearn.model_selection import train_test_split X_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 RandomForestClassifier model = RandomForestClassifier() model.fit(X_tr,y_tr) pred = model.predict_proba(X_val) #평가 from sklearn.metrics import roc_auc_score print(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)
선생님과 같이 한것 같은데, 원두 컬럼 내 결과값이 아래와 같은 이유가 뭘까요... 못찾겠습니다 이유를ㅠ 조언 부탁드립니다. 감사합니다.
해결됨
[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
시작할때 이부분은 실제 시험환경에서도 제가 직접 입력해야 하는 부분인가요??? 아니면 주어지는 부분인가요???
해결됨
[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
선생님! 2번 문제에서 결측치를 중앙값으로 바꾸기 전의 표편과 바꾼 후의 표편 차를 구하라는 문제에서 만약 결측치를 바꾸기 전 표편을 구하지 못한채로 결측치 처리를 해버렸다면 시험상황에서는 다시 원 데이터로 어떻게 돌아갈 수 있나요,,? (시험환경에서는 코랩처럼 '이전셀 실행' 기능을 쓸 수가 없는데)drop같은 함수를 써서 원래 데이터를 일부 삭제 시켰다가 실수가 생겨 다시 복구해야하는 상황에서도 어떻게 해야하는지 궁금합니다.
해결됨
[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
시험 회차가 증가함에 따라 제출 방법이 조금씩 달라진 것 같은데요. 유형1, 유형3의 경우, 코딩화면 제출버튼은 없어지고 별도 답안제출 화면에 정답만 입력하는게 맞는지요? 그렇다면 코딩 중간에 있는 print()문을 주석(삭제) 처리할 필요도 없는건지요? 유형2의 경우도 코딩 중간에 있는 print()문을 주석(삭제) 처리 필요 없는지요?
해결됨
[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
안녕하세요 섹션10- 예시문제 작업형2(신버전) 아래 풀이에서 어떤것이 잘못됬는지 알 수있을까요ㅠ? # 출력을 원하실 경우 print() 함수 활용 # 예시) print(df.head()) # getcwd(), chdir() 등 작업 폴더 설정 불필요 # 파일 경로 상 내부 드라이브 경로(C: 등) 접근 불가 #데이터불러오기 import pandas as pd train = 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').columns cols # 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_split X_tr, X_val, y_tr, y_val = train_test_split( train.drop('성별',axis=1), train['성별'], test_size=0.2, ramdom_state=2022 ) #모델 #pred=predict_proba from sklearn.ensemble import RandomForestClassifier model = RandomForestClassifier() model.fit(X_tr,y_tr) pred = model.predict_proba(X_val) print(pred) print(pred[:,1]) # #평가 from sklearn.metrics import roc_auc_scoer print( roc_auc_scoer(y_val, pred[;,1]) ) --실제,예측 # #예측 pred=model.predict_proba(test) pred submit = 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)