# 최종 제출 파일 (lightGBM) pred = lg.predict(test) submit=pd.DataFrame({'pred':pred}) submit.to_csv("result.csv",index=False) 아래처럼 feature가 맞지 않아서 에러가뜹니다. 강의 그대로 했는데 왜그러는 걸까요?? --------------------------------------------------------------------------- ValueError Traceback (most recent call last) /tmp/ipython-input-50-2529582812.py in <cell line: 0>() 1 # 최종 제출 파일 (lightGBM) ----> 2 pred = lg.predict(test) 3 submit=pd.DataFrame({'pred':pred}) 4 submit.to_csv("result.csv",index=False) 2 frames /usr/local/lib/python3.11/dist-packages/lightgbm/sklearn.py in predict(self, X, raw_score, start_iteration, num_iteration, pred_leaf, pred_contrib, validate_features, **kwargs) 1008 n_features = X.shape[1] 1009 if self._n_features != n_features: -> 1010 raise ValueError( 1011 "Number of features of the model must " 1012 f"match the input. Model n_features_ is {self._n_features} and " ValueError: Number of features of the model must match the input. Model n_features_ is 28 and input n_features is 8
작업형2에서 데이터 전처리할 때 라벨인코딩or원핫인코딩 후 랜포 or lightGBM만 준비해서 가려고 하고 기출 계속 돌려보고 있는데 아직 어떤 경우에 라벨인코딩이 적합하고, 원핫인코딩이 적합한지 구분이 안됩니다 1)어떤 데이터들일때 어떤 인코딩이 적합한건지 궁금합니다! (+현재는 오브젝트타입 라벨인코딩해서 모델 학습한거랑 원핫인코딩해서 모델 학습한거랑 각각 비교해보고 수치 더 좋은걸로 선택했었습니다..!) 2)그리고 항상 데이터 전처리(라벨or원핫인코딩) 전에 target 컬럼 먼저 train에서 복사해서 옮겨놓고 그 후에 데이터전처리를 하는게 맞는걸까요??
시험 환경 작업형2 문제에서 라벨 인코딩을 하기 전에, set을 통해서 train과 test의 unique를 확인하보고 "train이 test를 포함하기 때문에 합칠 필요가 없다"고 말씀을 하셨는데요. 혹시 시험을 볼 때 그것까지 미처 확인해보지 못하고 그냥 다음과 같이 진행을 했을 때 문제가 생길까요..? cols = ['주구매상품', '주구매지점'] from sklearn.preprocessing import LabelEncoder for col in cols: le = LabelEncoder() train[col] = le.fit_transform(train[col]) test[col] = le.transform(test[col])
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 여기에 질문 내용을 남겨주세요. 기본 설정인 Gradle로 할때는 문제없는데, 번외로 알려주신 설정인 인텔리제이로 돌리게 되면 스프링부트가 작동하지 않습니다. 해결 방법이 있나요?
실제 시험을 볼때는 뭔가 정신이 없을거같아서 train과 test의 unique값 차이 여부 생각하지 않고 그냥 무조건 train과 test를 concat으로 합치고 레이블 인코딩 진행한 후 train과 test를 분리하고자 하는데 이렇게 진행해도 괜찮을까요? 데이터 누수(?), 과적합가능성 있다고 들어서 질문드립니다.
안녕하세요. Chat gpt에서 lightGBM 전에는 아래와 같이 코딩을 해주면 된다고 하는데, 책이나 강의에서는 랜덤포레스트와 동일하게 원핫 인코딩이나 라벨인코더를 사용하고 있습니다. 어떻게 하는게 맞는건가요? train = train.astype('category') test = test.astype('category')
학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! 질문과 관련된 영상 위치를 알려주면 더 빠르게 답변할 수 있어요 먼저 유사한 질문이 있었는지 검색해보세요 유형 2 질문... 전처리 전에 print(train['total'].describe()) 지수표기법 ->일반 형태로 꼭 바꿔야 하나요??
학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! 질문과 관련된 영상 위치를 알려주면 더 빠르게 답변할 수 있어요 먼저 유사한 질문이 있었는지 검색해보세요 결론부터 말씀드리면, scikit-learn 버전 1.4 이상부터는 root_mean_squared_error 함수를 직접 import 해서 사용할 수 있습니다. 과거에는 RMSE를 계산하기 위해 mean_squared_error 를 불러와 제곱근을 취해야 했지만, 최신 버전에서는 더 직관적으로 사용할 수 있게 함수가 추가되었습니다. 사용 방법 (scikit-learn 1.4 이상) 아래와 같이 바로 import 하여 사용하시면 됩니다. 라는데.. 시험칠 때 바로 적용 가능한가요? 아니면 강의내용처럼 mse에 함수 만들어야 하나요? 유형 2 질문입니다. ㅜㅠㅠ
안녕하세요 토비님 처음 프로젝트를 실행하면 compose.yml 파일이 services: mysql: image: 'mysql:latest' environment: - 'MYSQL_DATABASE=mydatabase' - 'MYSQL_PASSWORD=secret' - 'MYSQL_ROOT_PASSWORD=verysecret' - 'MYSQL_USER=myuser' ports: - '3306' 이렇게 설정되어있는데 저기서 데이터베이스 이름이나 user 정보를 변경하면 빌드가 되지않습니다. 저 상태 그대로 놔두면 빌드는 되는데 인텔리제이의 데이터베이스 탭을 이용해서 접근해보면 splearn(제경우에는 이름을 변경하지 못했으니 아마 mydatabase) 데이터베이스가 생성되지 않고 Server Objects라는 폴더 하나만 존재합니다