학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! 질문과 관련된 영상 위치를 알려주면 더 빠르게 답변할 수 있어요 먼저 유사한 질문이 있었는지 검색해보세요 저는 레이블인코딩으로 밀고나갈건데요! train의 범주형 컬럼의 카테고리 ⊂ test의 범주형 칼럼의 카테고리 이거나 아예 두개가 다를 경우만 train, test 합친 후에 레이블 하고 나머지의 경우는 그냥 레이블인코딩 하는걸로 암기하면되나요?
오브젝트 컬럼 전처리 시에 예를들어 test에는 있는데 train에는 없다면 데이터를 합쳐서 라벨 또는 원핫 인코딩 가능하다면 데이터를 합친다는거는 train데이터와 test데이터를 합치는 거는 data_all = pd.concat(train,test) 이런식으로 합치고 인코딩 후 나누면 되나요?? 합친 후 인코딩 후 소스가 궁금합니다. 추가로 위와 같은경우에 바로 라벨인코딩하면 에러나나요? 만약 neigbourhood 컬럼 test 값에 train에 포함되지 않은 값이 있다면.
formula 를 작성할때 C 를 감싸는 경우는 문자값이지만 수치형일 경우 감싸는 사항아닌가요? C 를 붙이는지 안붙이는지에 따라서 결과값이 달라지네요. 아래 Pclass 는 수치형인데 C 가 붙혀져서 질문드려 봅니다. import pandas as pd from statsmodels.formula.api import logit df = pd.read_csv("/kaggle/input/bigdatacertificationkr/Titanic.csv") formula = "Survived ~ C(Pclass) + Gender + SibSp + Parch" model = logit(formula, data=df).fit() model.params
[리뉴얼] 파이썬입문과 크롤링기초 부트캠프 [파이썬, 웹, 데이터 이해 기본까지] (업데이트)
- 본 강의 영상 학습 관련 문의에 대해 답변을 드립니다. (어떤 챕터 몇분 몇초를 꼭 기재부탁드립니다) - 이외의 문의등은 평생강의이므로 양해를 부탁드립니다 - 현업과 병행하는 관계로 주말/휴가 제외 최대한 3일내로 답변을 드리려 노력하고 있습니다 - 잠깐! 인프런 서비스 운영(다운로드 방법포함) 관련 문의는 1:1 문의하기를 이용해주세요.
안녕하세요 코드보고 공부하다가 궁금한 점이 생겨서 질문 남깁니다. 문제에서 가수가 라이브한 곡 순서대로 부른곡의 길이가 분 단위로 나타난다고 하였습니다. 예시에서는 오름차순으로 잘 정렬되어있지만 가수가 라이브한 곡들의 길이가 뒤죽박죽되어있을때도 있을것을 고려해 배열을 정렬해준뒤 강사님의 풀이랑 똑같은 풀이를 적용하였는데 오답이라고 떴습니다. 정렬메소드가 들어가면 왜 오답이 뜨는지 궁금합니다 !
안녕하세요! 캐글에 올려주신 자료로 시험대비 잘 하고 있습니다!ㅎㅎ T1-20 문제를 풀던 중에 데이터 병합하는 부분에서 궁금한 것이 있어 질문드립니다. 선생님께서 풀이하신 것과 다르게 아래와 같이 풀었는데 답이 다르게 나오는데 혹시 이유를 알 수 있을까요? 단지 f4컬럼을 기준으로 b1, b3 데이터를 병합하는거라 이해하고 이렇게 풀었습니다! df=pd.merge(b1, b3, on=['f4']) # print(df.shape) df=df.dropna(subset=['r2']) # print(df.shape) df=df.head(20) print(df['f2'].sum())
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 혹시 Postman으로 요청을 보냈을 때 ??? 값이 나온다면 Setting > File Encodings > Transparent native-to-ascii conversion 을 체크 해주시고 다시 Postman을 확인해보면 잘 나옵니다!
안녕하세요. 자바의 설계상 동기화 등의 문제로 지역 클래스가 생성되 때 지역 변수의 값을 캡쳐하기 때문에 값을 변경하면 컴파일 에러가 난다는 설명에서 문의드릴 게 있습니다. 설명해주신 예제로 확인하면 순서가 1.process() 호출 -> 스택 프레임 생성 2. 해당 메서드 바디의 코드 실행 3. LocalPrinter() 객체 생성 인데, 여기서 3번 LocalPrinter() 객체가 생성이 될 때 지역 변수를 쓰는 게 있다면 그 지역 변수를 LocalPrinter() 객체 내부로 변수를 캡쳐해서 활용한다는 것이잖아요 ? 그러면 설명해주신 것과 같이 객체 생성 이후에 값을 변경하려고 하면 동기화 문제가 발생할 수 있어서 자바에서 그렇게 설계를 안했다는 건 이해를 하겠는데, 객체 생성 전에 값을 바꾸는 건 어떻게 이해를 해야 할까요 ? 생성 전에 값을 바꾸면 사실상 객체 생성 이후 캡쳐를 하더라도 바뀐 값으로 캡쳐를 하면 되니 동기화 문제가 전혀 없을 거 같아서요. 캡쳐본 중 위에는 객체 생성(캡쳐) 이후 바꾸면 안되는 예시이고 동기화 등을 고려하였을 때 제가 궁금한 건 캡쳐 전의 값 변경이 왜 캡쳐에 영향을 주느냐는 겁니다. (아래 캡쳐본) public Printer process(int param){ int localVar = 1; class LocalPrinter implements Printer{ int value = 0; @Override public void print(){ System.out.println("value = " + value); System.out.println("local value = " + localVar); System.out.println("param = " + param); System.out.println("outInstance = " + outInstance); } } LocalPrinter printer = new LocalPrinter(); localVar = 10; // printer.print(); return printer; } public Printer process(int param){ int localVar = 1; localVar = 10; class LocalPrinter implements Printer{ int value = 0; @Override public void print(){ System.out.println("value = " + value); System.out.println("local value = " + localVar); System.out.println("param = " + param); System.out.println("outInstance = " + outInstance); } } LocalPrinter printer = new LocalPrinter(); //localVar = 10; // printer.print(); return printer; }
학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! 질문과 관련된 영상 위치를 알려주면 더 빠르게 답변할 수 있어요 먼저 유사한 질문이 있었는지 검색해보세요 선생님.심화학습 부분에서는 검증단계와 크로스밸리데이션을 둘 다 각자 사용하는 방법을 알려주셨는데, 순서가 궁금했습니다. 먼저 train_test_split으로 데이터를 나눈 후 검증을 해보고 점수가 너무 높아서 과적합이 의심된다면 교차검증을 실행하는걸까요?
import pandas as pd train = pd.read_csv("mart_train.csv") test = pd.read_csv("mart_test.csv") #train.head() #test.head() #train.isnull().sum() #test.isnull().sum() #train.info() target = train.pop('total') #print(train.shape, test.shape) train = pd.get_dummies(train) test = pd.get_dummies(test) #print(train.shape, test.shape) from sklearn.model_selection import train_test_split X_tr, y_tr, X_val, y_val = train_test_split(train, target, test_size=0.2, random_state=0) from sklearn.ensemble import RandomForestRegressor rf = RandomForestRegressor(random_state=0) rf.fit(X_tr, y_tr) pred = rf.predict(X_val) 질문과 관련된 영상 위치를 알려주면 더 빠르게 답변할 수 있어요 먼저 유사한 질문이 있었는지 검색해보세요 강의 보면서 따라했는데, ValueError: Found input variables with inconsistent numbers of samples: [560, 140] 이렇게 에러가 뜨는데, 이유를 못찾겠습니다. 어떤게 문제인지 알 수 있을까요? 감사합니다.
아래 내용은 제가 정리한 글입니다. - 예외 처리 흐름 🧸 Spring MVC 내부에서 예외 처리: 1. 예외 발생: 컨트롤러에서 예외가 발생한다. 2. 예외 전파: 예외가 DispatcherServlet으로 전파된다. 3. HandlerExceptionResolver: DispatcherServlet은 등록된 예외 처리기를 통해 예외를 처리하려고 시도한다. 4. Custom Exception Handlers: @ControllerAdvice에 정의된 예외 처리기가 있으면 이를 사용하여 예외를 처리한다. 5. BasicErrorController: 위의 처리기들에서 예외를 처리하지 못하면, /error 경로로 요청이 전달되어 BasicErrorController가 기본적인 에러 처리를 수행한다. 6. 클라이언트 응답: BasicErrorController가 예외를 처리하고 클라이언트에게 적절한 에러 응답을 반환한다. 🧸 WAS로 예외 전파: 1. 예외 처리 실패: DispatcherServlet이나 BasicErrorController가 예외를 처리하지 못한다. 2. WAS로 전파: 예외가 WAS(톰캣)로 전파된다. 3. 에러 설정에 따른 재요청: WAS는 Spring Boot가 설정한 에러 핸들링 설정에 따라 /error 경로로 재요청을 보낸다. 4. 에러 처리: /error 경로로 재요청된 에러를 BasicErrorController가 처리한다. 5. 클라이언트 응답: BasicErrorController가 예외를 처리하고 클라이언트에게 적절한 에러 응답을 반환한다. 위의 흐름에서 알 수 있듯이, 기본적인 에러 처리 방식은 컨트롤러에서 발생한 예외를 BasicErrorController를 통해 처리하는 것이다. 예외가 WAS까지 전파되는 경우는 예외적인 상황이며, 일반적으로는 Spring MVC 내부에서 예외가 처리된다. 간단하게 얘기해서 예외 또는 에러가 WAS까지 전파되는 상황은 드물고, 주로 Spring MVC(ControllerAdvice, RestControllerAdvice, ExceptionHandler, ResponseStatus, ResponseStatusException, BasicErrorController)가 처리하여 컨트롤러단에서 예외가 처리되는 것으로 이해를 하고 정리를 하였습니다. 그런데 검색을 하다보니 아래와 같은 내용들을 발견하였습니다. Spring은 BasicErrorController를 구현해두었다. ExceptionHandler나 ControllerAdvice처럼 직접 에러를 반환하는 경우에는 BasicErrorController를 거치지 않지만, @ResponseStatus, ResponseStatusException 등과 같이 직접 에러 응답을 반환하지 않는 경우에는 최종적으로 BasicErrorController를 거쳐 에러가 처리된다. 클라이언트 입장에서는 이를 모르지만 내부에서는 2번 컨트롤러로 요청이 전달되는 과정이 진행된다. 우리가 만든 예외 클래스에 다음과 같이 @ResponseStatus로 응답 상태를 지정해줄 수 있다. @ResponseStatus(value = HttpStatus.NOT_FOUND) public class NoSuchElementFoundException extends RuntimeException { ... } // 그러면 ResponseStatusExceptionResolver가 지정해준 상태로 에러 응답이 내려가도록 처리한다. { "timestamp": "2021-12-31T03:35:44.675+00:00", "status": 404, "error": "Not Found", "path": "/product/5000" } 하지만 에러 응답에서 볼 수 있듯이 이는 BasicErrorController에 의한 응답이다. 즉, @ResponseStatus를 처리하는 ResponseStatusExceptionResolver는 WAS까지 예외를 전달시키며, 복잡한 WAS의 에러 요청 전달이 진행되는 것이다. (WAS까지 예외가 전달되고, WAS의 에러 요청 전달이 진행됨) 그렇다면 제가 정리한 내용과 위 내용은 반대되는데, 어떤 것이 맞는건지 잘 모르겠습니다. 제가 정리한 내용이 맞다면, @Responsestatus는 ExceptioNResolver, 정확하게는 ResponseStatusExceptionResolver에 의해서 처리되므로 컨트롤러단에서 예외처리가 되어야 하는것이 맞다고 생각하는데, 어떤 것이 참인가요?