2017-02-21 1 views
0

파이썬에서 StatsModel Linear Mixed Effects Models을 이해하려고합니다.Python - 클래스 메서드는 클래스 매개 변수를 상속합니까?

모델 클래스는 다음과 같다 '그룹의 매개 변수가

class statsmodels.regression.mixed_linear_model.MixedLM(endog, exog, groups, 
                 exog_re=None, use_sqrt=True, 
                 missing='none', **kwargs) 

. 내 질문은

클래스 메서드는 클래스 매개 변수를 상속합니까?

묻는 이유는 클래스 methods의 경우 'groups'매개 변수를 포함하지 않는 from_formula 메소드가 있습니다. 그러나 그들이 쓰는 example 코드, 따라서 내 질문을 'from_formula'방법 안에 '그룹의 매개 변수를 포함

model = sm.MixedLM.from_formula("Weight ~ Time", data, re_formula="Time", 
           groups=data["Pig"]) 

,

에 클래스 메소드는 클래스의 매개 변수를 상속합니까?

답변

0

클래스/함수에서 * args 및 ** kwargs를 허용하는 순수한 python 개념. 클래스 나 함수에 전달할 매개 변수의 수를 지정하지 않으면 args 또는 kwargs를 사용합니다. 이 링크 args and kwargs을 통해 이동하십시오. 나는 내부 디자인 from_formula을 보았고, 그룹을 kwargs로 찾고 있습니다.

1

아니요, "클래스 매개 변수"가 전혀 없습니다. 생성자의 주장이 있습니다.

here에서 설명한 것처럼 args 및 kwargs는 모델 (생성자 - ____init____ 메소드)에 전달됩니다. 그러면 모델의 개체가 반환됩니다. 이 메소드는 당신에게 어떤 액션을 숨기고 있지만, 당신이 무엇을하고 있는지 알면 생성자에 전달하는 것처럼 인자를 전달할 수 있습니다.

이 인수는 선택 사항입니다.

인수 : 추가 키워드 인수

이 하나 개의 예외 모델에 전달됩니다 추가 인수

는이 모델에

kwargs로 전달된다. eval_env 키워드 이 patsy로 전달됩니다. apatsy.EvalEnvironmentobject 또는 중 하나 일 수 있으며, 사용할 네임 스페이스의 깊이를 나타내는 정수입니다. 예를 들어, 기본값 eval_env = 0은 호출하는 네임 스페이스를 사용합니다. 을 "깨끗한"환경으로 사용하려면 eval_env = -1로 설정하십시오.

관련 문제