Skip to main content
 首页 » 编程设计

python之制作经过训练的数据集python的图形

2025年05月04日10youxin

y1 = [] 
y2 = [] 
x = [] 
for i in range(40): 
    #fer dos llistes (error y epoch) y despres fer un plot 
    trainer.trainEpochs( 1 ) 
    trnresult = percentError( trainer.testOnClassData(),trndata['class'] ) 
    tstresult = percentError( trainer.testOnClassData(dataset=tstdata ),tstdata['class'] ) 
 
    print "epoch: %4d" % trainer.totalepochs, \ 
          "  train error: %5.2f%%" % trnresult, \ 
          "  test error: %5.2f%%" % tstresult 
 
    if i==1: 
        g=Gnuplot.Gnuplot() 
    else: 
        y1 = y1.append(float(trnresult)) 
        y2 = y2.append(float(tstresult)) 
        x = x.append(i) 
d1=Gnuplot.Data(x,y1,with_="line") 
d2=Gnuplot.Data(x,y2,with_="line") 
g.plot(d1,d2) 

大家好,我第一次在这里发帖,但感谢您的工作。

好的,我正在使用神经网络(多层感知器)并正在使用 UCI ML 存储库进行测试,我必须以图形方式显示错误与历元数的关系,但我不知道是什么我做错了,这是我得到的错误:

y1 = y1.append(float(trnresult)) 
AttributeError: 'NoneType' object has no attribute 'append' 

我已经尝试在 y1.append() 中使用 int 和 float,但我遇到了同样的错误。 这是我在控制台上得到的全部信息:

Number of training patterns:  233 
 
Input and output dimensions:  6 2 
 
First sample (input, target, class): 
 
[ 63.03  22.55  39.61  40.48  98.67  -0.25] [1 0] [ 0.] 
 
Total error: 0.110573541007 
 
epoch:    1   train error: 33.05%   test error: 29.87% 
 
Total error: 0.0953749484982 
 
epoch:    2   train error: 32.19%   test error: 35.06% 
 
Total error: 0.0977600868845 
 
epoch:    3   train error: 27.90%   test error: 29.87% 
 
Traceback (most recent call last): 
  File "C:\Python\Practice\dataset.py", line 79, in <module> 
    y1 = y1.append(float(trnresult)) 
AttributeError: 'NoneType' object has no attribute 'append' 

谢谢。

请您参考如下方法:

列表上的append() 函数不返回值。因此 y1 被替换为 None。您应该执行 y1.append() 和 y2.append() 而不分配回 y1 和 y2。

更具体地说

>>> a = [] 
>>> b = a.append(1) 
>>> b is None 
True 
>>> a 
[1] 
>>> a.append(2) 
>>> a 
[1, 2] 

如果需要,您可以在列表上使用 + 运算符(注意 3 周围的 []):

>>> a = a + [3] 
>>> a 
[1, 2, 3]