inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

묻고 답해요

173만명의 커뮤니티!! 함께 토론해봐요.

3회 기출유형(작업형2) 코드 (lightgbm 관련)

해결됨

[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)

import pandas as pd train = pd.read_csv("train.csv") test = pd.read_csv("test.csv") pd.set_option('display.max_columns', None) # print(train.head()) # print(test.head()) # print(train.info()) # print(test.info()) from sklearn.preprocessing import LabelEncoder cols = train.select_dtypes(include='object') le = LabelEncoder() for col in cols : train[col] = le.fit_transform(train[col]) test[col] = le.transform(test[col]) # print(train.head()) # print(train.info()) train = train.drop('Unnamed: 0',axis=1) test = test.drop('Unnamed: 0', axis=1) 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=0) # print(help(train_test_split)) from sklearn.ensemble import RandomForestClassifier rf = RandomForestClassifier() rf.fit(X_tr, y_tr) pred = rf.predict_proba(X_val) # print(pred) import lightgbm as lgb model = lgb.LGBMClassifier() model.fit(X_tr, y_tr) lgb_pred = model.predict_proba(X_val) from sklearn.metrics import roc_auc_score # print(roc_auc_score(y_val, pred[:, 1])) # print(roc_auc_score(y_val, lgb_pred[:, 1])) res = model.predict_proba(test) submit = pd.DataFrame({'index': test.index, 'y_pred': res[:, 1]}) submit.to_csv('950326.csv', index=False) print(pd.read_csv('950326.csv')) lightgbm을 randomforest와 비교해서 두 가지 정도만 준비해가려고 작업형 2를 다시 풀고있습니다. LightGBM을 쓰려고 하니 아래와 같은 오류가 발생했습니다. 'LightGBMError: Do not support special JSON characters in feature name.' 이게 혹시나 다운로드 파일의 'Unnamed: 0' 컬럼 때문인가 해서 drop해보고 코드를 작성하니 정상적으로 돌아가더군요. train = train.drop('Unnamed: 0',axis=1) test = test.drop('Unnamed: 0', axis=1) LightGBM은 컬럼에 특수문자가 있으면 안 되는 게 맞는지 확인 한 번만 부탁드립니다!

  • python
  • 머신러닝
  • 빅데이터
  • pandas
  • 빅데이터분석기사
눈누난나 댓글 1 좋아요 0 조회수 821

작업형2 모의문제1 오류 문의

해결됨

[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)

안녕하세요. 작업형2 모의문제1를 스스로 코딩하는 과정에서 발생한 오류를 해결하지 못하겠습니다.. 다음은 제가 작성한 코드파일입니다. 정확도, 정밀도, 재현율, F1 출력 시 오류가 발생한 것을 볼 수 있으며, 문제점을 파악하기 어렵습니다... 피드백 부탁드립니다.. 감사합니다.

  • python
  • 머신러닝
  • 빅데이터
  • pandas
  • 빅데이터분석기사
pjh990219 댓글 1 좋아요 0 조회수 354

워닝 메시지 !

해결됨

[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)

<ipython-input-94-20cf5f2ccdef>:9: FutureWarning: Index.__or__ operating as a set operation is deprecated, in the future this will be a logical operation matching Series.__or__. Use index.union(other) instead. 문제를 풀고서 답을 구했는데 이런식으로 워닝메시지가 뜨는데요! 답은 정확히 똑같이 나왔는데 워닝메시지가 뜨면 시험 상황에서 혹시 코드를 고쳐야 할까요? 아니면 워닝 메시지가 나와도 답은 똑같이 출력되면 그냥 제출해도 상관이 없나요?

  • python
  • 머신러닝
  • 빅데이터
  • pandas
  • 빅데이터분석기사
james3710 댓글 1 좋아요 0 조회수 260

코드 이렇게 해도 될까요?

해결됨

[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)

