묻고 답해요
167만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
작업형2 빅데이터 분석기사 2회 실기 질문
df = pd.concat([X_train,y_train['Reached.on.Time_Y.N']], axis=1) n_train = df.select_dtypes(exclude = object).copy() c_train = df.select_dtypes(include = object).copy() n_test = df.select_dtypes(exclude = object).copy() c_test = df.select_dtypes(include = object).copy() from sklearn.preprocessing import MinMaxScaler scaler = MinMaxScaler() cols = ['Customer_care_calls','Customer_rating', 'Cost_of_the_Product', 'Prior_purchases', 'Discount_offered', 'Weight_in_gms'] n_train[cols] = scaler.fit_transform(n_train[cols]) n_test[cols] = scaler.transform(n_test[cols]) c_train = pd.get_dummies(c_train) c_test = pd.get_dummies(c_test) train = pd.concat([n_train, c_train], axis =1) test = pd.concat([n_test, c_test], axis =1) train = train.drop('ID', axis =1) test_id = test.pop('ID') from sklearn.model_selection import train_test_split X_tr, X_val, y_tr, y_val = train_test_split( train.drop('Reached.on.Time_Y.N', axis =1), train['Reached.on.Time_Y.N'], test_size = 0.2, random_state = 2023) from sklearn.ensemble import RandomForestClassifier from sklearn.metrics import roc_auc_score model = RandomForestClassifier(random_state = 2023) model.fit(X_tr, y_tr) pred = model.predict_proba(X_val)[:,1] print(roc_auc_score(y_val, pred)) pred = model.predict_proba(test)[:,1] submit = pd.DataFrame({ 'ID': test_id, 'Reached.on.Time_Y.N': pred }) submit.to_csv("0000.csv", index = False)작업형2를 n_train, n_test, c_train, c_test로 나누어서 풀어보는 연습을 하고있는데요위와 같이 코딩을 했는데 roc_auc_score는 잘 출력이 되지만 아래와 같은 워닝이 뜹니다. 이유를 알 수 있을까요? 0.7289745856473446 --------------------------------------------------------------------------- ValueError Traceback (most recent call last) <ipython-input-81-0b0c32327ea7> in <cell line: 38>() 36 print(roc_auc_score(y_val, pred)) 37 ---> 38 pred = model.predict_proba(test)[:,1] 39 submit = pd.DataFrame({ 40 'ID': test_id, 3 frames/usr/local/lib/python3.10/dist-packages/sklearn/base.py in _check_feature_names(self, X, reset) 479 ) 480 --> 481 raise ValueError(message) 482 483 def _validate_data( ValueError: The feature names should match those that were passed during fit. Feature names unseen at fit time: - Reached.on.Time_Y.N
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
3회 기출유형(작업형2) 수업 관련 질문
선생님 안녕하세요 ~ 항상 강의 잘 듣고있습니다!공부를 하다 궁금한 점이 생겨 작업형2 3회 기출문제 관련 질문드립니다.1. 다른 피처엔지니어링은 따로 for문을 사용하지 않아도 여러 컬럼에 대해 스케일링이 적용되던데 왜 Label Encoding만 for문을 사용하는지 궁금합니다.2. unamed:0은 삭제해도 되고, 삭제하지 않아도 되는걸까요?3. 복습을 하며 아래와 같이 풀었는데 이렇게 해도 되는걸까요?제출할 때 선생님께서 사용하신 'index':test.index 대신 기존에 있던 Unnamed: 0을 인덱스처럼 사용하였습니다.#데이터 전처리train = train.drop('Unnamed: 0',axis=1) index = test.pop('Unnamed: 0')#제출submit = pd.DataFrame({'index':index, 'pred':pred[:,1]}) submit.to_csv('2014.csv', index = False) 4. 그리고 pred의 범위 설정할 때, pred 변수를 만들 때 하는게 좋은지 제출할 때 하는게 좋은지 궁금합니다. (pred[:,1]이런식으로 범위 설정)#pred 변수 설정시pred = model.predict_proba(test)[:,1]#제출시submit = pd.DataFrame({'index':index, 'pred':pred[:,1]})5. 수치형 /범주형 데이터 분리 없이 원핫인코딩하는 코드를 알고싶습니다.cols = 범주형 데이터train[cols] = pd.get_dummies(train[cols])>> 이렇게 했을 때는 길이가 안 맞아서 오류가 났고train = pd.get_dummies(train[cols])>> 이렇게 했을 때는 train에 원핫인코딩된 범주형 데이터만 저장이 됐습니다. 감사합니다.
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
예시문제 작업형2 test 데이터 예측시 발생하는 오류
안녕하세요! 복습하는 도중에 이런 에러가 발생되어 질문드립니다 ㅠㅠimport pandas as pd X_train = pd.read_csv('X_train.csv',encoding="euc-kr") y_train = pd.read_csv('y_train.csv') X_test = pd.read_csv('X_test.csv',encoding="euc-kr") print(X_train.shape,y_train.shape) # X_train.head() # y_train.head() # X_train.info() #X_train 환불금액 결측치, 오브젝트 두개 # y_train.info() X_train = X_train.fillna(0) X_train.isnull().sum() X_train = X_train.drop(['cust_id'],axis=1) cust_id = X_test.pop('cust_id') #라벨인코딩 from sklearn.preprocessing import LabelEncoder cols = X_train.select_dtypes( include = 'object').columns cols for col in cols : le = LabelEncoder() X_train[col] = le.fit_transform(X_train[col]) X_test[col] = le.transform(X_test[col]) X_train.head() #검증데이터 분리 from sklearn.model_selection import train_test_split X_tr, X_val, y_tr, y_val = train_test_split(X_train, y_train['gender'], test_size = 0.2, random_state = 2022) X_tr.shape, X_val.shape, y_tr.shape, y_val.shape #모델링 - 랜덤포레스트 from sklearn.ensemble import RandomForestClassifier from sklearn.metrics import roc_auc_score model = RandomForestClassifier(random_state=2022) model.fit(X_tr,y_tr) pred = model.predict_proba(X_val) roc_auc_score(y_val,pred[:,1]) pred = model.predict_proba(X_test) <------------------이 과정에서 발생되는 오류입니다 pred ValueError: Input X contains NaN. RandomForestClassifier does not accept missing values encoded as NaN natively. 라는 에러가 발생합니다 ㅠㅠ코드를 검토해봐도 이상은 없는거같은데.. 뭐가문제일까요? ㅠㅠ
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
빅데이터분석기사 실기시험 hist 사용 못하면 분포 확인을 쉽게 하는 방법 궁금합니다
빅데이터분석기사 실기시험 hist 사용이 가능한가요 ? 사용을 못하는 상황에서는 로그적용해볼만한 데이터 분포 확인 쉽게 하는 방법이 무엇이 있을지 궁금합니다3-6 Regression노트북에서 insurance 데이터셋의 charges 값에 로그를 취하실 때 왼편으로 치우친 것을 확인하신 것 관련 질문입니다LinearRegression은 모델에 random_state를 안 줘도 계속 5888 이라는 RMSE 값이 나오는 반면에, RandomForestRegressor의 경우, (아마도 모델에 random_state적용이 없어서) 결과가 계속 달라집니다. 혹시 LinearRegression은 원래 그런 특징이 있는 모델인가요??
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
작업형1 모의문제3 : 9번 문제 문의
작업형1 모의문제3 의 9번 문제를 풀었는데 답에 '대구'만 나오지 않고 밑에 다른 설명이 나오는데, 무슨 의미이고 왜 나오는지 궁금합니다.[코딩 내용]import pandas as pddf = pd.read_csv('members.csv')# print(df.shape)# print(df.head(10))df = df.fillna(method = 'bfill')df.head()df = df.groupby(['city', 'f2']).sum().reset_index()df.head()df = df.sort_values('views', ascending=False)df.head()print(df.iloc[2,0])[답안내용]대구<ipython-input-102-fa90dbbb01dd>:7: 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)
작업형1 모의문제3 : 7번 문제 질문
선생님!!!작업형1 모의문제3 의 7번에서 행의 평균을 loc 를 사용하여 구하셨는데, 혹시 axis=1 을 사용하여 행별로 평균을 못 구하는지요/즉, df[2001].mean(axis = 1) 로 할때 에러가 발생다던데 loc만 사용해야 하는가요?
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
작업형 2 실전 환경 연습 pd.dataframe 시 에러 해석 부탁드립니다
pd.DataFrame({'cust_id': X_test['cust_id'], 'gender': pred})기재하였는데요, 아래 에러 화면이 뜨는데 해석이 불가하여 문의드립니다. > Makefile:6: recipe for target 'py3_run' failedmake: *** [py3_run] Error 1Traceback (most recent call last): File "/goorm/Main.out", line 37, in <module> pd.DataFrame({'cust_id': X_test['cust_id'], 'gender': pred}) File "/usr/local/lib/python3.9/dist-packages/pandas/core/frame.py", line 636, in init mgr = dict_to_mgr(data, index, columns, dtype=dtype, copy=copy, typ=manager) File "/usr/local/lib/python3.9/dist-packages/pandas/core/internals/construction.py", line 502, in dict_to_mgr return arrays_to_mgr(arrays, columns, index, dtype=dtype, typ=typ, consolidate=copy) File "/usr/local/lib/python3.9/dist-packages/pandas/core/internals/construction.py", line 120, in arrays_to_mgr
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
5회 기출유형(작업형2)
안녕하세요. 강의 잘 듣고 있습니다.보통 작업형2 실행시 train 데이터 id drop하고, test 데이터 id pop처리 했는데(작업형2 모의문제1 에서는 CLIENTNUM 드롭 및 팝처리 함)5회 작업형 2에서는 실시 안 하셨길래... 다른 이유라도 있으신지 궁금합니다.submit으로 내보내기해야하는 값에 price만 있어서 그런가요? 언제 해야하고.. .언제 안 해야하는지.. 넘 헷갈려서요.model을 없애고 돌린게.. rmse가 더 높긴 하더라구요.... ^^;;train = train.drop('model', axis = 1) test_model = test.pop('model')
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
작업형3 예시문제 ttest_rel
ttest_rel 파라미터 중에 a,b가 있는데요강의에서 설명주신 건치료 후 혈압 - 치료 전 혈압이렇게 표시되어 있으니 순서대로 넣어야 한다고 했는데요. 치료 전 혈압 - 치료 후 혈압 이라면stats.ttest_rel(df['bp_before'] - df['bp_after'])위와 같이 작성해야 하는 것으로 이해했습니다. 여기서, ttest_rel 유형은 예시문제 처럼 무조건 두 집단(혹은 조치 전 집단과 조치 후 집단)이 있고, 두 집단 사이의 차이를 이용하는 게 맞을까요?! a와 b를 그냥 설명주신대로만 이해하면 되는지 문의드립니다.
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
작업형2 모의문제 1 질문2
import pandas as pd train = pd.read_csv("train.csv") test = pd.read_csv("test.csv") from sklearn.metrics import accuracy_score, precision_score, recall_score, f1_score, roc_auc_score train 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() from sklearn.preprocessing import MinMaxScaler cols = ['Customer_Age','Dependent_count', 'Months_on_book', 'Total_Relationship_Count', 'Months_Inactive_12_mon', 'Contacts_Count_12_mon', 'Credit_Limit', 'Total_Revolving_Bal', 'Avg_Open_To_Buy', 'Total_Amt_Chng_Q4_Q1', 'Total_Trans_Amt', 'Total_Trans_Ct', 'Total_Ct_Chng_Q4_Q1', 'Avg_Utilization_Ratio'] scaler = MinMaxScaler() n_train[cols] = scaler.fit_transform(n_train[cols]) n_test[cols] = scaler.transform(n_test[cols]) c_train = pd.get_dummies(c_train) c_test = pd.get_dummies(c_test) train = pd.concat([n_train, c_train], axis =1) test = pd.concat([n_test, c_test], axis =1) train = train.drop('CLIENTNUM', axis =1) test = test.pop('CLIENTNUM') from sklearn.model_selection import train_test_split X_tr, X_val, y_tr, y_val = train_test_split( train, train['Attrition_Flag'], test_size = 0.2, random_state = 2023 ) from sklearn.ensemble import RandomForestClassifier from sklearn.metrics import roc_auc_score model = RandomForestClassifier(random_state = 2023) model.fit(X_tr, y_tr) pred = model.predict(X_val) print(pred) # 정확도 print(accuracy_score(y_val, pred)) # 정밀도 print(precision_score(y_val, pred)) # 재현율 (민감도) print(recall_score(y_val, pred)) # F1 print(f1_score(y_val , pred))위와 같이 코드를 진행시[0 1 0 ... 1 0 1]1.01.01.01.0 이 나옵니다. pred 자체가 1차원으로만 나오고 정확도 정밀도 재현율 F1도 1.0으로만 나오는데 무엇이 잘못된건지 모르겠습니다ㅠㅠ
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
작업형2 모의문제1 질문
작업형2 문제마다 어떤문제들은 n_train, c_train, n_test, c_test로 나누는 문제들이 있고 그렇지 않은 문제들이 있어서 헷갈리는데요. 수치형변수를 스케일링하는 과정을 거치려면 n_train, c_train, n_test, c_test로 나눠야 하고,스케일링 과정을 생략하고 범주형 변수 인코딩 과정만을 진행할때는 나눌필요가 없는게 맞나요? 작업형 모의문제 1을 혼자 풀어보는 와중 MinMaxScaler로 스케일링을 해보는중인데 from sklearn.preprocessing import MinMaxScaler cols = ['CLIENTNUM', 'Customer_Age','Dependent_count', 'Months_on_book', 'Total_Relationship_Count', 'Months_Inactive_12_mon', 'Contacts_Count_12_mon', 'Credit_Limit', 'Total_Revolving_Bal', 'Avg_Open_To_Buy', 'Total_Amt_Chng_Q4_Q1', 'Total_Trans_Amt', 'Total_Trans_Ct', 'Total_Ct_Chng_Q4_Q1', 'Avg_Utilization_Ratio'] scaler = MinMaxScaler() for col in cols: n_train[col] = scaler.fit_transform(n_train[col]) n_test[col] = scaler.transform(n_test[col])ValueError Traceback (most recent call last)<ipython-input-38-b70edfd82bf0> in <cell line: 5>() 4 scaler = MinMaxScaler() 5 for col in cols: ----> 6 n_train[col] = scaler.fit_transform(n_train[col]) 7 n_test[col] = scaler.transform(n_test[col]) 85 frames/usr/local/lib/python3.10/dist-packages/sklearn/utils/validation.py in check_array(array, accept_sparse, accept_large_sparse, dtype, order, copy, force_all_finite, ensure_2d, allow_nd, ensure_min_samples, ensure_min_features, estimator, input_name) 900 # If input is 1D raise error 901 if array.ndim == 1: --> 902 raise ValueError( 903 "Expected 2D array, got 1D array instead:\narray={}.\n" 904 "Reshape your data either using array.reshape(-1, 1) if "ValueError: Expected 2D array, got 1D array instead: array=[0.58522152 0.08465774 0.60121236 ... 0.06531669 0.06194963 0.52375209]. Reshape your data either using array.reshape(-1, 1) if your data has a single feature or array.reshape(1, -1) if it contains a single sample. 위와 같은 오류가 발생합니다. 혹시 어떤 부분이 잘못된걸까요?반면에 아래와 같이 실행할 경우 오류가 발생하지않습니다. 강의에서는 cols안에 컬럼값이 여러개이므로 반복문을 써야한다고 배웠는데 제가 잘못알고있는걸까요?from sklearn.preprocessing import MinMaxScaler cols = ['CLIENTNUM', 'Customer_Age','Dependent_count', 'Months_on_book', 'Total_Relationship_Count', 'Months_Inactive_12_mon', 'Contacts_Count_12_mon', 'Credit_Limit', 'Total_Revolving_Bal', 'Avg_Open_To_Buy', 'Total_Amt_Chng_Q4_Q1', 'Total_Trans_Amt', 'Total_Trans_Ct', 'Total_Ct_Chng_Q4_Q1', 'Avg_Utilization_Ratio'] scaler = MinMaxScaler() n_train[cols] = scaler.fit_transform(n_train[cols]) n_test[cols] = scaler.transform(n_test[cols])
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
회귀문제에서 이런 오류 났을 때 어떻게 해결해야 하나요?
pred1 = pred1.astype(int) y_val = y_val.astype(int) pred1 = np.log1p(pred1) y_val = np.log1p(y_val) rmse(np.exp(y_val),np.exp(pred1)) MSE loss가 기하급수적으로 증가해서 NaN값이 발생하는 것 같은데어떻게 해결해야할지 모르겠어요! ㅠㅠ 에러는 아래에 있습니다. <ipython-input-35-aacfc97a4692>:3: RuntimeWarning: invalid value encountered in log1p pred1 = np.log1p(pred1) --------------------------------------------------------------------------- ValueError Traceback (most recent call last) <ipython-input-35-aacfc97a4692> in <cell line: 6>() 4 y_val = np.log1p(y_val) 5 ----> 6 rmse(np.exp(y_val),np.exp(pred1)) 4 frames/usr/local/lib/python3.10/dist-packages/sklearn/utils/validation.py in _assert_all_finite(X, allow_nan, msg_dtype, estimator_name, input_name) 159 "#estimators-that-handle-nan-values" 160 ) --> 161 raise ValueError(msg_err) 162 163 ValueError: Input contains NaN.
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형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() 이건 해당 컬럼에 결측치가 있는 행을 삭제하는게 아닌가요?