묻고 답해요
160만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
df['가격']을 입력해도 오류가 납니다.
데이터 핸들링을 위한 판다스 기초1 강의에 7:33에df['가격']을 입력해도 오류가 납니다.
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
data.csv가 보이지 않습니다.
제가 하나도 모르는데요. ㅠㅠ"데이터 핸들링을 위한 판다스 기초1"에서아무리 찾아도 data.csv가 보이지 않습니다.새로고침을 해도 보이지가 않네요.그 데이터를 따로 올려주실 수 있을까요?감사합니다.
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
피처엔지니어링-n/c_train데이터로 분리 후 다시 컬럼 나열해주는 이유?
안녕하세요. 피처엔지니어링 10:33~ 이후 질문입니다!수치형/범주형데이터를 먼저 나누고 print(c_train.head())등을 해보았을 때 범주형컬럼이 있는 걸 알 수 있는데, 라벨 인코딩/원핫인코딩 전에 cols=['~,~,~']으로 범주형컬럼을 재설정해주는 이유가 궁금합니다~~! (수치형은 id 컬럼을 빼기위해라고 이해했습니다) 라벨인코딩에서from sklearn.preprocessing import LabelEncoderle=LabelEncoder()cols=['~~~']for col in cols:le=LabelEncoder() 로 <-이 부분을 두번 적어주는 이유가 무엇일까요? train,test 데이터의 카테고리가 다르면 두 개를 합친 다음->인코딩->분리해야한다고 하셨는데 두개가 다른건 .unique()등으로 눈으로 직접 확인해야 하는건가요..? 같은 부분에서 iloc는 찾을값 -1 로 [ ] 안에 적는다고 알고 있는데 (ex.kaggle t1-23번에서 10번째 값을 찾을 때 iloc[9]로 찾음)line=int(X_train.shape[0]X_train=all.iloc[line: ~~] 로 적으면 test의 첫번째행이 포함되는게 아닌지 궁금합니다!!
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
모의고사 풀어보기2 관련 질문
선생님, '모의고사 풀어보기2'를 선생님이 알려주신 lgb 로 시험환경에서 코딩 작업을 했는데 에러가 발생해서 문의드립니다. 어떤부분에서 잘못 코딩을 한 건지요?[코딩내용]import pandas as pdpd.set_option('display.max_columns', None)train = pd.read_csv('train.csv')test = pd.read_csv('test.csv')# print(train.shape, test.shape)# print(train.head(3))# print(test.head(3))# print(train.info())# print(train.describe())# print(train.isnull().sum())from sklearn.model_selection import train_test_splitX_tr, X_val, y_tr, y_val = train_test_split(train.drop('target', axis=1), train['target'], test_size=0.1, random_state=2022)# print(X_tr.shape, X_val.shape, y_tr.shape, y_val.shape)from sklearn.metrics import f1_scoreimport lightgbm as lgbmodel = lgb.LGBMClassifier(random_state=2022)model.fit(X_tr, y_tr)pred = model.predict(X_val)print(pred[:10])[에러]> Makefile:6: recipe for target 'py3_run' failedmake: *** [py3_run] Error 1Traceback (most recent call last): File "/goorm/Main.out", line 40, in <module> import lightgbm as lgbModuleNotFoundError: No module named 'lightgbm'
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
모의고사 풀어보기2 관련
선생님, '모의고사 풀어보기2' 를 시험환경에서 코딩을 하는데, 선생님께서 말씀해주신 lgb 를 사용하였는데, 없다는 에러가 나와서 문의드립니다.[코딩내용]import pandas as pdpd.set_option('display.max_columns', None)train = pd.read_csv('train.csv')test = pd.read_csv('test.csv')# print(train.shape, test.shape)# print(train.head(3))# print(test.head(3))# print(train.info())# print(train.describe())# print(train.isnull().sum())from sklearn.model_selection import train_test_splitX_tr, X_val, y_tr, y_val = train_test_split(train.drop('target', axis=1), train['target'], test_size=0.1, random_state=2022)# print(X_tr.shape, X_val.shape, y_tr.shape, y_val.shape)from sklearn.metrics import f1_scoreimport lightgbm as lgbmodel = lgb.LGBMClassifier(random_state=2022)model.fit(X_tr, y_tr)pred = model.predict(X_val)print(pred[:10])[에러]> Makefile:6: recipe for target 'py3_run' failedmake: *** [py3_run] Error 1Traceback (most recent call last): File "/goorm/Main.out", line 40, in <module> import lightgbm as lgbModuleNotFoundError: No module named 'lightgbm'
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
작업형 2 풀 때
안녕하세요.강의 잘 듣고 있습니다.작업형 2 풀면서 print(df.head())로 데이터들이 어떻게 생겼는지 샘플로 확인할 때 안 보이는 칼럼은 pd.set_option~~ 쓰고값이 너무 커서 혹은 또 너무 작아서 e가 들어가는 수치값으로 보인다면... 어떤 코드를 실행하라고 강의 중에 말씀해주신거 같은데 ㅠㅠㅠ... 어느 강의였는지 기억이 안 나서요..혹시.. 코드 기억하실까요?ㅠㅠ
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
작업형2 모의문제3 에러 문의
선생님!!!작업형2 모의문제3에서 마지막에 데이터프레임을 작성하는데서 에러가 발생하는데, 원인과 수정 방법이 무엇인지 궁급합니다.[코딩내용]import pandas as pdtrain = pd.read_csv('train.csv')test = pd.read_csv('test.csv')print(train.shape, test.shape)train.head(3)test.head(3)train.info()train.describe()test.describe()train.isnull().sum()test.isnull().sum()train = train.drop('id', axis=1)test_id = test.pop('id')test.head(3) from sklearn.model_selection import train_test_splitX_tr, X_val, y_tr, y_val = train_test_split(train.drop('output', axis=1),train['output'], test_size=0.1, random_state=2022)X_tr.shape, X_val.shape, y_tr.shape, y_val.shapefrom sklearn.metrics import roc_auc_score, accuracy_score, f1_scorefrom sklearn.ensemble import RandomForestClassifierrf = RandomForestClassifier(random_state=2022, max_depth=5, n_estimators=100)rf.fit(X_tr, y_tr)pred_proba = rf.predict_proba(X_val)pred_proba[:10]print(roc_auc_score(y_val, pred_proba[:,1]))pred_proba = rf.predict_proba(test)pred_proba[:10] pd.DataFrame({'id' : test_id, 'output' : pred_proba[ : , 1]}).to_csv('0000.csv', index=False)[에러메시지]TypeError Traceback (most recent call last)<ipython-input-128-a023f69b95e2> in <cell line: 3>() 1 pred_proba = rf.predict_proba(test) 2 pred_proba[:10]----> 3 pd.DataFrame({'id' : test_id, 'output' : pred_proba[ : , 1]}).to_csv('0000.csv', index=False)TypeError: 'dict' object is not callable
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
작업형1 모의문제 질문
문제1에서 df = df[:int(len(df) * 0.7)] 부분을df = df.loc[:int(len(df) * 0.7)] 로 코딩했더니 답이 다르게 나옵니다. loc는 인덱스가 50이 있는 행까지만 출력되기에 70%의 데이터개수를 할때는 loc가 부적합한건가요? 문제2에서 df = df.dropna(subset=['f1']) 부분을 저는 df = df['f1'].dropna() 라고 코딩했더니 df.shape이 (69,) 로 나옵니다. df = df['f1'].dropna() 이건 해당 컬럼에 결측치가 있는 행을 삭제하는게 아닌가요?
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
작업형2 모의문제2 라벨인코딩 과정 중 에러
안녕하세요! 강의 진행중 코드에서 오류가 생겨 질문드립니다 ㅠㅠ라벨인코딩 하는도중 cols = train.select_dtypes(include='object').columns cols from sklearn.preprocessing import LabelEncoder for col in cols : le = LabelEncoder() train[col] = le.fit_transform(train[col]) test[col] = le.transform(test[col]) train() 이렇게 작성하였으나TypeError: Encoders require their input to be uniformly strings or numbers. Got ['int', 'str']이런 오류가 나왔습니다 ㅠㅠ 위의 작성된코드를 살펴봐도 어디가 잘못된지모르겠어서, 또 저 에러가 무슨뜻인지 이해가 안가서 질문드립니다 ㅠ 또한, 데이터 전처리 과정 중 다소 불필요한 데이터(?)컬럼(?)을 삭제하지않고 진행할경우 성능이 크게 떨어질까요? ㅠㅠ 괜히 삭제했다가 나중에 뭔가 안맞아서 결과 도출에 오류가 생길까봐 컬럼을 삭제하는게 맘에 걸려서 시험에서는 되도록 그냥 두고싶습니다 ㅠㅠ 괜찮을까요?
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
3회 빅데이터 분석기사 실기(작업형2) 질문
안녕하세요 강사님 강의듣던 와중에 질문 있습니다!2회 작업형2에서는 수치형변수 스케일링 과정이 없었고 이번 3회작업형2에서는 수치형변수 스케일링 과정이 있네요. 혹시 이유가 있을까요? 또 3회에서 MinMaxScaler나 StandardScaler를 쓰는것 또한 저의 재량인지 궁금합니다.\ 2회에서는 copy의 과정이 없었는데 3회에서는 copy를 한 이유가 있나요? 시험장에서 어떤방식으로 밀고나가야할지 혼란스러워요ㅠ 괄호안에 ' ' 와 " " 는 동일한가요? 검증데이터 분리시 train_test_split(train.drop('TravelInsurance', axis =1), train['TravelInsurance'] 에서 TravelInsurance를 drop한 이유가 뭔가요? 2회 작업형2에서는 ID를 drop한건 학습할때 필요가 없어서로 알고있는데 해당 문제에서는 Unnamed를 drop해야하는것 아닐까요? 헷갈리네요ㅠㅠ 수치형 변수 스케일링 과정에서cols = ['Age', 'AnnualIncome', 'FamilyMembers', 'ChronicDiseases'] display(n_train.head()) n_train[cols] = scaler.fit_transform(n_train[cols]) n_test[cols] = scaler.transform(n_test[cols]) n_train.head()이 부분에서 2회 작업형 2번처럼 cols안에 여러개가 들어있으므로아래와 같이 반복문을 쓰거나for col in cols: le = LabelEncoder() X_train[col] = le.fit_transform(X_train[col]) X_test[col] = le.transform(X_test[col]) 아래와 같이 일일히 col을 설정해줘야 오류가 안생기지 않나요?# col = 'Warehouse_block' # le = LabelEncoder() # X_train[col] = le.fit_transform(X_train[col]) # X_test[col] = le.transform(X_test[col]) # col = 'Mode_of_Shipment' # le = LabelEncoder() # X_train[col] = le.fit_transform(X_train[col]) # X_test[col] = le.transform(X_test[col]) # col = 'Product_importance' # le = LabelEncoder() # X_train[col] = le.fit_transform(X_train[col]) # X_test[col] = le.transform(X_test[col]) # col = 'Gender' # le = LabelEncoder() # X_train[col] = le.fit_transform(X_train[col]) # X_test[col] = le.transform(X_test[col])
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
n개 데이터 합치기/분리하기 질문
라이브러리 및 데이터 불러오기 그리고 EDA강의중,17:04->데이터 합치기19:03->데이터 분리하기 부분입니다. N개의 데이터를 합치고 분리할 때2개가 주어진 경우와 3개가 주어진 경우를 안다고 가정하고 ['income']을 기준으로 합치거나 분리하시던데,시험에서는 2개나 3개 중 한가지로만 주어지지 않나요? 그럴 경우 어떤 컬럼을 기준으로 합/분리하는지 어떻게 알 수 있을까요..? 같은 강의의 EDA 전반y_train데이터에 대해서는 결측치나 타입,크기 등을 확인하지 않아도 되는건가요..? 데이터전처리 강의에서 11:00->결측치채우기 -최빈값에서mode() [0] 을 쓰시던데 [0]이 의미하는 바가 무엇인지 알고싶습니다!
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
첨부자료 관련
안녕하세요첨부파일 압축 풀면 들어있는 MACOSX 는 무엇일까요?
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
3회 기출유형(작업형2)_ csv 파일 생성 오류 등
안녕하세요.강의 잘 듣고 있습니다. 항상 어의없을 질문에도 친절하게 답해주셔서 정말 감사드립니다.3회 기출유형(작업형 2)에서 관련해서 문의드립니다.1. 문제를 보고 회귀인지 분류인지 구분이 잘 안될 땐 모델링을 회귀도 해보고 분류도 해봐서 가장 성능이 좋은 걸 사용하면 되겠죠?2. 확률을 예측할 때분류모델이면 proba를 써야하는데predict=model.predict_proba(x_val)회귀모델일 경우에는 proba를 사용 안 해도 되나요?predict=model.predict(x_val) 3. Unnamed: 0 변수를 의미없는 값이라고 생각하여 데이터 전처리 과정 중에train, test 데이터에서 모두 drop을 했습니다.근데.... 왜 csv 파일 생성할 때, 다시 나타난 걸까요...ㅠㅠ<출력된 csv 파일..> <코드># 라이브러리 및 데이터 불러오기 import pandas as pd train = pd.read_csv("train.csv") test = pd.read_csv("test.csv") # EDA pd.set_option('display.max_columns',None) print(train.head()) # target: TravelInsurance 포함되어 있음 print(test.head()) print(train.shape, test.shape) print(train.info()) print(train.describe()) print(train.describe(include= 'object')) # Employment Type GraduateOrNot FrequentFlyer EverTravelledAbroad print(train.isnull().sum()) print(train.value_counts('TravelInsurance')) # 0 965, 1 525 # 데이터 전처리(결측치: 없음, 의미 없는 칼럼 삭제, ID 처리: 없음) # Unnamed: 0 삭제 train = train.drop('Unnamed: 0', axis = 1) test =test.drop('Unnamed: 0', axis = 1) print(train.shape, test.shape) print(train.head()) print(test.head()) # 피처엔지니어링(범주형) from sklearn.preprocessing import LabelEncoder cols = ['Employment Type', 'GraduateOrNot', 'FrequentFlyer', 'EverTravelledAbroad'] for col in cols: la = LabelEncoder() train[col] = la.fit_transform(train[col]) test[col] = la.transform(test[col]) # 데이터 분할 from sklearn.model_selection import train_test_split x_tr, x_val, y_tr, y_val = train_test_split(train.drop('TravelInsurance', axis =1), train['TravelInsurance'], test_size = 0.2, random_state = 2023) print(x_tr.shape, x_val.shape, y_tr.shape, y_val.shape) # (1192, 8) (298, 8) (1192,) (298,) # 모델링(회귀) # import sklearn # print(sklearn.__all__) # print(sklearn.linear_model.__all__) from sklearn.linear_model import LinearRegression model = LinearRegression() model.fit(x_tr, y_tr) predict=model.predict(x_val) print(predict) # 성능평가(roc_auc_score) from sklearn.metrics import roc_auc_score r = roc_auc_score(y_val, predict) print(r) #베이스: 0.7544863861386139 # 예측 predict=model.predict(test) # 데이터 내보내기 submit = pd.DataFrame( { 'y_pred' : predict } ).reset_index().to_csv("1111.csv") df1 = pd.read_csv("1111.csv") print(df1.head())
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
빅데이터 분석기사(3회): 기출유형-작업형1 문제1
안녕하세요!df = pd.read_csv("members.csv") import pandas as pd df = df.dropna() length = int(len(df) * 0.7) df = df.head(length) df['f1'].quantile(0.25)저는 처음에 위와 같이 풀었는데 값은 동일하게 57.0이 나오는데요!문제를 풀때 iloc를 안쓰고 해당 방법처럼 head(length)해서 df값에 넣어도 iloc랑 문제없을까요?
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
작업형1 모의문제3 문제8
df.groupby(['city', 'f2']).sum()안녕하세요, 문제를 풀다가 궁금한 점이 있어서 문의드립니다.위와 같이 코드를 작성하면<ipython-input-20-0b895b525272>:8: FutureWarning: The default value of numeric_only in DataFrameGroupBy.sum is deprecated. In a future version, numeric_only will default to False. Either specify numeric_only or select only columns which should be valid for the function. df.groupby(['city', 'f2']).sum()이런 오류가 발생하는데요. groupby에서의 sum함수가 deprecated되었다고 하는데요, 이는 다른 함수로 대체되거나 아예 사라지는 것으로 알고있습니다. 시험보는 버전 내에서는 문제없이 사용해도 될까요?
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
Warning 대처방법 문의드립니다.
작업형1 모의문제3의 문제8번 중 일부 코드를 실행한 결과 FutureWarning이 발생하였습니다.(다른 코드 실행시에도 종종 보입니다.)왜 발생하는지, 해결방법은 무엇인지 조언 부탁드립니다. 작성코드df=pd.read_csv("members.csv")df=df.fillna(method='bfill')df=df.groupby(['city','f2']).sum().reset_index() 실행결과<ipython-input-136-bfe31d68ed6e>:5: FutureWarning: The default value of numeric_only in DataFrameGroupBy.sum is deprecated. In a future version, numeric_only will default to False. Either specify numeric_only or select only columns which should be valid for the function. df=df.groupby(['city','f2']).sum().reset_index()
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
3회 기출문제 작업형2
안녕하세요! 강의 듣던 중 질문이 생겨 글남깁니다. 2회 기출문제 작업형2 강의와는 다르게 왜 데이터 전처리 과정에서 수치형데이터와 범주형데이터를 분리하나요? 왜 2회 기출문제 과정에서는 필요가없는걸까요? ㅠㅠ # 수치형 데이터와 범주형 데이터 분리n_train = train.select_dtypes(exclude='object').copy()c_train = train.select_dtypes(include='object').copy()n_test = test.select_dtypes(exclude='object').copy()c_test = test.select_dtypes(include='object').copy() (↑이 과정에 대한 질문입니다!) 어쩔때 robustscaler를 쓰고, minmaxscaler를 쓰고.. 스케일 방법이 다양한데 어떻게 선택하는건가요? 검증데이터 분리할떄 test_size 설정기준은 무엇인가요? 0.1로할떄도 있고 0.2로 할떄도 있으신데 어떻게 선정하시는건가요? 위와 마찬가지로 검증데이터 분리과정에서 random_state = 1204 를 설정하는 이유가 이해가 잘 안갑니다 ㅠ 저것의 의미가 무엇이고 숫자는 왜 1204인건가요?? (3,4번 질문은 이 코드에서의 질문입니다! from sklearn.model_selection import train_test_splitX_tr, X_val, y_tr, y_val = train_test_split(train.drop('TravelInsurance', axis=1),train['TravelInsurance'],test_size=0.1,random_state=1204)X_tr.shape, X_val.shape, y_tr.shape, y_val.shape)
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
빅분기 실기 제2문형에 관한 질문
✨빅분기 실기 너무 준비할께 많네요. TT실기 2유형에 같은 경우 모델을 정하고 데이터모형 평가 성능을 높이기 위한 하이퍼 파라미터 튜닝 절차를 반드시 거쳐야 하는지 여쭤봅니다.
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
"모의고사2" 질문
선생님!!궁금한 점을 질문드리면 항상 빠른 답변 드리시는 점에 감사드립니다."모의고사2" 관련하여 궁금한점을 질문드립니다.평가지표가 f1 인데, f1도 점수가 높은 경우 성능이 좋은건가요? 만약 하이퍼파라미터 투닝을 할 경우 f1 점수가 높게 나오는 것으로 test 데이터를 에측해서 csv 화일을 작성해야 하는 건지요?'모의고사2'를 시험환경에서 연습하는데, 랜덤포레스트는 큰 문제 없이 진행되었는데, xgboost 모델로 할 경우 진행이 안되고 에러가 발생합니다.이유가 무엇이고 어떻게 수정해야 하는지요?
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
분류 모델 평가 관련
안녕하세요 빠른 답변 주셔서 공부에 많은 도움이 되고 있어 감사드립니다.roc_auc_score 평가 시에만 accuracy, precision, recall, f1 과 다르게 predict_proba를 사용하는 이유 궁금합니다