안녕하세요 딩코님! 1주차 숙제에서 추가로 주신 문자열 요약해보기를 풀었는데 JAVA로 진행중입니다! // 아스키코드 방식 public static StringBuffer summarizeString(String str) { int[] strArr = new int[26]; for(int i =0;i<str.length();i++){ int index = (int)str.charAt(i) - (int)'a'; strArr[index] += 1; } StringBuffer strbuf = new StringBuffer(); for(int i =0;i<strArr.length;i++){ if(strArr[i] > 0){ strbuf.append((char)(i+(int)'a')).append(strArr[i]+ " "); } } return strbuf; } public static void main(String[] args) { String inputStr = "acccdeee"; System.out.println(summarizeString(inputStr)); } // 문자열 뒤집기 방식 public static StringBuffer summarizeString(String str) { int count = 0; StringBuffer strBuf = new StringBuffer(); for(int i = 0;i < str.length() - 1; i++){ if(str.charAt(i) == str.charAt(i+1)){ count++; }else{ strBuf.append(str.charAt(i)).append(count + 1).append("/"); count = 0; } } strBuf.append(str.charAt(str.length() - 1)).append(count + 1); return strBuf; } public static void main(String[] args) { String inputStr = "acccdeee"; System.out.println(summarizeString(inputStr)); } 저는 아스키 코드를 사용해서 풀었는데 딩코님이 적어주신 답안지를 보니 바로 전에 풀어본 문자열 뒤집기와 유사하게 풀이를 해주셨더라구요 그래서 그걸 참고해서 작성해보니 둘다 똑같이 시간복잡도는 O(n)의 성능을 가지고있는거같고 다른점은 아스키 코드형식은 무조건 결과값이 abc순으로 출력이되고 문자열뒤집기 방식은 입력받은 순서대로 나오는거말고는 다른점은 찾을수가없었습니다. 해당 문제는 해설영상이 없어서 혹시 제가 문제를 이해못해서 잘못 작성한건가 해서 질문남깁니다! 이렇게 구체적으로 알려주시면, 더 정확하고 도움이 되는 답변을 드릴 수 있습니다! 😊
안녕하세요. 온보딩 기간: 4월 28일 ~ 5월 9일 온보딩 기간 중 파이썬과 판다스를 미리 학습 부탁드립니다. 스터디에서는 문제 풀이 참여 중심으로 진행 예정입니다. 오징어게임 관련해서 이런 안내가 있는데 전체 강의 중 최소한 ‘섹션3. [작업형1] 판다스’까지는 학습 완료해야 한다고 이해하면 될까요?
작업형2 모의문제3에서 xgb모델을 사용할 때 max_depth 기본 설정이 3으로 되어 있어서 max_depth=3을 코드에 넣었을 때와 넣지 않았을 때가 값이 똑같아야 한다고 설명해주셨는데 저는 값이 다르게 나와요. 왜 다르게 나올까요.. 그리고 머신러닝 강의를 따라하다보면 결과 값이 종종 영상과 다르게 나오는 경우가 있는데 코드를 똑같이 작성해도 값이 다를 수 있나요? from xgboost import XGBClassifier xgb=XGBClassifier(random_state=2022) xgb.fit(X_tr,y_tr) pred=xgb.predict(X_val) pred_proba=xgb.predict_proba(X_val) print(roc_auc_score(y_val, pred_proba[:,1])) print(f1_score(y_val, pred)) print(accuracy_score(y_val, pred)) ->0.9192546583850931 0.8444444444444444 0.8108108108108109 from xgboost import XGBClassifier xgb=XGBClassifier(random_state=2022, max_depth=3) xgb.fit(X_tr,y_tr) pred=xgb.predict(X_val) pred_proba=xgb.predict_proba(X_val) print(roc_auc_score(y_val, pred_proba[:,1])) print(f1_score(y_val, pred)) print(accuracy_score(y_val, pred)) -> 0.8975155279503105 0.8444444444444444 0.8108108108108109
for col in cols le = labelencoder() C_Train[col] = le.fit_transform(C_train[col]) 여기에서요. col 이라는 피처는 for col 반복문 에서 처음 생겼는데 C_train[col] 변수에 담을 transform(c_train[col])의 피처 col은 어디서 생겨난지 모르겟어서요.. 반복문 처음에 col로 피처를 생성한거를 c_train[col]이라고 명시하는 순간 col 칼럼이 생기면서 그 값을 알아서 가져오는 건가요???
안녕하세요. 「앞서 Airflow 예제를 개선해보자 (v3) - 실습 편」 강의 수강 중 궁금한 점이 있어 문의드립니다. DAG 실행 시 생성되는 tmp 파일이 제대로 생성되었는지 확인하고 싶어, CLI 환경이 아닌 웹 UI상에서 확인할 수 있는 방법이 있는지 알아보던 중 궁금한 점이 생겼습니다. /opt/airflow 디렉토리 구조는 CLI 환경에서만 확인 가능한 것인지, 웹 UI상에서는 해당 경로의 파일 구조를 직접 확인할 수 없는 것인지 궁금합니다. 추가로 확인이 가능한 부분이 있다면 현업에서는 어떻게 주로 확인하는지도 궁금합니다!
원래 원핫인코딩은 범주형 변수에만 적용가능하지 않나요? 강사님께서는 굳이 수치형과 범주형을 나누지 않고 train = pd.get_dummies(train), test = pd.get_dummies(test)하셨는데 이렇게 굳이 나누지 않고 원핫인코딩을 적용해도 괜찮나요?
2주차 끝 숙제 중 링크드리스트의 끝에서 k번째 값 출력하기 문제를 처음에 먼저 혼자 풀어볼 땐 링크드리스트를 순회하면서 각 노드를 따로 생성한 배열에 담고 return 할 땐 -k 인덱스로 끝에서 k번째 값을 가져오도록 해봤습니다. 답은 나오긴 하는데 혹시 이런 식으로 풀어도 되나요?? cur = self.head arr = [] while cur is not None: arr.append(cur) cur = cur.next return arr[-k]
캐글 이야기를 많이 하시고 저도 데이터 분석가라면 캐글에 친숙해지고 캐글 컴페티션을 잘해야 한다고 생각하는데요 캐글이 전부 영어로 되어있고 페이지 번역이 되긴하지만 실제 노트북에서 모델을 돌리는 과정이나 튜토리얼안의 스크립트나 코멘트들은 페이지번역도 안되는 문제가 있더라구요 어떻게 공부 하셨는지가 궁금합니다. 영어실력부터 쌓아야 하는건가요? 데이콘이라는 한국 사이트가 있긴하지만 대부분 유료화 되어있고 혹시 영어 원문 그대로 보셨는지 아니면 다른 방법이 있으셨는지도 궁금합니다.
안녕하세요 강사님, 강의 잘 듣고 있습니다. 혹시 슬라이드 형태로 공유 주시는 자료를 별도 pdf나 파일로 업로드 해주실 수 있으실지 문의드립니다. e.g.) 섹션 5. [작업형2] 머신러닝 및 평가지표 - 머신러닝 프로세스 매번 일부 슬라이드를 스크린샷 해서 보고 있어 살짝 불편합니다. 혹시 가능할지 확인해주시면 감사하겠습니다 :)
제가 일단 판다스기본 보고있는데.. 코드가 원리같은건 이해를 하겠는데 직접 타이핑할때 아직 세세하게 기억이 나질않아서 꼭 답을 보면 생각나더라구요.. 괄호 사용이나 메서드 사용법같은.. 현재 제 상태면 판다스 기본만 일단 계속 봐야하나요? 아니면 진도를 계속 나가도 되나요..? 이게 진도를 나가면서 문제통해서 배우는건지 판다스기본 완벽하게 마스터하고 나가야하는지 모르겠습니다 ㅠ
type 확인 후 cols = ['age', 'fnlwgt', 'education.num', 'capital.gain', 'capital.loss', 'hours.per.week'] 이렇게 수치형 데이터의 열만 복사하는 거 말고 cols = X_ train.select _dtypes(exclude='object').copy()를 사용해도 되나요?
스케일링, 인코딩 등 데이터 작업후에 위로 올라가서 다시 실행하면 처음이라 결과값이 달라지고 오류가 생기는데 한 번 실행한 작업은 다시 건드리면 안되나요? 라벨인코딩, 원핫인코딩 모두 실행하고 분리한 데이터 다시 합쳤을 때 컬럼이 107로 나와야하는데 처음이랑 그대로인 15가 나오더라구요 다시 올라가서 실행하니 전부 오류가 뜹니다 ㅜㅠ!!