본 강의 문제에서, 답안제출예시가 아래사진처럼, 타겟값인 '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. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] @Test public void 중복_회원_예외() throws Exception{ //given Member member1= new Member(); member1.setName("kim"); Member member2= new Member(); member2.setName("kim"); //when memberService.join(member1); //then assertThrows(IllegalStateException.class,()->{ memberService.join(member1); }); } 중복 회원 예외 테스트에서 Junit5에선 @Test(expected)를 지원하지 않는 것 같아 assertThrows를 사용하는 방식으로 변경해야한다고 하여 변경했는데 올바른 방법인지 궁금합니다. (변경한 방식으로 테스트 케이스는 통과는 하였습니다.)
안녕하세요 강의 잘 보고 있습니다. 다름이 아니라 클래스 로더 및 로딩 과정 16:00초에 질문이 있는데요. 링킹 준비 단계에서 "객체 인스턴스가 저장될 메모리 공간을 확보하고 0으로 초기화"라고 되어 있는데, 제가 알기로는 클래스 수준의 정적 필드가 기본값으로 초기화로 알고 있습니다. 객체 인스턴스는 객체가 생성 되었을 때 기본 값으로 초기화가 이뤄지고 생성자가 있을때 말씀처럼 초깃값이 다시 설정 되는걸로 알고 있는데요. 제가 잘못 이해 한걸까요.
안녕하세요 선생님, 만약 시험문제에서 1월~12월 모두 데이터가 채워져있다면 result= df.groupby('연도')['총범죄건수'].mean() 이렇게 적어도 될까요? mean()으로 계산했더니 531이라는 값이 나오고 sum()/12으로 했더니 515로 나오네요.
안녕하세요 작업형2번 풀때 결측치 처리를 해줬을때보다 안해줬을때 roc_auc 스코어가 더 높게 나오면 결측치 처리를 안해주고 답을 내는게 맞을까요? 또 train과 test split을 해줬을때보다 안해줬을때 스코어가 더 높으면 안해준 상태로 답을 제출하는게 맞을까요? 점수가 크면 장땡인지 궁금합니다!!
train과 test 모두 pd.get_dummies를 사용해서 원-핫 인코딩을 해주잖아요. 근데 만약에 그 train의 object unique 수랑 test의 object unique 수가 서로 다르면 (서로 다른 값이 존재한다면) train과 test의 열(속성) 수가 달라져서 train로 학습을 시키고 test로 예측을 할때 열(속성) 수가 달라서 오류가 뜨지 않나요?? 그러면 사전에 object 컬럼에 서로 다른 값이 있는지 확인하고 원-핫 인코딩을 진행해줘야 되나요?? -> 서로 일치하는지 알 수 있는 방법이 있을까요? 이런 오류가 생긴다면 그냥 라벨인코딩하는게 좋을까요??
안녕하세요, 기출 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번 Blog와 about 메뉴리스트 출력하기 중 select_one을 이용해 하위 태그를 이용했는데 blog 라는 결과값이 중복되서 나오드라구요 하위태그의 클래스 이름이 같기 때문에 첫 번째 blog만 나오게 되는건가요? 저는 상위 태그가 다르기 때문에 별도로 blog와 about 나올거라 생각을 한것 같습니다. 설명 부탁드리겠습니다.
학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! 질문과 관련된 영상 위치를 알려주면 더 빠르게 답변할 수 있어요 먼저 유사한 질문이 있었는지 검색해보세요 customerID 가 데이터 갯수만큼 있는지, 반복성이 있는지에 따라 삭제, 라벨인코딩을 한다고 하셨는데, 반복성이 있는지는 어떤걸 보고 판단하는건가요?
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 사용 않고 별도 컬럼 추가해주면서 계산하는 방식도 또 하나의 풀이 과정으로 볼 수 있겠죠? 살짝 하드코딩 느낌이 나서 여쭤봅니다
안녕하세요 ㅎㅎ 좋은 강의 제공해주셔서 감사합니다. 추상 클래스와 인터페이스 사용 시점에 대해 궁금한 것이 있습니다. 제가 처음에 생각한 내용은 추상 클래스 : 부모 클래스와 자식 클래스가 공통으로 제공하는 내용(메서드) 도 존재하지만, 자식클래스 별로 다른 내용 을 제공할 때는 abstract 메서드를 사용하여 구현을 강제시킨다. 인터페이스 : 부모와 자식 간에 공통으로 가지는 내용(메서드 내용이 동일한) 이 없으므로, 상속받는 클래스가 반드시 메서드를 구현한다. 그런데 JAVA8부터 인터페이스에 default 메서드 가 추가되었더군요. 인터페이스에 default 메서드를 선언하면, 인터페이스를 상속받는 클래스에서 구현을 하지 않고도 사용할 수 있더라구요. interface Shape { final int SIZE = 5; void render(); default int getSize() { return SIZE; } } class Rectangle implements Shape { @Override public void render() { StringBuilder buffer = new StringBuilder(); for (int i = 0; i < SIZE; i++) { for (int j = 0; j < SIZE; j++) { buffer.append("*\t"); } buffer.append("\n"); } System.out.println(buffer); } } public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int input = sc.nextInt(); Shape shape; if (input == 0) { shape = new Rectangle(); } else { shape = new Triangle(); } shape.render(); System.out.println(shape.getSize()); } } 그렇다면 default 메서드가 추상 클래스의 일반 메서드(추상 클래스가 아닌)와 동일하게 작동하게 되는데 public abstract class Shape { public static final int SIZE = 5; public abstract void render(); public int getSize() { return SIZE; } } 추상 클래스와 인터페이스를 사용하는 시기(?)를 어떻게 구별해야할까요? 구글링을 해보니 인터페이스에 default 메서드가 추가된 이유가 추후에 인터페이스에 새로운 메서드를 추가했을 때, 해당 인터페이스를 상속하고 있는 클래스에서 오류가 발생하지 않기 위해서라고 하는데 그 오픈소스가 엄청 유명해져서 전 세계 사람들이 다 사용하고 있는데, 인터페이스에 새로운 메소드를 만들어야 하는 상황이 발생했다. 자칫 잘못하면 내가 만든 오픈소스를 사용한 사람들은 전부 오류가 발생하고 수정을 해야 하는 일이 발생할 수도 있다. 이럴 때 사용하는 것이 바로 default 메소드다. 결론적으로 내용을 정리하게 되면 추상 클래스에서 새로운 메서드를 추가해야 한다면 abstract를 추가하지 않는다. 인터페이스에서 새로운 메서드를 추가해야 한다면 default 메서드를 사용한다. default 메서드가 추가 되면서 추상 클래스와 인터페이스를 언제 사용해야 하는지 잘 모르겠습니다...! 감사합니다!
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 여기에 질문 내용을 남겨주세요. <form th:action="@{/items/new}" th:object="${form}" method="post"> <form role="form" action="/members/new" th:object="${memberForm}" method="post"> 첫번째는 상품등록 폼의 action이 th태그로 사용된경우 두번째는 회원등폭 폼의 action이 그냥 사용된경우입니다. 상품,회원의 @getMapping createForm과 @postMapping create의 경로가 같기때문에(member/new, items/new) 저는 위의 2개의 form.html 에있는 action을 action=""으로 둘다 설정했는데 저렇게 따로 하는 이유가 있을까요 ? 제가 배운 기억으로는 경로가 같으면 action="" 이렇게 사용하면 처음 요청했던곳으로 다시 post요청한다고 알고있어서요
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) 이런 방법으로 풀어나갈 수 있는 방법은 없을까요?
구글 코랩에서 사용 중인데, 파일 업로드 어떻게 하나요? 코드에 import pandas as pd df = pd.read _csv("type1_data1.csv") df = pd.read _csv(" https://raw.githubusercontent.com/lovedlim/bigdata_analyst_cert/main/part1/ch3/type1_data1.csv ") 이렇게 붙여넣기 했는데 이렇게 하는게아닌가요? 드래그앤드롭 하라고 하셨는데 어디다 드래그앤드롭 하라는 건가요?ㅠ