TIL(24.12.23)

채채·2024년 12월 23일

Today I Learned

목록 보기
40/75

오늘 공부하며 궁금했던 내용들

  1. python의 join 함수
  2. Estimator


1. python의 join 함수

코드카타 코드리뷰하는데 팀원분이 join 함수를 자주 쓰셔서 궁금해서 찾아봄.

  • 파이썬의 join 함수는 문자열 메서드로, 리스트나 튜플과 같은 반복 가능한(iterable) 객체의 요소들을 하나의 문자열로 연결하는 데 사용됨.

  • 각 요소 사이에 지정한 문자열이 삽입.

  • 문법

"구분자".join(iterable)
  • 구분자: 각 요소를 연결할 때 사용할 문자열. (예: 공백, 쉼표, 하이픈 등)
    iterable: 연결할 문자열들로 이루어진 반복 가능한 객체. (예: 리스트, 튜플, 문자열)
  • 사용 예시
  1. 리스트의 문자열 연결
words = ["Hello", "World", "Python"]
result = " ".join(words)  # 공백을 구분자로 사용
print(result)  # 출력: "Hello World Python"
  1. 튜플의 문자열 연결
words = ("apple", "banana", "cherry")
result = ", ".join(words)  # 쉼표와 공백을 구분자로 사용
print(result)  # 출력: "apple, banana, cherry"
  1. 문자열도 iterable로 동작
chars = "PYTHON"
result = "-".join(chars)
print(result)  # 출력: "P-Y-T-H-O-N"
  1. 숫자가 포함된 리스트 (오류 발생)
    join은 문자열만 연결할 수 있으므로 숫자가 포함된 경우 오류발생.
data = ["Age", 25]

# 오류 발생: TypeError: sequence item 1: expected str instance, int found
result = " ".join(data)
해결 방법: 숫자를 문자열로 변환해야 합니다.

data = ["Age", 25]
result = " ".join(map(str, data))
print(result)  # 출력: "Age 25"



2. Estimator

머신러닝 실습 강의 중에 estimator 개념에 대해 설명해주셨는데, 이해가 잘 안돼서 따로 찾아봄.

  • Scikit-learn에서 Estimator는 머신러닝 모델, 데이터 전처리, 차원 축소 등 다양한 작업을 수행하는 기본 클래스.
  • 모든 Estimator는 특정 패턴의 API를 따르며, 일관된 인터페이스를 제공함.
  • 이를 통해 모델 학습, 예측, 평가, 데이터 변환 등을 간단하고 효율적으로 수행할 수 있음.

Estimator는 큰 틀

  • 데이터를 사용해 학습, 추정, 변환 등의 작업을 수행하는 도구.
  • 머신러닝의 모델, 데이터 변환기(스케일링, 차원 축소 등) 모두 Estimator에 해당함

Estimator는 클래스 형태로 구현

  • Scikit-learn에서는 Estimator를 클래스로 정의함.
  • 예를 들어, LinearRegression은 회귀 분석을 수행하는 Estimator 클래스임.

Estimator는 메서드를 통해 작업을 수행

  • fit: 학습
  • predict: 예측
  • transform: 변환
  • score: 모델 평가
    각 메서드는 특정한 작업을 처리하도록 설계되어 있음.

Estimator의 구조

Estimator를 하나의 큰 개념으로 보면, 내부에 클래스와 메서드가 포함된 구조.

  1. 클래스
    Estimator의 구체적인 구현체.
    예:
    - 지도 학습: LinearRegression, RandomForestClassifier
    - 비지도 학습: KMeans, PCA
    - 데이터 전처리: StandardScaler, MinMaxScaler

  2. 메서드
    클래스 안에 정의된 함수로, 특정 작업을 수행.
    주요 메서드:
    - fit(X, y): 데이터를 학습.
    - predict(X): 학습된 모델로 예측 수행.
    - transform(X): 데이터를 변환.
    - fit_transform(X, y): 학습 후 데이터를 변환.

profile
화이팅

0개의 댓글