본문 바로가기

분류 전체보기131

자바 타입 확인 메소드 특정 문자의 타입을 확인하는 주요 메서드Character.isDigit(char ch): 문자가 숫자인지 확인.Character.isLetter(char ch): 문자가 알파벳인지 확인.Character.isWhitespace(char ch): 문자가 공백인지 확인.Character.isUpperCase(char ch): 문자가 대문자인지 확인.Character.isLowerCase(char ch): 문자가 소문자인지 확인.Character.isLetterOrDigit(char ch): 문자가 알파벳이거나 숫자인지 확인. instanceof 연산자instanceof 연산자는 객체가 특정 클래스의 인스턴스인지 확인할 때 사용 getClass() 메서드모든 자바 객체는 Object 클래스의 메서드인 getC.. 2024. 6. 21.
자바를 공부하며 그간 파이썬을 하면서 " ", ' '를 별로 구분하지 않고 문자든 문자열이든 해당 파일, 해당 셀에 쓰인것과 통일해서 사용했었다.단 한번도 이 차이에 대해서 생각해 본 적이 없었다.이런 코딩테스트 연습문제를 풀기 위해class Solution { public String solution(String rsp) { char[] chararray = rsp.toCharArray(); StringBuilder answer = new StringBuilder(); for (char a : chararray){ if (a == '2') { answer.append(0); } else if.. 2024. 6. 21.
valueof가 뭘까 ArrayList가 뭔지 기본 배열이 왜이렇게 사용하기 불편한지 찾아보다가 valueof라는 신박한놈을 발견하게 되었다.늘 그렇듯 GPT형님께 도움을 받았다. valueOf 메소드란?valueOf 메소드는 래퍼 클래스(Wrapper Class)의 정적 메소드 중 하나로, 기본 타입의 값을 해당 래퍼 클래스 객체로 변환하는 역할을 한다. 자바에는 기본 타입과 해당 기본 타입을 객체로 다룰 수있는 래퍼 클래스(Integer, Float, Double)가 있다. 왜 valueOf를 쓰는것?ArrayList의 remove 메소드는 오버로딩되어 있다.1. remove(int index) : 인덱스를 사용하여 요소를 제거하는 메소드2. remove(Object o) : 객체를 사용하여 요소를 제거하는 메소드 만약 .. 2024. 6. 20.
JAVA ArrayList 메소드 정리 ArrayList 생성 및 기본 사용법import java.util.ArrayList;public class Example { public static void main(String[] args) { ArrayList list = new ArrayList(); // ArrayList 생성 }}요소 추가 메소드add(E e)리스트 끝에 요소를 추가함. Python의 append와 비슷한 느낌list.add(1);list.add(2);list.add(3); add(int index, E element)특정 위치에 요소를 추가list.add(1, 10); // 인덱스 1에 10을 추가 요소 삭제 메소드remove(int index)특정 위치의 요소를 삭제list.remove(1); //.. 2024. 6. 20.
자바의 기본 메서드와 예제 요약 (GPT ver) 자바의 기본 메서드와 예제 요약문자열 처리 메서드length(): 문자열의 길이를 반환합니다.charAt(int index): 지정한 인덱스의 문자를 반환합니다.substring(int beginIndex, int endIndex): 지정한 범위의 부분 문자열을 반환합니다.replace(char oldChar, char newChar): 문자열의 모든 oldChar를 newChar로 대체합니다.toUpperCase(): 모든 문자를 대문자로 변환합니다.toLowerCase(): 모든 문자를 소문자로 변환합니다.trim(): 문자열의 양쪽 끝에 있는 공백을 제거합니다.contains(CharSequence s): 문자열이 지정한 시퀀스를 포함하는지 여부를 반환합니다.startsWith(String pref.. 2024. 6. 20.
고객 세그먼트 최근 분석 프로젝트를 진행하며 세그먼트 라는 단어가 나왔다.어떤걸 의미하는지 추측조차 되지 않아 따로 찾아보고 기록하기로 했다.나의 삶, 나의 빛, 나의 스승님께 여쭤봤다.한번에 이해가 되지 않아서 세그먼트 = 비슷한 특성을 가진 유저층 이라고 이해해도 되는건가 다시한번 검토를 부탁했다.세그먼트 = 특정 기준에 따라 비슷한 특성을 가진 유저들을 묶어놓은 그룹.이젠 특정 기준을 어떻게 삼는지를 알아볼 차례같다.결국엔 어차피 세그먼트들이 여러가지 나올텐데 그걸 추출하는 과정을 클러스터링으로 진행하면 어떨까 싶어서 물어봤따.나쁘지 않은 방법같다.  다만 전통적인 방법도 알고있어야 어떤 방법이 더 좋은지 어디에 어떤걸 사용하는게 적절할 지 판단할 수 있을 것 같아서 이부분도 물어봤다. 나이, 소득과 같이 명확하.. 2024. 6. 13.
나는 왜 프로젝트를 두번이나 엎었는가. 최근 데이터 분석 프로젝트를 진행하며 엄청 좋은 기획이었음에도 불구하고 두 번이나 엎었다. 처음 엎은것은 분석이 아닌 머신러닝 + 웹 프로젝트가 되어버릴 것 같았고, 데이터를 구하고 처리하기에 시간이 촉박했기에 팀원들과 상의 후 플랜 B를 진행하기로 했다. 음악 관련, 운세 관련 사용자 로그데이터를 얻는건 사실상 불가능했다. 그래서 비교적 많이 뿌려져 있는 공공데이터를 이용하여 노인 관련 분석 프로젝트로 방향을 틀었다.하지만 여기에서도 난관에 부딪혔다. 품질이 좋은 데이터는 직접 관련 기관에 가서 분석을 하고 결과만 가지고 나와야 했다. 그 외에는 분석을 하기에는 이미 특정 목적을 위해 수집된 데이터들이었다. 노래 데이터는 크롤링이라도 하면 메타데이터를 구할 수 있었지만 이번 같은 경우에는 오프라인 기반.. 2024. 6. 11.
kaggle Spooky Author Identification 상위99% 보통 log손실함수 값이 0.0n이 나오는 도전과제에서 자랑스럽게 1점대를 기록했다.거의 꼴찌에 가까운 점수인것같다. 처음 피드포워드 모델을 구현해서 도전과제에 도전하고 다른 선발대 분들의 노트북을 봤을 때 성능 좋은 모델들을 사용하여 고득점을 받아내는 경우가 많았다.이 과정에서 XGBoost, Randomforest 의 존재를 알았기에 nlp 문제도 요즘 기가막힌다는 transfomers bert 모델을 파인튜닝 해서 접근했다. 문자열 데이터 전처리, 모델의 구현방법은 알았지만 문제가 있었다.처음에 그냥 파인튜닝해서 예측한걸 출력했을때 logloss값이 0.2, accuracy는 82%가 나왔는데 제출이 되지 않아 살펴보니 원시점수로 출력되었다. 원시점수가 뭔가 하고 봤더니 확률로 변환하기 전에 모델이.. 2024. 6. 7.
Cross Entropy, Categorical Cross Entropy, Sparse Categorical Cross Entropy 캐글 spooky 문제에 도전하다가 레이블을 원 핫 인코딩 하지 않고 진행했을 때 CategoricalCrossEntropy를 사용했더니 오류가 발생해서 GPT에게 물어보았다.계산 방법...수식...은 잘 모르겠지만 언제 어디에 사용해야 하는지는 확실히 알았다.Cross Entropy 개요크로스 엔트로피(Cross Entropy)는 분류 문제에서 예측값과 실제값의 차이를 측정하는 손실 함수예요. 이진 분류와 다중 클래스 분류 문제에서 사용돼요. 크로스 엔트로피의 주요 종류는 다음과 같아요:Binary Cross Entropy (이진 크로스 엔트로피)이진 분류 문제에 사용돼요.예를 들어, 고양이인지 아닌지를 예측하는 문제에서 사용해요.tf.keras.losses.BinaryCrossentropy를 사용해요.. 2024. 6. 5.