묻고 답해요
143만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
pred 예측이후 반올림이나 버림을 어떻게하나요?
from sklearn.ensemble import RandomForestRegressor model = RandomForestRegressor(random_state=10, max_depth=10, n_estimators=400) model.fit(X_tr, y_tr) pred = model.predict(X_val) pred = round(pred) 모델예측이후에 반올림이나 버림을 하고싶은데 int나 round를 써도 에러가뜹니다 어떻게 해결하나요? 아래는 에러메세지입니다. TypeError: type numpy.ndarray doesn't define __round__ method
-
미해결[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
part2 답안 제출 관련문의입니다
사진과 같이 제출하라고 했는데 보통이제모델을 통해 예측을 한 결과는 test내의 id가 뒤죽박죽 이 된상태가 일반적입니다.아래는 저의 결과물입니다.그런데 제출할떄 index가 정렬되지 않아도 상관없는지,혹은 반드시 정렬해야하는지,또는 문제에서 요구할떄만 정렬하는지에 대해 문의드립니다.감사합니다. +추가로 문의드립니다문제 분석결과 인덱스를 고유번호인 Unnamed 0 가 아닌 test.index를 사용하여 submit을 구성하였는데요 이러면 어떤 컬럼이(고유번호)가 학습되었는지 정보가 없는 문제가 발생하지않나요? 혹은 인덱스는 전혀상관없나요?(단순히 채첨할떄 pred값의 순서를 통해서 채점하는 형식임을 질문)
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
회귀/분류 구분
회귀/분류 문제 구분할때 평가지표를 보고 구분을 하는건가요?예를 들어 f1_score로 평가하시오. -> 분류구나!MAE로 평가하시오. -> 회귀구나!이렇게 구분하면 될까요??3회차 기출문제 풀고있는데 평가지표 얘기가 없어서 이게 회귀인지 분류인지 구분을 못하겠어서 여쭤봅니다.(결과가 proba사용한 확률값인거 같아서 roc_auc_score밖에 못 사용하겠구나 -> 분류라고 생각했습니다.) 아 그리고 proba 사용해서 결과에는 양의 값(1)의 확률을 넣으시라고 했는데 이때 print(rf.classes_) 이거를 사용해서 1의 위치가 왼쪽인지 오른쪽인지 확인해야 되나요??
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
로버스트 스케일러 질문!
from sklearn.preprocessing import RobustScaler for col in col_num: rs = RobustScaler() train[col] = rs.fit_transform(train[[col]]) test[col] = rs.transform(test[[col]]) rs = RobustScaler() train[col_num] = rs.fit_transform(train[col_num]) test[col_num] = rs.transform(test[col_num]) 쌤! 커뮤니티 찾아보다가 이렇게 반복문을 쓰지 않고도 한꺼번에 스케일러를 할 수 있다는 답변을 보았는데 궁금한 점이 있어서요. 저렇게 한꺼번에 진행하면 다른 컬럼들의 영향을 받지 않나요?? 반복문을 사용하면 해당 컬럼만 고려해서 스케일러를 적용해주는데 한꺼번에 사용하면 모든 컬럼을 고려해서 스케일러가 적용되기때문에 더 성능이 안 좋아지지 않나요?? 아! 그리고 인코딩은 필수, 스케일러는 선택이란 말을 봤는데 스케일러를 해도 안 해도 성능차이는 별로 없을까요?? 그냥 인코딩만 해도 40점 받을 수 있을까요?
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
작업형2 랜덤포레스트 n_estimators 설정
수업 때 RandomForest의 n_estimators 설정을 100~1000 범위로 말씀해주셨는데, 테스트를 해볼 때 50 (혹은 50이상 100미만)에서 높은 score가 나오는 경우가 많았습니다. 그래도 100 이상으로 설정하는게 합리적인 설정일까요?
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
train_test_split에서 test_size = 설정
train_test_split에서 test_size = 설정 보통 0.2로 하는데025으로 해서 더 잘 나오거나 혹은 0.15로 해서 더 잘나오면 test_size를 바꾸는게 의미가 있을까요?
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
작업형1, 작업형3 답안 수기작성 문의
안녕하세요~ 작업형1, 작업형3에서 문제를 푼 후 답안을 제출할 때, 최종코드를 적는 것인지, 아니면 print해서 나온 최종 값을 적는 것인지 문의드립니다.
-
미해결[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
C () 관련
해당 학습에서는 범주형 독립변수인데 왜 C()를 안하고 학습을 했는지요 ㅠ 언제 써야할지를 모르겠습니당..
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
2유형 학습 모델 선정
본 강의 문제에서,답안제출예시가 아래사진처럼, 타겟값인 'Attrition_Flag' 수치가 0.633 혹은 0.355 이렇게 돼있는데, 제가 xgb모델을 써보니 타겟값 'Attrition_Flag' 수치가 0.00003 , 0.00078 이렇게 너무 작게 나옵니다.RandomForest 모델을 사용하면 답안 예시와 수치가 비슷하게 나오긴하나, xgb 모델이 roc 점수가 더 높게 나옵니다. xgb 모델을 사용해서 제출해도 점수에 이상이 없을까요?답안 제출 예시 CLIENTNUM,Attrition_Flag 788544108,0.633 719356008,0.123 712142733,0.355
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
모델 성능 평가가 모든 값이 1로 나오는 경우
성능 모든 값이 1로 나오는 경우, 과적합이 된 것으로 알고 있습니다.작업형2 문제에서는 해당 경우, 모델을 수정을 해야 하는 건지 test 예측 결과로 점수가 나오기에 그냥 진행해도 괜찮은지 궁금합니다.
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
기출6회 작업형1-3
안녕하세요 선생님, 만약 시험문제에서 1월~12월 모두 데이터가 채워져있다면result= df.groupby('연도')['총범죄건수'].mean()이렇게 적어도 될까요? mean()으로 계산했더니 531이라는 값이 나오고 sum()/12으로 했더니 515로 나오네요.
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
작업형2 질문있습니다
안녕하세요작업형2번 풀때 결측치 처리를 해줬을때보다 안해줬을때 roc_auc 스코어가 더 높게 나오면 결측치 처리를 안해주고 답을 내는게 맞을까요? 또 train과 test split을 해줬을때보다 안해줬을때 스코어가 더 높으면 안해준 상태로 답을 제출하는게 맞을까요?점수가 크면 장땡인지 궁금합니다!!
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
강사님! 원-핫 인코딩 사용할때 궁금한게 있어요!
train과 test 모두 pd.get_dummies를 사용해서 원-핫 인코딩을 해주잖아요. 근데 만약에 그 train의 object unique 수랑 test의 object unique 수가 서로 다르면 (서로 다른 값이 존재한다면) train과 test의 열(속성) 수가 달라져서 train로 학습을 시키고 test로 예측을 할때 열(속성) 수가 달라서 오류가 뜨지 않나요?? 그러면 사전에 object 컬럼에 서로 다른 값이 있는지 확인하고 원-핫 인코딩을 진행해줘야 되나요?? -> 서로 일치하는지 알 수 있는 방법이 있을까요? 이런 오류가 생긴다면 그냥 라벨인코딩하는게 좋을까요??
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
스탠다드 스케일
안녕하세요,기출 7회 작업형 1 문제1 질문드립니다.스탠다드스케일을 할때, 저는 cond = df['id_assessment'] == 12 a = df[cond]['score'] std = a.std() mean = a.mean() df['standard'] = (df['score']-mean) / std b = df['standard'].max() round(b,3)이렇게 답을 구했더니, 사이킷런 스탠다드 스케일로 구한값과 약간의 차이가 있더라구요,만약 작업형1 시험에서 MinMaxScaler 또는 스탠다는 스케일을 하라고 문제가 나왔을 때, 사이킷런 으로 푸는 것이 정답일까요? 아니면 실제 수식을 적용시켜서 푸는 것이 정답일까요?
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
작업형2 데이터 전처리
안녕하세요, 강사님 !작업형2에서 모델링 하기 전 전처리 하실 때어떤 때는 수치형만 전처리하고, 어떤 때는 범주형만 전처리를 하던데 혹시 어떤 기준에 따라 정해지는 걸까요...?시험 때는 범주형과 수치형 다 전처리를 해주는 게 좋을까요..?
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
기출 8 작업형2
학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요!질문과 관련된 영상 위치를 알려주면 더 빠르게 답변할 수 있어요먼저 유사한 질문이 있었는지 검색해보세요customerID 가 데이터 갯수만큼 있는지, 반복성이 있는지에 따라 삭제, 라벨인코딩을 한다고 하셨는데, 반복성이 있는지는 어떤걸 보고 판단하는건가요?
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
7회 2유형 문제 에러 문의
7회 2유형에서 아래와 같이 코딩을 했는데 에러가 발생합니다. 에러기 왜 발생하는지 모르겠습니다.에러는 train_test_split 함수에서 "TypeError: isinstance() arg 2 must be a type, a tuple of types, or a union" 라고 나옵니다 import pandas as pd train = pd.read_csv('churn_train.csv') test = pd.read_csv('churn_test.csv') y=train.pop('TotalCharges') # print(test.head()) # print(train.shape, test.shape) # print(y.describe()) total = pd.concat([train, test],axis=0) # print (total.shape) total = total.drop('customerID',axis=1) # print (total.shape) total=pd.get_dummies(total) # print (total.shape) # print(total.head()) train = total[0:4116] test = total[4116:] # print(train.shape, test.shape) from sklearn.model_selection import train_test_split X_train, X_val, y_train, y_val = train_test_split(train, y, test_size=0.2, random_state=2024) # print(X_train.head()) # print(X_train.shape, X_val.shape, y_train.shape, y_val.shape) from sklearn.ensemble import RandomForestRegressor rf=RandomForestRegressor() rf.fit(X_train, y_train) pred1=rf.predict(X_val) from sklearn.metrics import mean_squared_error print((mean_squared_error(pred1, y_val))**(1/2)) pred= rf.predict(test) result=pd.DataFrame=({ 'pred':pred }) result.to_csv('result.csv', index=False)
-
미해결[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
6회 기출 -> 1유형 -> 2번 이처럼 풀이해도 될까요?
import pandas as pd df = pd.read_csv('data6-1-2.csv') # print(df.head()) df['전교생'] = df['1학년'] + df['2학년'] + df['3학년'] + df['4학년'] + df['5학년'] + df['6학년'] df['교사당학생수'] = df['전교생'] // df['교사수'] print(df.sort_values('교사당학생수', ascending=False)) # 19 답은 당연히 동일하게 나오는데요! iloc, loc 사용 않고 별도 컬럼 추가해주면서 계산하는 방식도 또 하나의 풀이 과정으로 볼 수 있겠죠?살짝 하드코딩 느낌이 나서 여쭤봅니다
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
작업형 1 모의 문제 1 (13강 질문)
3번 문제 코딩을#f3의 결측치 0, silver는 1, gold는 2, vip는 3으로 반환 후 총 합을 정수형으로 출력 df.head() df=df['f3'].fillna(0) df.replace('silver',1).replace('gold',2).replace('vip',3)이런 방법으로 풀어나갈 수 있는 방법은 없을까요?
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
원핫 인코딩과 레이블인코딩
작업형 2에서 카테고리가 많으면 레이블인코딩을 진행하고, 적으면 원핫인코딩을 한다고 이해해도될까요? 그리고 레이블 인코딩은 범주형데이터만 사용하는데, 원핫 인코딩은 그러지 않는 이유가 궁금합니다