Python Decorator @Propery를 이용, Overwrite를 방지할 수 있다.

Python Decorator @Propery를 이용, Overwrite를 방지할 수 있다.
Photo by henry perks / Unsplash

Property Decorator를 이용,  직접 할당을 제한하여 클래스 Attribute를  덮어쓰지 않도록 보호할 수 있다. 이는 실수로 모델이나 데이터를 Overwrite할 수 있는 가능성을 원천차단할 수 있다.

class SimpleMLModel:
    def __init__(self):
        self._trained = False
        self._model_parameters = None

    @property
    def trained(self):
        """check if the model has been trained."""
        return self._trained

    @property
    def model_parameters(self):
        """get the model parameters for the trained model."""
        if self.trained:
            return self._model_parameters
        else:
            raise ValueError("Model has not been trained. Parameters are not available.")

    def fit(self, features, targets):
        """train the machine learning model."""
        self._model_parameters = self._train_model(features, targets)
        self._trained = True
    
    def _train_model(self, features, targets):
        # implement model training algorithm
        # return the model parameters
        pass

Read more

DataFrame은 Pandera로, 모델은 Pydantic으로 데이터를 검증한다.

DataFrame은 Pandera로, 모델은 Pydantic으로 데이터를 검증한다.

Pandera: 데이터프레임 검증에 최적화된 도구 주요 장점 * Pandas와 통합: Pandas 데이터프레임에 대해 스키마 기반 검증을 수행합니다. * 유연한 검증 조건: 열 데이터 타입, 값 범위, Null 여부 등 다양한 검증 조건을 정의할 수 있습니다. * 명확한 오류 메시지: 스키마 불일치에 대한 명확한 오류 메시지를 제공합니다. 단점 * 대용량 데이터 검증에서는 속도가 느릴 수

Tobit Regression은 Censored Data에 적합한 Regression이다.

Tobit Regression은 Censored Data에 적합한 Regression이다.

Tobit Regression * Tobit 회귀(Tobit Regression)는 종속 변수가 특정 값에서 절단(Censored)된 상황에서 데이터를 분석하기 위해 사용되는 통계 기법입니다. * James Tobin이 처음 제안한 이 모델은 경제학과 사회과학 분야에서 자주 사용되며, 일반 선형 회귀로는 설명할 수 없는 상황에서 효과적으로 적용할 수 있습니다. Tobit Regression 수식 1. 관측된 종속 변수