Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/331.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 拟合模型时的概率图形模型错误_Python_Anaconda_Modeling_Graph Modelling Language - Fatal编程技术网

Python 拟合模型时的概率图形模型错误

Python 拟合模型时的概率图形模型错误,python,anaconda,modeling,graph-modelling-language,Python,Anaconda,Modeling,Graph Modelling Language,我试图用样本数据拟合一个样本概率图形模型。 在模型中拟合数据时,我遇到类型错误。示例代码如下所示: import numpy as np import pandas as pd from pgmpy.models import BayesianModel data = np.random.uniform(low=0, high=2, size=(1000, 4)).astype('float') data data = pd.DataFrame(data, columns=['cost',

我试图用样本数据拟合一个样本概率图形模型。 在模型中拟合数据时,我遇到类型错误。示例代码如下所示:

import numpy as np
import pandas as pd
from pgmpy.models import BayesianModel

data = np.random.uniform(low=0, high=2, size=(1000, 4)).astype('float')
data

data = pd.DataFrame(data, columns=['cost', 'quality',
'location',
'no_of_people'])

train = data[:750]
test = data[750:].drop('no_of_people', axis=1)

restaurant_model = BayesianModel(
[('location', 'cost'),
('quality', 'cost'),
('location', 'no_of_people'),
('cost', 'no_of_people')])

restaurant_model.fit(train)
我遇到以下错误:

---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
<ipython-input-173-8e3a85cb8b56> in <module>()
----> 1 restaurant_model.fit(train)

C:\Users\pranav.waila\AppData\Local\Continuum\Anaconda3\lib\site-packages\pgmpy\models\BayesianModel.py in fit(self, data, estimator_type)
    568         estimator = estimator_type(self, data)
    569 
--> 570         cpds_list = estimator.get_parameters()
    571         self.add_cpds(*cpds_list)
    572 

C:\Users\pranav.waila\AppData\Local\Continuum\Anaconda3\lib\site-packages\pgmpy\estimators\MLE.py in get_parameters(self)
     64                 state_counts = state_counts.reindex(sorted(state_counts.index))
     65                 cpd = TabularCPD(node, self.node_card[node],
---> 66                                  state_counts.values[:, np.newaxis])
     67                 cpd.normalize()
     68                 parameters.append(cpd)

C:\Users\pranav.waila\AppData\Local\Continuum\Anaconda3\lib\site-packages\pgmpy\factors\CPD.py in __init__(self, variable, variable_card, values, evidence, evidence_card)
    137             raise TypeError("Values must be a 2D list/array")
    138 
--> 139         super(TabularCPD, self).__init__(variables, cardinality, values.flatten('C'))
    140 
    141     def __repr__(self):

C:\Users\pranav.waila\AppData\Local\Continuum\Anaconda3\lib\site-packages\pgmpy\factors\Factor.py in __init__(self, variables, cardinality, values)
     98 
     99         if values.dtype != int and values.dtype != float:
--> 100             raise TypeError("Values: Expected type int or type float, got ", values.dtype)
    101 
    102         if len(cardinality) != len(variables):

TypeError: ('Values: Expected type int or type float, got ', dtype('int64'))
---------------------------------------------------------------------------
TypeError回溯(最近一次调用上次)
在()
---->1个餐厅\u模型安装(列车)
C:\Users\pranav.waila\AppData\Local\Continuum\Anaconda3\lib\site packages\pgmpy\models\BayesianModel.py拟合(self、data、估计器类型)
568估计器=估计器类型(自身,数据)
569
-->570 cpds_list=估计器。获取_参数()
571.自行添加CPD(*CPD清单)
572
C:\Users\pranav.waila\AppData\Local\Continuum\Anaconda3\lib\site packages\pgmpy\estimators\MLE.py in get\u parameters(self)
64状态计数=状态计数.reindex(已排序(状态计数.index))
65 cpd=表格RCPD(节点,自节点\卡[node],
--->66状态计数值[:,np.newaxis])
67 cpd.normalize()
68.附加参数(cpd)
C:\Users\pranav.waila\AppData\Local\Continuum\Anaconda3\lib\site packages\pgmpy\factors\CPD.py in\uuuuuuuu init\uuuuuuuuuuuu(自我、变量、变量卡、值、证据、证据卡)
137 raise TypeError(“值必须是二维列表/数组”)
138
-->139 super(tablercpd,self)。\uuuu init\uuuuu(变量、基数、值。展平('C'))
140
141定义报告(自我):
C:\Users\pranav.waila\AppData\Local\Continuum\Anaconda3\lib\site packages\pgmpy\factors\factors.py in uuuuuu init_uuuuu(self、变量、基数、值)
98
99 if values.dtype!=int和values.dtype!=浮动:
-->100 raise TypeError(“值:预期类型int或类型float,got”),Values.dtype)
101
102如果len(基数)!=len(变量):
TypeError:('Values:Expected type int或type float,get',dtype('int64'))

这是包装中的一个错误。我打开了问题的bug(),这是包装中的一个错误。我打开了问题的bug()