안녕하세요? 좋은 영상 감사합니다. test 셋 전처리에서 fit_transform()을 하셨는데 제가 가진 책에서 test 셋에 대해서는 fit()을 하지 말고 transform() 만 하라고 가이드 하고 있어서 다른 영상을 찾아 보았습니다. 인도사람의 영상을 보니까 test 셋에 대해서 fit()하면 over-fit 이 발생될 수 있기때문에 fit() 하지 마라고 하는데 어떻게 생각하시는지요.
죄송한데.. 한가지만 더 문의 드려도 될까요? 위에 적은 코드를 똑같이 옮겨서 구글 코랩에서 돌려도 돌아갈까요? 물론 train, test 파일은 업로드 후 경로 설정 제대로 했습니다.ㅎ test[col] = le.fit_transform(test[col]) 부분에서 KeyError: '주구매상품' 이라는 에러가 발생해서욥^^;;
@@ai-study 해결하였습니다.ㅎ 개인적인 궁금함과 Trouble shooting으로 인해 동영상 컨텐츠 댓글 공간이 엉망이 된건 아닌지 모르겠습니다.ㅎ github에 올려주신 코드들 참고해가면서 스스로 해결 하였습니다. 정말 큰 도움이 되었습니다.ㅠ 감사드립니다.!
죄송한데.. 위 코드 실행이 되나요? for문 안쪽의 test[col] = le.fit_transform(test[col]) 에서 에러가 나는듯 해서요. 구글 코랩으로 실행환경 갖추고 따라하는 중인데 비슷한 에러가 떠서.. 구름 환경에서 다시 코딩 후 실행하니 AttributeError: 'LabelEncoder' object has no attribute 'fit_transform' 이라는 에러가 뜹니다.ㅠ
@@ai-study import pandas as pd X = pd.read_csv('data/X_train.csv') y = pd.read_csv('data/y_train.csv') test = pd.read_csv('data/X_test.csv') X = X.fillna(0) test = test.fillna(0) X = X.drop(['cust_id'], axis = 1) cust_id = test.pop('cust_id') from sklearn.preprocessing import LabelEncoder cols = ['주구매상품', '주구매지점'] for col in cols: le = LabelEncoder() X[col] = le.fit_transform(X[col]) test[col] = le.fit_tranform(test[col]) 그대로 복사해서 붙였습니당.^^
@@ai-study 제가 직접 친 코드 실행 결과 입니다. > Makefile:6: recipe for target 'py3_run' failed make: *** [py3_run] Error 1 Traceback (most recent call last): File "/goorm/Main.out", line 26, in test[col] = le.fit_tranform(test[col]) AttributeError: 'LabelEncoder' object has no attribute 'fit_tranform'
제가 알고 하는 것은 아니고 문제를 잘 읽어 보셔야 해요 ^^ 0이 여자로 1이 남자라고 예시 문제처럼 알려 줄꺼에요 dataq.goorm.io/exam/116674/%C3%AC%C2%B2%C2%B4%C3%AD%C2%97%C2%98%C3%AD%C2%95%C2%98%C3%AA%C2%B8%C2%B0/quiz/3 확률로 뽑았을 때 전자가 0일 확률, 후자가 1일 확률입니다. 일반적으로는 확률을 묻는다면 1일 확률을 물어봐요
@@ai-study 후자가 1일 확률이었군요. 감사합니다 ^^ 죄송합니다만.. 마지막으로, LabelEncoder() 사용하실때 train, test 모두 fit_transform 사용하셨던데 단순히 이유가 data 개수가 다르기 때문에 이렇게 사용하신건가요? Scale할 때 구문에서는 보면 train으로 fit하고 test는 transform만 해서 조금 혼란이 오네요 ㅎㅎ..
안녕하세요~~! 유료 인강보다 더 도움이 많이되네요!! 다만, 이 동영상이랑 4회 기출 작업형 2 보다가 궁금한 점 있어 질문드립니다! 1. train데이터가 x,y로 나눠져있으면 작업형2-난이도 중 처럼 target을 지정하면 안되나요? (나중에 랜덤포레스트에 fit(x, target) 넣어도 되는지) 2. 해당 동영상에서 결측치를 x와 test만 채우고 (y제외) x에서만 ID컬럼을 지우는 이유 (y제외)는 랜덤포레스트모델에서 y가 사용되지 않기 때문에(불필요한 과정이라) 생략하는걸까요~~? 3. 마지막으로, labelencoder를 pd.get_dummies 함수로 사용하고 싶다면 이것또한 y 제외하고 x와 test에 대해서만 진행하면 되나요? ㅠㅠㅠㅠ
안녕하세요! 답변을 해드리고 싶지만 해당 질문이 다른 영상과 섞여 변수명 또는 x 라고만 표현했을 때 오해의 소지가 있을 것 같아요! 이 영상의 y_train는 주최측에서 제시한 파일 id와 target이 있는 데이터 프레임 형태고 기출 4 영상의 target은 X_train에 합쳐져 있는 상태이고, target값만 뽑아낸 시리즈 형태입니다.
궁금했던 내용을 깔끔하게 알려주셔서 정말 감사합니다! 큰 도움이 될 것 같아요:)
예전 영상이라 예시 문제가 2개 파일 제공으로 변경되었으니 잘 확인해 주세요!
많은 도움 되었습니다. 감사합니다.!
깔끔한 내용에 목소리도 전달력도 좋네요. 감사합니다.
감사합니다 :)
질문이 있습니다! 작업형 2에서 수치형 데이터들 minmaxscaler는 안해도 되나요?
그냥 스크립트 작성하고 제출 누르기만 하면 되는 건가요? csv파일을 따로 제출하는 게 아니라? 그 과정이 눈으로 보이지 않으니 헷갈려요.. 직접해봐도 제출이 되었다 뜨긴하지만, 제대로 제출한 건지 모르겠어요ㅜㅜ
pd.read_csv("result.csv")로 생성한 csv를 다시 불러와서 반드시 제대로 생성되었는지 확인해주세요
실기 시험 2일전이라 급했는데 너무 감사합니다!
안녕하세요! 포기 하는 것보단 이렇게라도… 라는 예시입니다! 시간이 며칠 더 있으니 조금만 더 공부해보셔요!! 화이팅입니다:)
안녕하세요 퇴근님
범주형변수 라벨인코딩 대신 더미화를 시키면 오류가 납니다..
그 이유를 알수 있을까요?
에러의 원인은 다양하기 때문에 질문만으로는 파악하기 어려울 것 같아요 🙏
제출한 gender값이 0, 1로 나오는게 아니라 확률로 나오는 것 같습니다
네!! @강연수 님 말대로 확률을 구하는 것이 맞습니다 !! :) 제가 잘못 말한 부분이 있을까요??
혹 틀린부분 있으면 알려주시면 너무 감사하겠습니다! :)
@@ai-study train데이터의 y값이 0, 1로 나와있길래, 최종 답안제출지도 확률값이 아니라 0,1 두개로 나와야되는 것이 아닌가 하고 생각했습니다.
@@강연수-r2r 네, 저도 0 1 분류인줄 알았는데 문제 아래쪽 출력 예시가 확률값이더군요! :)
안녕하세요? 좋은 영상 감사합니다.
test 셋 전처리에서 fit_transform()을 하셨는데
제가 가진 책에서 test 셋에 대해서는 fit()을 하지 말고 transform() 만 하라고 가이드 하고 있어서
다른 영상을 찾아 보았습니다.
인도사람의 영상을 보니까 test 셋에 대해서 fit()하면 over-fit 이 발생될 수 있기때문에 fit() 하지 마라고 하는데
어떻게 생각하시는지요.
테스트 데이터 셋은 fit 하지 않고 transform만 하는 것이 맞아요 :)
잘 못된부분 알려주셔서 감사합니다 :)
LabelEncoder를 쓰려면 train데이터와 test데이터를 concat으로 합쳐야하는데, 합친 다음에 train만 fit_transform하고 test만 transform하는게 가능한가요?? ㅠㅠ
레이블 인코딩은 fit_transform을 함께 진행해도 무방할 것 같아요 스케일이랑은 다른개념이에요
그게 아니라면 map함수를 통해 맵핑 해줘야 해요👏
@@ai-study 감사합니다. train만 fit한다음에 concat으로 합치고 transform을 한 뒤 다시 분리해야하나? 생각했었네요.
죄송한데.. 한가지만 더 문의 드려도 될까요? 위에 적은 코드를 똑같이 옮겨서 구글 코랩에서 돌려도 돌아갈까요? 물론 train, test 파일은 업로드 후 경로 설정 제대로 했습니다.ㅎ
test[col] = le.fit_transform(test[col]) 부분에서 KeyError: '주구매상품' 이라는 에러가 발생해서욥^^;;
github.com/lovedlim/BigDataCertificationCourses/ test데이터가 다른 것 같은데 정확히 알 수 없네요! 이곳에 있는 코드와 한번 비교해보세요 :)
@@ai-study 해결하였습니다.ㅎ 개인적인 궁금함과 Trouble shooting으로 인해 동영상 컨텐츠 댓글 공간이 엉망이 된건 아닌지 모르겠습니다.ㅎ github에 올려주신 코드들 참고해가면서 스스로 해결 하였습니다. 정말 큰 도움이 되었습니다.ㅠ 감사드립니다.!
죄송한데.. 위 코드 실행이 되나요?
for문 안쪽의 test[col] = le.fit_transform(test[col]) 에서 에러가 나는듯 해서요.
구글 코랩으로 실행환경 갖추고 따라하는 중인데 비슷한 에러가 떠서..
구름 환경에서 다시 코딩 후 실행하니 AttributeError: 'LabelEncoder' object has no attribute 'fit_transform' 이라는 에러가 뜹니다.ㅠ
네 실행 잘되는 코드에요:) 영상에서 보듯 구름 환경에서도 테스트 했어요!! 작성한 코드 전체 한번 보여주세요!
@@ai-study
import pandas as pd
X = pd.read_csv('data/X_train.csv')
y = pd.read_csv('data/y_train.csv')
test = pd.read_csv('data/X_test.csv')
X = X.fillna(0)
test = test.fillna(0)
X = X.drop(['cust_id'], axis = 1)
cust_id = test.pop('cust_id')
from sklearn.preprocessing import LabelEncoder
cols = ['주구매상품', '주구매지점']
for col in cols:
le = LabelEncoder()
X[col] = le.fit_transform(X[col])
test[col] = le.fit_tranform(test[col])
그대로 복사해서 붙였습니당.^^
@@ai-study 제가 직접 친 코드 실행 결과 입니다.
> Makefile:6: recipe for target 'py3_run' failed
make: *** [py3_run] Error 1
Traceback (most recent call last):
File "/goorm/Main.out", line 26, in
test[col] = le.fit_tranform(test[col])
AttributeError: 'LabelEncoder' object has no attribute 'fit_tranform'
@@ai-study 이럴수가.. 오타였네요.. transform이라고 적었어야 했는데.. tranform이라고 적고 안된다고 이 난리를 쳤네요.ㅠ 죄송합니다.ㅠ 해결 되었습니다.!ㅠ
번거롭게 해드려 죄송합니다.!!
@@young-hoonoh9332 네 처음 올려주신 에러메세지와는 다르네요!!! 이 메세지면 말이되요!! 오타거든요 ^^ fit_tranform -> fit_transform
안녕하세요. 시험공부하는데 영상 도움을 많이 받았습니다.
predict_proba 하실 때 출력되는 열 2개 중에 어떤게 남자일 확률인지 아신건가요?
제가 알고 하는 것은 아니고 문제를 잘 읽어 보셔야 해요 ^^ 0이 여자로 1이 남자라고 예시 문제처럼 알려 줄꺼에요 dataq.goorm.io/exam/116674/%C3%AC%C2%B2%C2%B4%C3%AD%C2%97%C2%98%C3%AD%C2%95%C2%98%C3%AA%C2%B8%C2%B0/quiz/3
확률로 뽑았을 때 전자가 0일 확률, 후자가 1일 확률입니다. 일반적으로는 확률을 묻는다면 1일 확률을 물어봐요
@@ai-study 후자가 1일 확률이었군요. 감사합니다 ^^
죄송합니다만.. 마지막으로, LabelEncoder() 사용하실때 train, test 모두 fit_transform 사용하셨던데
단순히 이유가 data 개수가 다르기 때문에 이렇게 사용하신건가요?
Scale할 때 구문에서는 보면 train으로 fit하고 test는 transform만 해서 조금 혼란이 오네요 ㅎㅎ..
@@eda_ginger 눈치 채셨네요ㅠ test는 transform만 해야 됩니다. 아래 코드는 수정해뒀습니다. www.kaggle.com/agileteam/t2-exercise-tutorial-baseline
만약 카테고리 종류가 train과 test가 다르다면 데이터를 합쳤다가 분리 시켜야 합니다.아래 코드 참고하세요
www.kaggle.com/agileteam/t2-exercise-ver-groom-ide
@@ai-study 자세한 답변 감사합니다!
Kaggle에서 문제 풀면서 pandas 사용법이 이렇게 다양한지 몰랐네요 ㅎㅎ
오늘 부족한 부분 다시 점검하고, 내일 시험에 좋은 결과 있기를 기대해야겠네요! 감사합니다!
좋은 영상 감사합니다. 혹시 비슷한 데이터를 책에서 공부할 때 train_test_split을 이용해서 데이터를 나누는 과정도 추가되던데 해당 과정은 필수 수행 요소가 아닌가요??
필수 아닙니다
기출 4회 작업형2 풀이영상을 참고해주세요
@@ai-study 너무너무 감사합니다!
@@리하이-d9z 네 응원합니다!
혹시 random_state=2022인 이유가 있을까요?
랜덤적인 요소를 고정하기위해 특정 값을 입력해요!
고정하지 않으면 모델 성능 향상이 전처리 때문인지 튜닝때문인지 알 수 없답니다
최근 영상에서 이진분류가 아닌 회귀문제가 나오면 RandomForestRegressor를 이용하라고 알려주셨는데, 모델만 바꿔도 파이썬에서 돌아가기는 하더라구요. 이렇게 돌려서 제출해도 부분점수가 나올까요? 회귀문제는 어떤식으로 파일을 제출하게 할런지 모르겠네요..^^;
안녕하세요~~! 유료 인강보다 더 도움이 많이되네요!! 다만, 이 동영상이랑 4회 기출 작업형 2 보다가 궁금한 점 있어 질문드립니다!
1. train데이터가 x,y로 나눠져있으면 작업형2-난이도 중 처럼 target을 지정하면 안되나요? (나중에 랜덤포레스트에 fit(x, target) 넣어도 되는지)
2. 해당 동영상에서 결측치를 x와 test만 채우고 (y제외) x에서만 ID컬럼을 지우는 이유 (y제외)는 랜덤포레스트모델에서 y가 사용되지 않기 때문에(불필요한 과정이라) 생략하는걸까요~~?
3. 마지막으로, labelencoder를 pd.get_dummies 함수로 사용하고 싶다면 이것또한 y 제외하고 x와 test에 대해서만 진행하면 되나요? ㅠㅠㅠㅠ
안녕하세요! 답변을 해드리고 싶지만 해당 질문이 다른 영상과 섞여 변수명 또는 x 라고만 표현했을 때 오해의 소지가 있을 것 같아요!
이 영상의 y_train는 주최측에서 제시한 파일 id와 target이 있는 데이터 프레임 형태고 기출 4 영상의 target은 X_train에 합쳐져 있는 상태이고, target값만 뽑아낸 시리즈 형태입니다.