# 피처 엔지니어링 - date에 쫌 안맞아서 해보겠음 cols1 = list(X_train.columns[X_train.dtypes == object]) # 범주형 cols2 = list(X_train.columns[X_train.dtypes != object]) # 수치형 # 수치형 변수의 스케일링 - 값이 안맞는 것은 범주형 데이터에서만 나타나기 때문에 데이터를 나누기전 수치형 데이터부터 먼저 처리해준다. from sklearn.preprocessing import RobustScaler Ro = RobustScaler() X_train[cols2] = Ro.fit_transform(X_train[cols2]) X_test[cols2] = Ro.transform(X_test[cols2]) # X_train행의 길이 알아두기 a = len(X_train) #17290 # 범주형 변수의 더미 인코딩 combined = pd.concat([X_train, X_test]) # 훈련 데이터와 테스트 데이터 합치기(위아래로) combined = pd.get_dummies(combined[cols1]) # 다시 훈련 데이터와 테스트 데이터로 분리 X_train = combined.iloc[:a] X_test = combined.iloc[a:]

  • python
  • 머신러닝
  • 빅데이터
  • pandas
  • 빅데이터분석기사
sychang2000 댓글 1 좋아요 0 조회수 325

라벨인코딩과 원핫인코딩 후, 데이터 크기 비교

해결됨

[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)

안녕하세요. 데이터 인코딩 관련하여 궁금한 점이 있어서 질문남기게 되었습니다. 선생님께서 알려주신대로, 인코딩을 필수로 진행하되, 라벨인코딩과 원핫인코딩은 선택하여 자유롭게 진행하여도 학습에 문제가 없다고 이해하였습니다. 예시문제를 라벨인코딩과 원핫인코딩으로 둘다 진행하던 중, 라벨인코딩시에는 X_train데이터와 X_test데이터의 컬럼 수가 동일하여 학습에 문제가 없었으나, 원핫인코딩을 진행하니 X_train데이터와 X_test 데이터의 컬럼 수가 달라져서 학습 시, 오류가 발생하는 점을 확인하였습니다. 어떤 점이 문제이며, 원핫인코딩을 이용하려고 한다면 어떻게 접근해야할지 여쭤볼 수 있을까요? 라벨인코딩 시 X_train, X_test의 shape => (3500,9), (2482,9) 원핫인코딩시 X_train,X_test의 shape => (3500,73), (2482,72) => 컬럼 수가 일치하지않아 학습 시, 에러 발생 import pandas as pd pd.set_option('display.max_columns',None) X_test = pd.read_csv("data/X_test.csv") X_train = pd.read_csv("data/X_train.csv") y_train = pd.read_csv("data/y_train.csv") # 사용자 코딩 # print(X_train.info(),X_test.info()) # 결측치 처리 # print(X_train.isnull().sum()) X_train['환불금액'] = X_train['환불금액'].fillna(0) X_test['환불금액'] = X_test['환불금액'].fillna(0) X_test_id = X_test.pop('cust_id') X_train = X_train.drop(['cust_id'],axis = 1) # 1. LabelEncoder cols = X_train.select_dtypes(include='object').columns from sklearn.preprocessing import LabelEncoder le = LabelEncoder() for col in cols: X_train[col] = le.fit_transform(X_train[col]) X_test[col] = le.transform(X_test[col]) print(X_train.shape,X_test.shape) # 2. one-hot Encoder X_train = pd.get_dummies(X_train) X_test = pd.get_dummies(X_test) print(X_train.shape,X_test.shape) X_train = X_train.drop('cust_id',axis =1) 과 X_train = X_train.drop(['cust_id'],axis =1) 를 각각 실행하였을 때, 에러없이 cust_id 컬럼이 동일하게 삭제되는 점을 확인했는데 혹시 drop시 컬럼명에 대괄호를 묶고 안묶고의 차이가 있을까요??

  • python
  • 머신러닝
  • 빅데이터
  • pandas
  • 빅데이터분석기사
terry2 댓글 1 좋아요 0 조회수 932

Lightgbm 에러

해결됨

[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)

코랩에서는 정상적으로 작동을 하는데, 구름에서 에러메시지가 뜹니다. import lightgbm as lgb ModuleNotFoundError: No module named 'lightgbm' 어떻게 해야하나요?

  • python
  • 머신러닝
  • 빅데이터
  • pandas
  • 빅데이터분석기사
hyeonseung11 댓글 1 좋아요 0 조회수 388

type2-2nd 관련 질문

해결됨

[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)

X_train = X_train.drop('ID', axis=1) X_test_id = X_test.pop('ID') X_test.head() 중간에 트레인 데이터에서 ID 컬럼을 삭제하는데, 이 과정을 생략해도 문제가 될까요?

  • python
  • 머신러닝
  • 빅데이터
  • pandas
  • 빅데이터분석기사
