묻고 답해요
158만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결딥러닝 CNN 완벽 가이드 - TFKeras 버전
테스트 데이터 적용시 BN에 대해서 질문있습니다.
학습된 모델을 이용해서 1개의 test data를 추론하는 과정에서 BN이 적용이 안되기 때문에,학습데이터를 통해 구해진 평균과 표준편차를 이용해서 1개의 test data를 BN시켜주는것이 맞나요??(지수가중평균이동을 이용해서)r(scaling)과 b(shift)는 학습 데이터에서 최적화 된 값을 이용하는것이고요!!제가 정확히 이해한건지 확인차 질문드립니다!!
-
해결됨[파이토치] 실전 인공지능으로 이어지는 딥러닝 - 기초부터 논문 구현까지
14강 데이터 불균형 RandomRotation
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. tr.RandomRotation(10, resample=PIL.Image.BILINEAR),이 부분에서 RandomRotation.__init__() got an unexpected keyword argument 'resample'이런 TypeError 가 발생을 하는데 원인을 잘 모르겠습니다.
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
3회 기출유형(작업형2) 강의 관련 질문 있습니다!
안녕하세요! 강의 잘 듣고 있습니다!i. 3회 기출유형(작업형2)의 <데이터 전처리 및 피처엔지니어링 - 스케일링> 부분에서ii. 2회 기출 강의에서는 for col in cols: i_train[cols] = scaler.fit_transform(i_train[cols]) i_test[cols] = scaler.transform(i_test[cols]) i_train.head() 요렇게 for문을 쓰셔서 transform을 하셨는데요iii. 3회 기출에서는i_train[cols] = scaler.fit_transform(i_train[cols]) i_test[cols] = scaler.transform(i_test[cols]) i_train.head()요렇게 for문을 안쓰셨더라구요. iiii. 혹시 for문을 써야하는 조건과 쓰지 않아도 되는 조건이 따로 있는건가요?
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
작업형2 모의문제2
import pandas as pd train = pd.read_csv("train.csv") test = pd.read_csv("test.csv") #print(train.shape) cols = ['name','host_name', 'last_review', 'host_id'] for col in cols: train = train.drop(col, axis =1) test = test.drop(col, axis = 1) #print(train.shape) train = train.drop('id', axis = 1) test_id = test.pop('id') train['reviews_per_month'] = train['reviews_per_month'].fillna(0) test['reviews_per_month'] = test['reviews_per_month'].fillna(0) from sklearn.preprocessing import LabelEncoder le = LabelEncoder() cols = ['neighbourhood_group', 'neighbourhood','room_type'] for col in cols: le = LabelEncoder() train[col] = le.fit_transform(train[col]) test[col] = le.transform(test[col]) from sklearn.model_selection import train_test_split X_tr, X_val, y_tr, y_val = train_test_split( train.drop('price', axis =1), train['price'], test_size = 0.15, random_state = 2022 ) import numpy as np from sklearn.metrics import r2_score, mean_absolute_error, mean_squared_error from sklearn.ensemble import RandomForestRegressor model = RandomForestRegressor(random_state = 2023) model.fit(X_tr, y_tr) pred = model.predict(X_val) print("r2 :", r2_score(y_val,pred)) print("MAE :",mean_absolute_error(y_val, pred)) print("MSE :", mean_squared_error(y_val, pred)) pred = model.predict(test) print(pred) submit = pd.DataFrame({ 'id': test_id, 'price': pred }) submit.to_csv("0000.csv", index = False) pd.read_csv("0000.csv") y_test = pd.read_csv("y_test.csv") print(r2_score(y_test, pred))위와 같이 직접 코딩하였는데 정상적으로 코드실행은 되나 값이 아래와 같이 나옵니다. 맨아래 평가 부분에서 r2-score가 너무 낮게 나와 하이퍼파라미터 튜닝 등의 작업을 진행해도 값이 눈에띄게 높아지지 않습니다. 만약 시험장에서 저정도의 값이 나오게 되어도 문제가 없는지...만약 문제가 있다면 randomforest 모델 사용시 어떻게 코드를 수정해야 좋을까요?항상 좋은 강의와 질의응답 감사합니다. 덕분에 많이 배우고 있습니다. r2 : 0.24135176879686082MAE : 66.06702993637809MSE : 37136.57052394958[434.45 145.45 165.35 ... 138.18 162.28 205.64]0.05889849774689748
-
미해결[개정판] 딥러닝 컴퓨터 비전 완벽 가이드
주피터 노트북에서 mmdetection
안녕하세요 강사님 좋은 강의 너무 감사드립니다. colab환경에서 하신 code들 바탕으로 주피터노트북 환경에서 연습하고 있었습니다. 그런 중 잘 안되는 부분이 생겨 질문드립니다. 먼저 mmdetecion 설치를 한 제 코드입니다.오류 메세지는 다음과 같습니다pycocotools 다운 받고 런타임 재시작부터 다 해봤습니다ㅠ 파일도 다운 받아있는데 왜 import가 안될까요? 감사합니다
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
4회 기출 유형(작업형2)의 xgb 에러 관련
선생님!! 4회 기출 유형(작업형2)에서 랜덤포레스트와 lgb 는 이상이 없는데, xgb 로 모델링 할 경우에만 에러가 발생하는데, 무슨 문제인가요?[코딩]import pandas as pdtrain = 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.describe(include='object'))# print(test.describe(include='object'))# print(train['Segmentation'].value_counts())# print(train.isnull().sum())# print(test.isnull().sum())train = train.drop('ID', axis=1)test_id = test.pop('ID')test.head(3)cols = train.select_dtypes(include='object').columnsprint(cols)from sklearn.preprocessing import LabelEncoderfor col in cols : le = LabelEncoder() train[col] = le.fit_transform(train[col]) test[col] = le.transform(test[col])train.head(3)from sklearn.model_selection import train_test_splitX_tr, X_val, y_tr, y_val = train_test_split(train.drop('Segmentation', axis=1), train['Segmentation'], 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_scorefrom sklearn.ensemble import RandomForestClassifierrf = RandomForestClassifier(random_state=2022, max_depth=7, n_estimators=100)rf.fit(X_tr, y_tr)pred = rf.predict(X_val)pred[:10]f1_score(y_val, pred, average='macro')from sklearn.metrics import f1_score# import lightgbm as lgb# model = lgb.LGBMClassifier(random_state=2022, max_depth=5, n_estimators=800, learning_rate=0.01 )# model.fit(X_tr, y_tr)# pred = model.predict(X_val)# pred[:10]# f1_score(y_val, pred, average='macro')from sklearn.metrics import f1_scorefrom xgboost import XGBClassifierxgb = XGBClassifier(random_state=2022)xgb.fit(X_tr, y_tr)pred = xgb.predict(X_val)pred[:10][에러내용]ValueError Traceback (most recent call last)<ipython-input-57-d656863c7bc3> in <cell line: 4>() 2 from xgboost import XGBClassifier 3 xgb = XGBClassifier(random_state=2022)----> 4 xgb.fit(X_tr, y_tr) 5 pred = xgb.predict(X_val) 6 pred[:10]1 frames/usr/local/lib/python3.10/dist-packages/xgboost/sklearn.py in fit(self, X, y, sample_weight, base_margin, eval_set, eval_metric, early_stopping_rounds, verbose, xgb_model, sample_weight_eval_set, base_margin_eval_set, feature_weights, callbacks) 1438 or not (self.classes_ == expected_classes).all() 1439 ):-> 1440 raise ValueError( 1441 f"Invalid classes inferred from unique values of y. " 1442 f"Expected: {expected_classes}, got {self.classes_}"ValueError: Invalid classes inferred from unique values of y. Expected: [0 1 2 3], got [1 2 3 4]
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
반복문 안에서 LabelEncoder() 해주는 이유가 궁금합니다
le = LabelEncoder()for col in cols: X_train[col] = le.fit_transform(X_train[col]) X_test[col] = le.transform(X_test[col])이렇게 해주어도 결과는 동일한게 아닌가 해서요. 매 컬럼마다 새로 LabelEncoder() 해줘야 하는 이유가 있는지 궁금합니다
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
4회 기출 유형(작업형2) 관련 질문
안녕하세요?, 선생님4회 기출 유형(작업형2) 관련한 강의에서는 다른 강의와 다르게 교차검증을 이용하는 방법으로 진행하셨는데, 기존에 강의하신 대로 검증 데이터를 분리하고 모델링 및 평가를 하려고 하였는데, 평가방법이 macro_f1 이어서 어떻게 평가를 하여야 할지 모르겠습니다.macro_f1 이 f1_score를 평균으로 나타내는 방법을 사용하려고 하였지만 f1_score 가 에러가 발생합니다.macro_f1 평가는 어떻게 해야 하는가요?
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
모델링 및 평가(분류)/원핫인코딩-라벨인코딩 오류 질문드립니다!
안녕하세요data_atype을 가지고 0또는 1일 확률을 구하는 문제에서 범주형 데이터를 원핫인코딩하면마지막 pred=rf.predict_proba(test) 과정에서 다음과 같은 에러메세지가 발생합니다. 저 4개의 컬럼이 원핫인코딩 과정에서 사라졌다는건가요..? 원핫인코딩 후 c_x.info()했을 때 저 컬럼들이 있는 걸 확인할 수 있는데요ㅠ // 그리고 원핫인코딩 말고 라벨인코딩을 하면 정상실행 되는데 어떤 차이가 있는건지 궁금합니다!! 감사합니다!!!--------------------------------------------------------------------------- ValueError Traceback (most recent call last) <ipython-input-185-ae1d02bf50a7> in <cell line: 1>() ----> 1 pred=rf.predict_proba(test) 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 seen at fit time, yet now missing: - native.country_Holand-Netherlands - native.country_Honduras - native.country_Hungary - native.country_Scotland
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
안녕하세요! sum 함수를 쓸 곳에 len을 썼다가 의문이 생겨서 질문드립니다!
안녕하세요, 좋은 강의 잘 듣고 있습니다!다름이 아니라 3회 기출 작업형 1번(문제2) 강의- 2000년 데이터 중 2000년 평균보다 큰 값의 데이터 수 구하기에서 선생님이께서cond = df.loc[2000].mean() print(sum(df.loc[2000,:]>cond)) 으로 'sum'을 쓰신 부분(결과값 100)을저는 print(len(df.loc[2000,:]>cond))로 쓰니, 저는 전체 행의 개수가 계속 출력(결과값 200)이 나오더라구요. 이유가 뭔지 생각해봐도 제 얄팍한 지식으로는 도무지 생각이 안나서 선생님의 답변을 듣고싶어 질문드립니다!
-
미해결캐글 Advanced 머신러닝 실전 박치기
아나콘다 환경설정
안녕하세요 선생님실습환경 구축이 너무 어려운데 pc 메모리가 16gb 이면그냥 주피터노트북으로 실행해도 무관할까요?
-
미해결[개정판] 딥러닝 컴퓨터 비전 완벽 가이드
MMDetection 추론 시 Pretrained Model 적용에 관한 문의
안녕하세요.이렇게 좋은 강의 들을 수 있는 기회 주셔서 감사드립니다.강의를 들을때마다, 강의의 내용과 질에 감탄하고 있습니다.강의를 듣다, 궁금한 점이 있어 질문드립니다.섹션 4의 MMDetection의 이해와 Faset RCNN 적용 실습 01의‘tiny kitti 데이터로 MMDetection Train 실습 - Train 실행 후 이미지 Inference’ 에서 궁금한 점이있습니다.저는 GPU를 가지고 있어 우분투 환경에서 아나콘다의 spyder를 에디터로 사용하고 있습니다. 첫번째 질문입니다.mm_faster_rcnn_train_kitti.py 파일의 225라인train_detector(model, datasets, cfg, distributed=False, validate=True) 에서 12epoch 동안 학습을 하고,다음과 같이 00000068.jpeg 파일에 대해 추론을 했습니다.--추론부분 시작-------------img = cv2.imread('./kitti_tiny/training/image_2/000068.jpeg')model.cfg = cfgresult = inference_detector(model, img)show_result_pyplot(model, img, result)--추론부분 종료------------- 그런데, 추론을 할때 여전히 pretrained model로서 faster_rcnn_r50_fpn_1x_coco_20200130-047c8118.pth 을 이용하여 학습을 하는 것 같습니다.(혹시 tiny kitti 데이터를 이용하여 학습한 결과의 파라미터가 faster_rcnn_r50_fpn_1x_coco_20200130-047c8118.pth에도 적용되는지도 궁금합니다.faster_rcnn_r50_fpn_1x_coco_20200130-047c8118.pth의 속성을 찍어보면 최종 modified date는 2021년 11월 3일로 되어있어서 적용이 안되는것으로 추정됩니다.)print(model.cfg)로 찍어보면 다음과 같이 되어 있습니다.load_from = '../mmdetection/checkpoints/faster_rcnn_r50_fpn_1x_coco_20200130-047c8118.pth'제 소견에는 학습을 했으면0000068.jpeg 파일에 대해 추론을 할때 사전학습을 통해 새롭게 만들어진 epoch_12.pth이나 latest.pth을 pretrained model로서 사용하는것이 어떤가 하는것입니다.만약 그렇게 하자면, 다음과 같이 바꾸면 되는지도 궁금합니다.---추론부분 수정 시작-------------------------------img = cv2.imread('../kitti_tiny/training/image_2/777.jpeg')cfg.load_from = './tutorial_exps/latest.pth' ; pretrained 모델 바꾸는 부분model.cfg = cfgresult = inference_detector(model, img)show_result_pyplot(model, img, result)---추론부분 수정 종료---------------- 두번째, 질문입니다.위에서 추론을 할때 model.cfg=cfg를 하고print(model.cfg)를 출력을 해보면,다음과 같이 roi_head 부분에 train_cfg, test_cfg가 하나씩 생기고바로 그 밑에 보면 train_cfg, test_cfg가 하나씩 더 있는데 내용이 pos_iou_thr, neg_iou_thr, pos_iou 등 설정값이 서로 다르게 되어 있습니다.train_cfg, test_cfg가 서로 다르게 2개씩 설정되어 있다면 추론이나 학습이 어떤 cfg가 적용되는지 궁금합니다. 세번째, 질문입니다.만약 resnet을 transfer learning이나 fine tuning을 하려면, /mmdetection/mmdet/models/backbones/resnet.py를 수정하면 되는지 문의드립니다. 강의를 듣다보니, 지식이 짧아 제대로 질문드렸는지 모르겠습니다.강의를 이해하지 못해 드리는 우문이라면, 수강생의 열정으로 생각해주시고 너그러이 이해하여 주시기 바랍니다.좋은 강의, 열강에 감사드리며 앞으로 이런 강의가 많이 만들어지기를 희망합니다.감사합니다.
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
머신러닝 실행 오류(ValueError: Input X contains NaN.) 질문드립니다
안녕하세요. 동영상대로 따라하다가 에러가 났는데 잘못된 부분을 찾지 못해 질문드립니다 ㅠㅠ[고/저소득을 0또는 1로 분류할 때]저는 x,y,test로 3개 데이터를 불러온 후->전처리->피처엔지니어링까지 했고 inty=(y['income']=='>50K').astype(int) from sklearn.model_selection import train_test_split x_tr, x_val, y_tr, y_val= train_test_split(x, inty, test_size=0.1, random_state=100) x_tr.shape, x_val.shape, y_tr.shape, y_val.shape여기서 값이 ((26373, 15), (2931, 15), (26373,), (2931,)) 이렇게 나오면서 정상 실행 됐는데요..from sklearn.ensemble import RandomForestClassifier rf=RandomForestClassifier() rf.fit(x_tr,y_tr) pred=rf.predict(x_val) **여기에서 아래와 같은 오류가 납니다.ㅠㅠ 왜 그런 걸까요ㅠㅠㅠ <ipython-input-112-e7142a22ea96> in <cell line: 3>() 1 from sklearn.ensemble import RandomForestClassifier 2 rf=RandomForestClassifier() ----> 3 rf.fit(x_tr,y_tr) 4 pred=rf.predict(x_val) /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 X contains NaN.
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형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
-
미해결스파크 머신러닝 완벽 가이드 - Part 1
spark환경에서 데이터 수정에 관하여 질문이 있습니다.
안녕하십니까 수업 잘 수강하고 있습니다!수업을 수강하며 pyspark를 통해 예전에 했던 프로젝트의 데이터를 전처리부터 머신러닝까지 적용해보는 중인데, 전처리 과정에서 데이터를 수정해야 하는 경우에 대하여 질문이 있습니다.spark의 경우 pandas처럼 바꾸고 싶은 컬럼의 값만 바꿀 수 있지가 않고, withColumn을 통해 새로운 컬럼을 만들어내는 형식으로 대체가 가능한걸로 알고 있습니다.단순히 컬럼별로 기준을 정해서 바꾸는 거면 withColumn으로도 가능하지만, 만약 개별 줄마다 값을 변경해야 할 경우 for문을 써서 바꿔야 하는 경우가 있는데, 이렇게 할 경우 제 현재 작업 환경(로컬)이 노드가 하나여서 그런지 Java.lang.OutOfMemoryError이 뜨더군요. 그래서 기존에 하던 pandas에서 하던 것 처럼 하려면, toPandas로 바꿔서 해도 되긴 합니다만.. 그러면 pyspark를 이 단계에서는 굳이 사용해봐야 의미가 없고, 또한 나중에 in-memory에서는 처리를 하기 힘든 큰 데이터의 경우에서는 pandas를 사용하지 못하니 방법이 아예 사라지게 됩니다. 그래서 질문은, 만약 이 경우처럼 세세하게 한줄한줄마다 값을 수정할 필요가 있을 경우, 어떻게 하는 것이 좋을지 궁금합니다. 또, spark dataframe을 toPandas로 변환할 경우 그냥 Pandas dataframe으로 불러오는 것과 차이점이 있는지도 여쭤보고 싶습니다.
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형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만 사용해야 하는가요?