Skip to main content
 首页 » 编程设计

python之我怎样才能预测我的变量

2025年05月04日10cmt

我编写了一个适用于 PATSY 和 FORMULA 的代码,但现在我想进行“预测”以验证我通过摘要找到的结果。那么我怎样才能预测我的变量呢?

import numpy as np 
from scipy import stats 
import scipy 
import matplotlib.pyplot as plt 
import statsmodels.api as sm 
 
from statsmodels.formula.api import logit, probit, poisson, ols 
 
FNAME ="C:/Users/lenovo/Desktop/table.csv" 
 
my_data = np.genfromtxt (FNAME, delimiter = ',') 
 
 
x = my_data [:,1] 
d = my_data [:,4] 
f=my_data[:,6] 
c= my_data[:,3] 
#crée un masque pour les valeurs nans 
masque = ~ (np.isnan (x) | np.isnan (d) | np.isnan (f) | np.isnan (c)) 
 
x = my_data[masque, 1] - 1 
d = my_data[masque, 4] 
f = my_data[masque, 6] 
c = my_data[masque, 3] 
 
my_data_dict = dict ( 
x = x, 
d = d, 
f = f, 
c=c 
 
) 
 
form = 'x ~ C(c)+C(d)+C(f)' 
 
 
affair_model = logit (form, my_data_dict, manquant = 'drop') 
 
affair_result = affair_model.fit () 
 
print affair_result.summary ()  

请您参考如下方法:

在这一行中:

data = df[cols_to_keep].join(dummy_ranks1.ix[:, 'c_2':]).join(dummy_ranks3.ix[:, 'd_2':]).join(dummy_ranks2.ix[:, 'f_2':]) 

您只选择了列 ['a', 'b'] , 然后加入其他 DataFrame没有 x在其中。

简单的改变

cols_to_keep = ['a', 'b'] 

到

cols_to_keep = ['a', 'b', 'x'] 

对于像这样的一次性脚本,使用 assert 进行健全性检查是个不错的主意。确保它按照您的预期进行,例如,

assert 'x' in data, 'x is not a column in data' 

自 x已添加回 data您还需要更改 train_cols到

cols = data.columns 
train_cols = cols[cols != 'x'][1:]