sun785 댓글 1 좋아요 0 조회수 235

RandomForestClassifier 에 관련하여

해결됨

[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)

여러 가지 분석 모델이 존재하는데 (대표적으로 랜덤포레스트 그 외에도 xgboost, 디시젼트리, 로비스틱 회귀 등) 경우에 따라 다르겠지만 랜덤포레스트만 사용해도 될까요?(하이퍼파라미터 튜닝은 한다는 가정하에) 물론 여러 방법 해보면 정확도 높은 걸로 할 수 있어서 좋겠지만, 외우는게 부담인 것 같아서요 그리고 전처리 후에 라벨인코딩 vs 원핫인코딩 등 여러 방법이 있는데 어떤 상황에선 뭐로 하는게 좋다 이런 공식은 따로 없는 것일까요?

  • python
  • 머신러닝
  • 빅데이터
  • pandas
  • 빅데이터분석기사
sun785 댓글 1 좋아요 0 조회수 409

4회 기출 유형(작업형2) 질문

해결됨

[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)

안녕하세요 강사님 아래와 같이 코드를 짜보고 강의를 들었는데 저는 train_test_split을 썼으므로 강의에서와 같이 target = train.pop('Segmentation') 과정이 필요없는게 맞나요? 아래는 제가 짠 코드이고 leaderboard 점수 0.30927입니다. 이정도 점수면 충분할까요? 제가 아래 코드에 from sklearn.metrics import roc_auc_score print(roc_auc_score(y_val, pred) 를 추가할시 아래와 같은 에러코드가 납니다. 자체적으로 평가점수를 보고싶어서 추가해보았는데 왜 이런문제가 생기는걸까요? --------------------------------------------------------------------------- ValueError Traceback (most recent call last) /tmp/ipykernel_27/2182156644.py in <module> 28 29 from sklearn.metrics import roc_auc_score ---> 30 print(roc_auc_score(y_val, pred)) 31 32 /opt/conda/lib/python3.7/site-packages/sklearn/metrics/_ranking.py in roc_auc_score(y_true, y_score, average, sample_weight, max_fpr, multi_class, labels) 558 ) 559 if multi_class == "raise": --> 560 raise ValueError("multi_class must be in ('ovo', 'ovr')") 561 return _multiclass_roc_auc_score( 562 y_true, y_score, labels, multi_class, average, sample_weight ValueError: multi_class must be in ('ovo', 'ovr') import pandas as pd train = pd.read_csv("../input/big-data-analytics-certification-kr-2022/train.csv") test = pd.read_csv("../input/big-data-analytics-certification-kr-2022/test.csv") cols = ['Gender', 'Ever_Married', 'Graduated', 'Profession', 'Spending_Score', 'Var_1'] 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 = 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(['Segmentation'],axis =1), train['Segmentation'], test_size = 0.2, random_state = 2023) from sklearn.ensemble import RandomForestClassifier model = RandomForestClassifier() model.fit(X_tr, y_tr) pred = model.predict(X_val) pred = model.predict(test) submit = pd.DataFrame({ 'ID': test_id, 'Segmentation' : pred }) submit.to_csv("submission.csv", index = False)

  • python
  • 머신러닝
  • 빅데이터
  • pandas
  • 빅데이터분석기사
김태범 댓글 1 좋아요 1 조회수 587

3회 기출유형(작업형2) 수치형 데이터와 범주형 데이터 분리 관련 질문입니다.

해결됨

[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)

안녕하세요~ 선생님~ 드디어 강의를 다 듣고 시험 준비를 하기 위해 기출문제와 강의 내용을 다시 한 번 반복하고 있습니다. 그러던 중에 3회 기출유형(작업형2)에서 수치형 데이터와 범주형 데이터 분리를 위해 select_dtypes() 요 메소드를 쓰고 나서 다시 copy()를 하는 것에 대해 궁금해서 여쭙게 되었습니다. copy() 메소드를 더 붙이는 데에는 이유가 있을까요? 강의를 듣고 코드들을 숙지하면서 준비하니까 정말 강의 선택 잘 했다는 확인이 듭니다. 물론 붙는 건 또 별개의 문제겠지만… 아마 또 질문을 드리겠지만, 강의 정말 잘 들었다는 말씀 드립니다. ㅎ

  • python
  • 머신러닝
  • 빅데이터
  • pandas
  • 빅데이터분석기사
