묻고 답해요
156만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
문제 2-2 오즈비 계산
# 1) 오즈비 계산 import numpy as np 1. np.exp(-0.3558) : 0.7006127287696858 2. np.exp(model.params['HasPhoneService']) : 0.7005907598948918 영상에서는 2처럼 풀이하셨는데 1로 풀어도 괜찮을까요?
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
코드 오류
import pandas as pd # train = pd.read_csv("https://raw.githubusercontent.com/lovedlim/inf/main/p2/ab_nyc/train.csv") # test = pd.read_csv("https://raw.githubusercontent.com/lovedlim/inf/main/p2/ab_nyc/test.csv") train = pd.read_csv("train.csv") test = pd.read_csv("test.csv") # print(train.shape, test.shape) # (39116, 16) (9779, 15) # 1. 문제 정의 # 회귀 문제, target = price # 평가: R-Squared, MAE, MSE, RMSE, RMSLE, MAPE # 2. 데이터 불러오기 # 3. 탐색적 데이터 분석 # train.info() # dtypes: float64(3), int64(7), object(6) # test.info() # dtypes: float64(3), int64(6), object(6) # train.describe(include='O') # unique: 38447 # test.describe(include='O') # unique: 9718 # train.nunique() # test.nunique() # train.isnull().sum() # last_review, reviews_per_month 결측치 # test.isnull().sum() # name, host_name, last_review, reviews_per_month # 4. 데이터 전처리(인코딩) # 4-1. 결측치 처리(결측치 컬럼 삭제) cols = ['name', 'id', 'host_name', 'last_review', 'reviews_per_month'] train = train.drop(cols, axis= 1) test = test.drop(cols, axis = 1) # 4-2. 인코딩(원핫인코딩 사용) train = pd.get_dummies(train) test = pd.get_dummies(test) # 5. 검증 데이터 나누기 from sklearn.model_selection import train_test_split target = train.pop('price') X_tr, X_val, y_tr, y_val = train_test_split( train, target, test_size=0.15, random_state=0 ) # 6. 모델 학습 및 평가 # from sklearn.ensemble import RandomForestRegressor # rf = RandomForestRegressor(random_state=0) # rf.fit(X_tr, y_tr) # pred = rf.predict(X_val) from sklearn.linear_model import LinearRegression lr = LinearRegression lr.fit(X_tr, y_tr) # 평가: R-Squared, MAE, MSE, RMSE, RMSLE, MAPE from sklearn.metrics import r2_score, mean_absolute_error, mean_squared_error r2_score = r2_score(y_val, pred) mae = mean_absolute_error(y_val, pred) mse = mean_squared_error(y_val, pred) rmse = rmse(y_val, pred) rmsle = rmsle(y_val, pred) mape = mape(y_val, pred) # 7. 제출 pred = rf.predict(test) pd.DataFrame({'id':test_id, 'price': pred}).to_csv('00000.csv',index=False)안녕하세요혼자 풀이를 해보다가 모델 학습 단계에서 계속 오류가 나고 1분이 넘어가서 이유를 모르겠습니다..오류가 나는 이유와 전체적인 코드(저렇게 제출을 해도 시험에 문제가 없는지 ..) 한 번 봐주시면 감사하겠습니다...
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
실제 시험장 summary
실제 시험장 summary를 쓸수없나요??실제 시험환경에서 summary()를 하니까 데이터가 안나와서 여쭤봅니다
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
csv 개수 차이
안녕하세요.강의에서 csv 2, 3개 차이가 있다고 하셨는데, 어떤 차이와 코드를 작성하는데 어떤 차이가 있는지 문의드립니다. 감사합니다.
-
미해결[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
평가하지 않고 한 가지 방법 질문 있습니다.
안녕하세요 저번에 평가하지 않고 랜덤포레스트 한개로만 제출한다고 했을 때에 그러면은 인코딩까지 동일하게 하고rf.fit(X_tr, y_tr)을rf.fit(train, target)으로 바꾸고pred = rf.predict(X_val)을pred = rf.predict(test)로 바꿔서target = train.pop('농약검출여부')train = pd.get_dummies(train)test = pd.get_dummies(test)train, test = train.align(test, axis=1, join='left', fill_value=0)from sklearn.ensemble import RandomForestClassifier-------------------------------------rf = RandomForestClassifier(random_state=0)rf.fit(train, target)pred = rf.predict(test)result = pd.DataFrame({'pred':pred})result.to_csv('result.csv',index=False)랜덤포레스트 기준 요런식으로 작성하면 되는지 궁금합니다.글구 쌤께서 target = train.pop할때 항상 인코딩하기 전에 하는데 이유가 있는지 궁금합니다!항상 이해 잘되게 가르쳐 주셔서 감사드립니다. 선생님
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
코드 작성 질문
앞쪽 강의에서는from scipy import statsstats.shapiro(~~) 라고 설명해주셨는데이원 분산 분석 강의에서는from scipy.stats import shapiro로 라이브러리를 불러오네요 두 코딩에 차이가 있을까요?
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
회귀랜덤포레스트 max_depth
# 데이터 불러오기 import pandas as pd train = pd.read_csv("https://raw.githubusercontent.com/lovedlim/inf/refs/heads/main/p4/7_2/mart_train.csv") test = pd.read_csv("https://raw.githubusercontent.com/lovedlim/inf/refs/heads/main/p4/7_2/mart_test.csv") # EDA # total이 target컬럼 # train.shape, test.shape (700,10) // (300,9) # print(train.head(3)) target = train.pop('total') # print(train.shape) # print(train.info()) rating 제외 모두 object # print(train.describe(include="O")) # print(test.describe(include='O')) # unique 수 일치, 레이블 인코딩 활용 # print(train.isnull().sum().sum()) # print(test.isnull().sum().sum()) # 결측치 0개 # 전처리 from sklearn.preprocessing import LabelEncoder le = LabelEncoder() cols = train.select_dtypes('object').columns for col in cols : train[col] = le.fit_transform(train[col]) test[col] = le.transform(test[col]) # print(test.head(3)) # 레이블인코딩 완료 # 데이터 분할 from sklearn.model_selection import train_test_split X_tr, X_val, y_tr, y_val = train_test_split(train, target, test_size=0.142, random_state=0) X_tr.shape, X_val.shape, y_tr.shape, y_val.shape # 평가 및 검증 (회귀) 랜덤포레스트 from sklearn.metrics import root_mean_squared_error from sklearn.metrics import r2_score from sklearn.ensemble import RandomForestRegressor rf = RandomForestRegressor(random_state=0, max_depth=1) model = rf.fit(X_tr, y_tr) pred = model.predict(X_val) print(root_mean_squared_error(y_val,pred)) # basic : 403187.3131420301 # max_depth=8 : 389483.9937048198 # max_depth=1 : 355335.1208784505 # print(r2_score(y_val,pred))위는 제가 작성한 코드인데, 베이직에서 약 40만의 rmse가 나왔습니다.후에 max_depth=8부터 튜닝을 시도했는데 depth를 올리는게 아닌 최솟값인 1까지 내렸을 때 최적의 rmse가 나오더라구요.이런 모델을 만들어본적이 없어서.. 혹시 제가 코딩한 모델이 잘못된건가 의문이 들어 질문드립니다! 정상적인 걸까요...?
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
다중선형회귀 질문입니다.
만약 적합된 회귀모델의 회귀계수 중 가장 큰 값을 물었을때, Intercept를 포함하는지, 음수는 작은 값이 맞는지 (상관계수 처럼 절댓값으로 고려하지 않아도 되는지) 궁금합니다.
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
기출7 작업형1 문제2 질문
corr을 사용할때는 꼭 절댓값을 같이 사용해주어야하나요?(abs)현재 제 풀이처럼 상관관계를 close기준으로 내림차순 정렬한 후에 시리즈를 눈으로 확인해서, DE중에 가장 높이 있는 컬럼을 평균내어 풀이하는 방식은 너무 야매인가요..??ㅋㅋㅋ...
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
강의 연장 문의
안녕하세요작년에 할인할때 구매했다가, 필기를 올해 4월이 되어서야 합격하면서 해외출장으로 인해 6월 초부터 수강하다가금주 시험을 앞두고 집안행사로 금일 접수 취소를 했습니다.교재도 구매해서 열심히 들어보려고 했는데11월 시험에 다시 응시하고 싶은데 사전에 책을 선공부하고나중에 재요청드려서 남아있는 기간만이라도 재수강하고 싶습니다.꼭 갖고 싶었던 자격증이라 필기 합격까지 3차례의 시도가 있었기에 더욱 절실합니다.꼭 합격해서 후배나 지인분들에게 홍보 많이 할테니 기회를 주시면 감사하겠습니다.
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
2유형 데이터 전처리 부분 도와주세요!
안녕하세요. X_train, y_train을 합치고 난 다음 어떻게 하는지 모르겠습니다,,df = pd.concat([X_train, y_train['Reached.on.Time_Y.N']],axis=1)print(df.head(1)) print(df.shape, X_test.shape)target = df.pop('Reached.on.Time_Y.N')df = pd.get_dummies(df)X_test = pd.get_dummies(X_test)print(df.shape, X_test.shape) 이렇게 합치고 원핫인코딩하는게 맞나요?또 값이 아래와 같이 나오는데, 전보다 이후의 shape가 더 크게 나오는게 맞는지 궁금합니다!(8799, 12) (2200, 11) (8799, 20) (2200, 20)--------------q2. roc_auc = roc_auc_score(y_val, pred[:,1]) roc_auc구할 때만 pred[:,1]을 적나요? 다른 건 pred만 적는지 궁금합니다!
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
8회 기출 2유형 질문
학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요!질문과 관련된 영상 위치를 알려주면 더 빠르게 답변할 수 있어요먼저 유사한 질문이 있었는지 검색해보세요풀이 도중에 자꾸 아래와 같은 오류가 뜨더라구요KeyError: "['customerID'] not found in axis"train = train.drop('customerID',axis=1) test= test.drop('customerID',axis =1)질문 1]그래서 해당 컬럼(customerID)만 드롭해서 아래와 같이 푸니까 에러는 안뜨는데 이걸 드롭해도 괜찮은지 아닌지는 어떻게 판단해야하나요?질문 2]왜 customerID는 원핫인코딩으로 해결이 안되고 오류가 뜨는 건지 궁금합니다ㅠ 질문 3] customer id를 값이 모두 유니크해도 숫자형이면 유지하지만, 문자형이라 ID는 삭제했다고 하셨는데 숫자형이면 drop없이 그냥 원핫인코딩만 해도 에러가 안뜨는 걸까요?질문 4]이런 오류를 방지하려면 아래와 같이 train과 test를 먼저 합쳐서 인코딩한 뒤, 다시 분리해서 사용하는게 안전할까요?df_all = pd.concat([train, test]) df_all_encoded = pd.get_dummies(df_all) train_encoded = df_all_encoded.iloc[:len(train), :] test_encoded = df_all_encoded.iloc[len(train):, :]
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
2유형 데이터 전처리 부분 도와주세요!
안녕하세요. X_train, y_train을 합치고 난 다음 어떻게 하는지 모르겠습니다,,df = pd.concat([X_train, y_train['Reached.on.Time_Y.N']],axis=1)print(df.head(1)) print(df.shape, X_test.shape)target = df.pop('Reached.on.Time_Y.N')df = pd.get_dummies(df)X_test = pd.get_dummies(X_test)print(df.shape, X_test.shape) 이렇게 합치고 원핫인코딩하는게 맞나요?또 값이 아래와 같이 나오는데, 전보다 이후의 shape가 더 크게 나오는게 맞는지 궁금합니다!(8799, 12) (2200, 11) (8799, 20) (2200, 20)
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
작업형 2유형 질문
학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요!질문과 관련된 영상 위치를 알려주면 더 빠르게 답변할 수 있어요먼저 유사한 질문이 있었는지 검색해보세요기출 5회 아래와 같이 풀어도 된다고 하셨는데한가지 궁금한점이 생겨 재질문 드립니다.질문1) 검증데이터분리를 한 것과 안한것에 대해 결과에 차이가 발생하나요?차이가 발생한다면 어떤 이유 때문인지 알 수 있을까요?y=train.pop('price')train=pd.get_dummies(train)test=pd.get_dummies(test)from sklearn.ensemble import RandomForestRegressorrf =RandomForestRegressor(random_state=0)rf.fit(train,y)pred=rf.predict(test)submit = pd.DataFrame({'pred':pred})submit.to_csv('result.csv', index=False)
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
강의 수강 질문
오늘까지 수강을 들어서 섹션 10까지 수강을 완료했습니다.이후 강의 중 필수적으로 수강해야 하는 강의가 궁금합니다. 섹션 11에 로지스틱 회귀(필수) 라고 되어있는것도 필수로 들으라는 의미 맞죠?? 선생님이 수강 할 강의 다 알려주시면 이후에는 문제 풀이만 계속 할 생각인데.. 기출문제 먼저 풀고 책에있는 예상문제 푸는게 나을지, 예상문제부터 푸는게 나을지 조언 부탁드립니다.
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
인코딩 관련질문
안녕하세요 선생님. 제가 수강을통해 배우기로는decribe(include ='O')속성을 찍어봐서 unique개수가 맞지않으면 데이터를 합친 후 인코딩을 진행하는거로알고있습니다. 강의중에는 평소에는 보통 그냥 train,test를 따로따로 인코딩 하시더라고요.(원핫에경우에도, 라벨인코딩일때는 train ->fit_transform, test->transform이런식으로). 저도 이 방식으로 하다가 원핫이든 라벨인코딩이든 unique개수가 같든 그냥 모두 데이터를 합친 후, 인코딩 한 후에 데이터를 다시 train과 test를 분할해 사용하고 있습니다.(스케일링 필요할 경우에는 인코딩 후 스케일링 후 분할). 혹시 이 방법으로 계속 진행하고 시험환경에서도 그렇게 해도될지 질문드립니다. data = pd.concat([train, test], axis =0) print(data.shape) from sklearn.preprocessing import LabelEncoder cols = data.select_dtypes(include = "object").columns for col in cols: la = LabelEncoder() data[col] = la.fit_transform(data[col]) train = data[:len(train)].copy() test = data[len(train):].copy() print(train.shape, test.shape)
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
train_copy 안할 경우 스케일링 코딩법
학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요!질문과 관련된 영상 위치를 알려주면 더 빠르게 답변할 수 있어요먼저 유사한 질문이 있었는지 검색해보세요아래 코드 안 쓸경우,# 데이터를 매번 새롭게 불러오기 위해 함수로 제작 함 def get_data(): train_copy = train.copy() test_copy = test.copy() return train_copy, test_copy아래처럼 입력하면 되나요?from sklearn.preprocessing import MinMaxScaler scaler = MinMaxScaler() display(train[cols].head(2)) train[cols] = scaler.fit_transform(train[cols]) test[cols] = scaler.transform(test[cols]) display(train[cols].head(2))
-
미해결[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
기출 9회 연도의 자료형
안녕하세요.9회 기출 데이터의 '연도'는 int로 숫자형으로 표기되었지만 범주형인 것 같아서 이런 경우에 다른 처리가 필요하지 않은지 갑자기 궁금증이 생겨 질문드립니다.
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
작업형2유형 기출 5회 풀이 확인 부탁드립니다.
학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요!질문과 관련된 영상 위치를 알려주면 더 빠르게 답변할 수 있어요먼저 유사한 질문이 있었는지 검색해보세요시험이 코앞이나 아직 다른 방법을 시도해보기에는 에러가 너무 많이 떠서 아래와 같이 코드 작성하였는데 이렇게만 작성하면 너무 위험한 판단일지 조언 부탁드립니다. (문제에서 제시하고 있는 평가지표를 안사용하고 이런식으로 제출해도 될지 해서요,,!이방법말고는 아직 숙달된 방법이 없어 문의드립니다)y=train.pop('price')train=pd.get_dummies(train)test=pd.get_dummies(test)from sklearn.ensemble import RandomForestRegressorrf =RandomForestRegressor(random_state=0)rf.fit(train,y)pred=rf.predict(test)submit = pd.DataFrame({'pred':pred})submit.to_csv('result.csv', index=False)
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
작업형2 회귀 평가 기준
평가지표가 이렇게 나왔는데 제출해도 괜찮은 정도일까요?아니면 수정해서 더 좋게 보완하는 게 좋을까요?평가지표들의 기준이 궁금합니다.그리고 회귀모델은 시험에서 몇 개 정도 돌려보는게 좋고, 해볼만한 모델이 있을까요?