Python包中的访问类变量

Python包中的访问类变量,python,pandas,statsmodels,glm,Python,Pandas,Statsmodels,Glm,我正在处理一个python包,该包在一个类下使用多个函数,并且希望访问其中一个类函数变量。如果可能的话,我怎么做 我已经将类和函数分解为单个代码位,但是给定包,有没有一种方法可以让我调用隐藏的类或其他类型的类 'def fit_scores(self, balance=True, nmodels=None): """ Fits logistic regression model(s) used for generating propensity scores

我正在处理一个python包,该包在一个类下使用多个函数,并且希望访问其中一个类函数变量。如果可能的话,我怎么做

我已经将类和函数分解为单个代码位,但是给定包,有没有一种方法可以让我调用隐藏的类或其他类型的类

    'def fit_scores(self, balance=True, nmodels=None):
    """
    Fits logistic regression model(s) used for
    generating propensity scores
    Parameters
    ----------
    balance : bool
        Should balanced datasets be used?
        (n_control == n_test)
    nmodels : int
        How many models should be fit?
        Score becomes the average of the <nmodels> models if nmodels > 1
    Returns
    -------
    None
    """
    # reset models if refitting
    if len(self.models) > 0:
        self.models = []
    if len(self.model_accuracy) > 0:
        self.model_accuracy = []
    if not self.formula:
        # use all columns in the model
        self.formula = '{} ~ {}'.format(self.yvar, '+'.join(self.xvars))
    if balance:
        if nmodels is None:
            # fit multiple models based on imbalance severity (rounded up to nearest tenth)
            minor, major = [self.data[self.data[self.yvar] == i] for i in (self.minority, self.majority)]
            nmodels = int(np.ceil((len(major) / len(minor)) / 10) * 10)
        self.nmodels = nmodels
        i = 0
        errors = 0
        while i < nmodels and errors < 5:
            uf.progress(i+1, nmodels,
                        prestr="Fitting Models on Balanced Samples")

            # sample from majority to create balance dataset
            df = self.balanced_sample()
            df = pd.concat([uf.drop_static_cols(df[df[self.yvar] == 1], yvar=self.yvar),
                            uf.drop_static_cols(df[df[self.yvar] == 0], yvar=self.yvar)])
            y_samp, X_samp = patsy.dmatrices(self.formula, data=df, return_type='dataframe')
            X_samp.drop(self.yvar, axis=1, errors='ignore', inplace=True)

            glm = GLM(y_samp, X_samp, family=sm.families.Binomial())
            try:
                res = glm.fit()
                self.model_accuracy.append(self._scores_to_accuracy(res, X_samp, y_samp))
                self.models.append(res)
                i += 1
            except Exception as e:
                errors += 1 # to avoid infinite loop for misspecified matrix
                print('Error: {}'.format(e))

        print("\nAverage Accuracy:", "{}%".
              format(round(np.mean(self.model_accuracy) * 100, 2)))
    else:
        # ignore any imbalance and fit one model
        print('Fitting 1 (Unbalanced) Model...')
        glm = GLM(self.y, self.X, family=sm.families.Binomial())
        res = glm.fit()
        self.model_accuracy.append(self._scores_to_accuracy(res, self.X, self.y))
        self.models.append(res)
        print("\nAccuracy", round(np.mean(self.model_accuracy[0]) * 100, 2))'
'def fit_分数(self,balance=True,nmodels=None):
"""
拟合用于预测的逻辑回归模型
生成倾向分数
参数
----------
平衡:布尔
是否应该使用平衡的数据集?
(n_控制==n_测试)
nmodels:int
应该适合多少型号?
如果NMODEL>1,则分数将成为模型的平均值
退换商品
-------
没有一个
"""
#如果重新安装,则重置模型
如果len(自身型号)>0:
self.models=[]
如果len(自身模型精度)>0:
self.model_精度=[]
如果不是自我公式:
#使用模型中的所有列
self.formula='{}~{}'。格式(self.yvar,'+'.join(self.xvars))
如果平衡:
如果NMODEL为“无”:
#根据不平衡严重程度拟合多个模型(四舍五入至最接近的十分之一)
小调,大调=[self.data[self.data[self.yvar]==i]代表i in(self.minority,self.maintal)]
nmodels=int(np.ceil((长(大调)/短(小调))/10)*10)
self.nmodels=nmodels
i=0
错误=0
当i
我想打个电话
res
以便我可以访问statsmodel包的
打印(res.summary)
或任何其他部分