onlykaggle 댓글 1 좋아요 0 조회수 500

예시문제 작업형2 lgb 사용 관련 문의

해결됨

[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)

예시문제 작업형2를 시험환경에서 lgb 모델로 머신러닝을 실시하였는데, 'random_state' 파라미터 관련 경고 메세지가 뜨는데, lgb 모델에서는 'random_state' 를 사용할 수 없는 건가요? [코딩내용] import pandas as pd X_test = pd.read _csv("data/X_test.csv") X_train = pd.read _csv("data/X_train.csv") y_train = pd.read _csv("data/y_train.csv") pd.set_option('display.max_columns', 100) pd.options.display.float_format = '{:.2f}'.format # print(X_train.shape, X_test.shape, y_train.shape) # print(X_train.head(3)) # print(X_test.head(3)) # print(X_train.info()) # print(X_train.describe()) # print(X_train.describe(include='object')) # print(X_test.describe(include='object')) # print(y_train.head(3)) # print(y_train['gender'].value_counts()) # print(X_train.isnull().sum()) # print(X_test.isnull().sum()) # print(y_train.isnull().sum()) # print(X_train['환불금액'].mean()) # print(X_test['환불금액'].mean()) X_train['환불금액'] = X_train['환불금액'].fillna(0) X_test['환불금액'] = X_test['환불금액'].fillna(0) # print(X_train.isnull().sum()) # print(X_test.isnull().sum()) X_train = X_train.drop('cust_id', axis=1) X_test_id = X_test.pop('cust_id') # print(X_test.head(3)) cols = X_train.select_dtypes(exclude='object').columns # print(cols) from sklearn.preprocessing import RobustScaler scaler = RobustScaler() X_train[cols] = scaler.fit _transform(X_train[cols]) X_test[cols] = scaler.transform(X_test[cols]) # print(X_train.head(3)) cols = X_train.select_dtypes(include='object').columns # print(cols) from sklearn.preprocessing import LabelEncoder for col in cols : le = LabelEncoder() X_train[col] = le.fit _transform(X_train[col]) X_test[col] = le.transform(X_test[col]) # print(X_train.head(3)) 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.15, random_state=2022) # print(X_tr.shape, X_val.shape, y_tr.shape, y_val.shape) from sklearn.metrics import roc_auc_score import lightgbm as lgb model = lgb.LGBMClassifier(ramdom_state=2022, max_depth=5, n_estimators=600, learning_rate=0.01) model.fit (X_tr, y_tr) pred = model.predict_proba(X_val) # print(pred[:10]) print(roc_auc_score(y_val, pred[ : , 1])) # 0.6153810060060059 # max_depth=5 : 0.6353541041041042 # n_estimators=600, learning_rate=0.01 : 0.647366116116116 [경고 메세지] [LightGBM] [Warning] Unknown parameter: ramdom_state

  • python
  • 머신러닝
  • 빅데이터
  • pandas
  • 빅데이터분석기사
ycann 댓글 1 좋아요 0 조회수 381

3회 빅분기 시험 작업형 2에서 질문 있습니다!

해결됨

[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)

