Renyi-Fan

matplotlib库曲线平滑

一、总结

一句话总结:

上一个节点*0.8+当前节点*0.2:smoothed_points.append(previous * factor + point * (1 - factor))
def smooth_curve(points, factor=0.8):   
    smoothed_points = []   
    for point in points:     
        if smoothed_points:       
            previous = smoothed_points[-1]   
            # 上一个节点*0.8+当前节点*0.2
            smoothed_points.append(previous * factor + point * (1 - factor))     
        else:  
            # 添加point
            smoothed_points.append(point)   
    return smoothed_points

 

 

 

二、matplotlib库曲线平滑

博客对应课程的视频位置:

 

平滑前:

In [14]:
acc = history.history[\'acc\'] 
val_acc = history.history[\'val_acc\'] 
loss = history.history[\'loss\'] 
val_loss = history.history[\'val_loss\'] 

epochs = range(1, len(acc) + 1) 

plt.plot(epochs, acc, \'b--\', label=\'Training acc\') 
plt.plot(epochs, val_acc, \'r-\', label=\'Validation acc\') 
plt.title(\'Training and validation accuracy\') 
plt.legend() 

plt.figure() 

plt.plot(epochs, loss, \'b--\', label=\'Training loss\') 
plt.plot(epochs, val_loss, \'r-\', label=\'Validation loss\') 
plt.title(\'Training and validation loss\') 
plt.legend() 

plt.show()

 

 

平滑后:

 

In [ ]:
 
def smooth_curve(points, factor=0.8):   
    smoothed_points = []   
    for point in points:     
        if smoothed_points:       
            previous = smoothed_points[-1]   
            # 上一个节点*0.8+当前节点*0.2
            smoothed_points.append(previous * factor + point * (1 - factor))     
        else:  
            # 添加point
            smoothed_points.append(point)   
    return smoothed_points

plt.plot(epochs,smooth_curve(acc), \'b--\', label=\'Smoothed training acc\')
plt.plot(epochs,smooth_curve(val_acc), \'r-\', label=\'Smoothed validation acc\') 
plt.title(\'Training and validation accuracy\') 
plt.legend() 
 
plt.figure() 
 
plt.plot(epochs,smooth_curve(loss), \'b--\', label=\'Smoothed training loss\') 
plt.plot(epochs,smooth_curve(val_loss), \'r-\', label=\'Smoothed validation loss\') 
plt.title(\'Training and validation loss\') 
plt.legend() 

plt.show()

 

 

 

分类:

技术点:

相关文章: