2024/10 59

TIL 24

강의 외부에서 추가로 알게 된 내용isdigit()문자열 메서드로, 문자열이 숫자로만 구성되어 있는지를 확인할 때 사용된다. 문자열이 숫자(0-9)로만 구성되어 있으면 True를 반환하고, 그렇지 않으면 False를 반환한다. 즉, 음수 부호(-), 소수점(.), 공백, 알파벳 등이 포함된 경우 False를 반환하고, 숫자로만 이루어진 문자열일 때만 True를 반환하다.# 사용법문자열.isdigit()# 예시print("123".isdigit()) # True: 모든 문자가 숫자이므로 Trueprint("abc".isdigit()) # False: 숫자가 아닌 문자가 포함됨print("12a3".isdigit()) # False: 숫자가 아닌 문자가 포함됨print("45 ".isdigit())..

TIL 23

정확도가 학습 초기부터 100%로 나올 때데이터 분할, 모델 설정 또는 데이터셋 전처리 과정에서 생긴 잠재적인 문제일 가능성이 높다. 정확도가 100%가 나온 원인과 이를 해결할 수 있는 방법을 알아보자. 레이블 인코딩을 확인해보자. LabelEncoder가 label_pipeline 안에서 fit_transform을 호출하는데, 이 방식은 각 샘플을 처리할 때마다 전체 데이터에 대해 재적용될 수 있어, 모든 데이터가 같은 값으로 인코딩될 위험이 있다. 이를 방지하려면 한 번만 fit하여 레이블을 미리 인코딩하는 것이 좋다.# 수정 전 코드# 토크나이저 및 레이블 인코더 정의tokenizer = get_tokenizer("basic_english")label_encoder = LabelEncoder()...

WIL 4

머신러닝 딥러닝이라는 말도 처음 들어보았다. 인공지능이라는 말만 많이 들어봤지, 그 속에 무엇이 있는 지는 이번에 처음 알게 되었다. 처음 듣는 용어들도 많고 수학적 개념도 많아서 설명을 알아듣기가 매우 어려웠다. 그러나 팀 과제가 주어지면서, 빨리 강의 진도를 나가야 해서 충분히 이해하면서 들을 시간이 없었다. 우선 진도라도 다 빼고 팀 과제를 시작하게 되었다. 그렇게 시작한 팀 과제 중 필수 과제는 이미 정답이 다 주어져서 원활하게 진행할 수 있었다. 추가하고 변경할 부분과, 개념적인 부분들을 찾으면서 금방 해결할 수 있었다.  그러나 도전과제는 시작부터 문제였다. 아직 개념도 다 잡히지 않은 상태라서 나에게 주어진 과제가 도대체 무엇을 하기 위한 것인지부터 이해를 해야 했다. 조원들과 튜터분들의 도..

TIL 22

도전 과제를 진행하면서 만난 다양한 오류들 NameError: name 'device' is not defined 코드에서 device라는 변수가 정의되지 않았기 때문에 발생한다. device는 보통 PyTorch에서 모델과 데이터를 CPU 또는 GPU로 이동시키기 위해 사용된다. 아래 코드는 GPU가 사용 가능한 경우, GPU를 사용하고 그렇지 않으면 CPU를 사용한다는 뜻이다.device = torch.device('cuda' if torch.cuda.is_available() else 'cpu')그러고 나면 이제 모델과 데이터를 지정한 device로 이동시켜야 한다.# 모델 초기화model = LSTMModel(vocab_size, embed_dim, hidden_dim, output_dim).to..

TIL 21

강의 외부에서 추가로 알게 된 내용lambda 함수lambda 함수는 간단한 함수 정의를 위해 사용되는 구문이다. 일반적으로 작은 기능을 수행하는 간단한 함수를 한 줄로 작성할 수 있게 해준다. 구조는  lambda 인수들: 표현식 이다. 이름이 없기 때문에 '익명 함수'라고도 불리며, 보통 다른 함수에 인자로 넘기거나, 간단한 연산을 위해 사용된다.# 예시1) 어떤 수의 제곱을 구하는 lambda 함수square = lambda x: x ** 2print(square(5)) # 출력: 25# 예시2) 두 수의 합을 구하는 lambda 함수add = lambda x, y: x + yresult = add(3, 5)print(result) # 출력: 8# 이는 x와 y를 받아서 그 합을 반환하는 함수이..

31, 32, 33, 34, 35

31 수박수박수박수박수박수?def solution(n):     answer = ''     if n % 2 == 0:         return '수박' * (n // 2)     elif n == 1:         return '수'     else:         return '수박' * (n // 2) + '수'     return answer32 내적def solution(a, b):     answer = 0     for i in range(len(a)):         answer += a[i] * b[i]     return answer33 약수의 개수와 덧셈def solution(left, right):     answer = 0     for num in range(left, rig..