검증 데이터 분리 파트에서 train_test_split([train.drop("TravelInsurance"),~~ 이렇게 설명을 해주셨는데 train_test_split(train.drop(['Unnamed: 0',"TravelInsurance"],~~ 이렇게 되어야 더 정확한 것이 아닐까요?? 궁금해서 여쭤봅니다!

  • python
  • 머신러닝
  • 빅데이터
  • pandas
  • 빅데이터분석기사
james3710 댓글 1 좋아요 0 조회수 331

작업형 2. 스케일링 질문

해결됨

[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)

5회 작업형 2번 질문입니다. 수치형 스케일링과 범주형 변수 원핫 인코딩은 같이 사용할 수 없나요 ? n_cols=['year', 'mileage', 'tax', 'mpg', 'engineSize'] train[n_cols]= scaler.fit _transform(train[n_cols]) test[n_cols]=scaler.transform(test[n_cols]) c_cols = ['model', 'transmission', 'fuelType' ] train=pd.get_dummies(train[c_cols]) test =pd.get_dummies(test[c_cols]) 이렇게 해버리면 수치형 데이터를 스케일링해도 해당 값이 사라지고, 원핫 인코딩된 데이터만 남습니다. 스케일링 코드를 뒤쪽으로 옮겨가도, 이미 사라진 수치형 데이터 컬럼명을 사용해서 에러가 뜹니다. 그리고 강의에서는 train = pd.get_dummies(train) test = pd.get_dummies(test) 으로 진행하고 수치형 데이터를 아예 스케일링 안하고 넘어가셨는데, 어떻게 판단해서 해야하나요?

  • python
  • 머신러닝
  • 빅데이터
  • pandas
  • 빅데이터분석기사
hyeonseung11 댓글 1 좋아요 0 조회수 355

warning 관련

해결됨

[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)

안녕하세요! 답이 나오기는 하는데 이 copy warning은 뭘까요? 어떻게 해결할까요? # print(df.shape) line = int(len(df) * 0.8) df = df[:line] # df.shape # print(df.isnull().sum()) r1 = df['f1'].std() med = df['f1'].median() df['f1'] = df['f1'].fillna(med) # df.isnull().sum() r2 = df['f1'].std() abs(r1 - r2) <ipython-input-47-f10e742b8062>:10: SettingWithCopyWarning: A value is trying to be set on a copy of a slice from a DataFrame. Try using .loc[row_indexer,col_indexer] = value instead See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy df['f1'] = df['f1'].fillna(med) 3.564064430008667

  • python
  • 머신러닝
  • 빅데이터
  • pandas
  • 빅데이터분석기사
greyy 댓글 1 좋아요 0 조회수 402

작업형2에 명목형 컬럼 train=train.select_dtypes(exclude='object').copy()

해결됨

[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)

작업형2에 명목형 컬럼 train/test=train/test.select_dtypes(exclude='object').copy()으로 담으면 라벨인코딩/원핫인코딩은 skip해도 무방할까요?

  • python
  • 머신러닝
  • 빅데이터
  • pandas
  • 빅데이터분석기사
jnood 댓글 1 좋아요 0 조회수 323

작업형2 회귀문제인지, 분류문제인지 어떻게 판별하는 지 궁금합니다.

해결됨

[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)

작업형2 회귀문제인지, 분류문제인지 처음에 판별하는게 중요하다고 했는데, f1 score, roc auc로 평가한다는 조건이 있으면 분류문제 rsme 같은 걸로 평가한다는 조건이 있으면 회귀문제일까요 ? 혹은 id / 타겟값 이면 분류문제, 하나의 값만 제출하는 것이면 회귀문제일까요 ? 궁금합니다

  • python
  • 머신러닝
  • 빅데이터
  • pandas
  • 빅데이터분석기사
jnood 댓글 1 좋아요 0 조회수 727

lightgbm help 사용법

해결됨

[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)

lightgbm을 사용할때 help를 활용하려하는데 어떻게 해야 할까요 ?

  • python
  • 머신러닝
  • 빅데이터
  • pandas
  • 빅데이터분석기사
hyeonseung11 댓글 1 좋아요 0 조회수 319

작업형1 모의문제3의 문제9번 질문드립니다

해결됨

[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)

안녕하세요. 작업형1 모의문제3의 문제9번 질문드리고자 합니다. 강사님께서 판다스의 datetime을 활용하여 풀어주셨는데 혹시 'subscribed'를 슬라이싱하여 년/ 월/일 컬럼을 만들어 풀이하는 방법도 알 수 있을까요? 해보려고 하는데 자꾸 오류가 발생하여 여쭤봅니다 ㅠㅠ

  • python
  • 머신러닝
  • 빅데이터
  • pandas
  • 빅데이터분석기사
jkl2792 댓글 1 좋아요 0 조회수 381

모의문제 - 작업형2

해결됨

[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)

모의문제를 여러 모델로 학습해보려고 하는데 코랩환경에서는 워닝이 없이 잘 실행되는데 시험 환경에서 위와 같은 오류가 발생하여 질문드립니다.

  • python
  • 머신러닝
  • 빅데이터
  • pandas
  • 빅데이터분석기사
이현정 댓글 1 좋아요 0 조회수 360

a = df.copy()

해결됨

[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)

작업형 들어가기 전에 원데이터를 카피해서 a데이터프레임을 만들어서 a로 계산해도 될까요?

  • python
  • 머신러닝
  • 빅데이터
  • pandas
  • 빅데이터분석기사
sychang2000 댓글 1 좋아요 1 조회수 253

인기 태그

인프런 TOP Writers

주간 인기글