Python 我如何预测我的变量
我编写了一个与PATSY和FORMULA一起使用的代码,但现在我想用“预测”来验证我在summary中找到的结果。那么我如何预测我的变量呢Python 我如何预测我的变量,python,numpy,pandas,prediction,statsmodels,Python,Numpy,Pandas,Prediction,Statsmodels,我编写了一个与PATSY和FORMULA一起使用的代码,但现在我想用“预测”来验证我在summary中找到的结果。那么我如何预测我的变量呢 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, ol
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']
,然后与其他数据帧
中没有x
的列合并
简单地改变
cols_to_keep = ['a', 'b']
到
对于像这样的一次性脚本,使用assert
的健全性检查来确保它执行了您期望的操作,这不是一个坏主意,例如
assert 'x' in data, 'x is not a column in data'
由于x
已添加回数据中
,因此您还需要将列库
更改为
cols = data.columns
train_cols = cols[cols != 'x'][1:]
是的,我添加了x,但我有一个错误:raise linalgeror,'Singular matrix'numpy.linalg.linalg.linalg.linalgeror:Singular matrix自从您将
x
添加回数据后,显然,您必须确保“x”不在列中。我在列中添加了x以保留。因为我试图找到变量的预测值。。。为此,我正在开发这段代码,并尝试应用我在这个链接中找到的内容。在进入逻辑回归之前,回顾一下可能会有帮助。你为什么这么说?在开始逻辑回归之前,我学习了Python的基础知识,现在我在逻辑回归方面遇到了一个问题。另外,我正在尝试发出您的命令,但我总是有错误。您能给我看一下完整的代码吗?因为您下面的一些评论表明,您不明白当您直接运行train\u cols=train\u cols[train\u cols!='x'][1:]
。如果我给你完整的代码,你什么也学不到。Stack Overflow并不是一个真正的“给我一个实现”的站点。我编写了代码,只是有一个错误。好的,谢谢
cols = data.columns
train_cols = cols[cols != 'x'][1:]