小季是个研究生 2023-05-11 20:57 采纳率: 0%
浏览 871

'NoneType' object has no attribute 'pyplot_show'应该如何解决(语言-python)

#读取文件
from numpy import *
file = open("D:\pycharm\pythontd\data.txt")
lines = file.readlines()#逐行读取数据,加入到列表中
m = len(lines)#获得数据数量

#处理数据集
X_data = []
Y_data = []
for i in range(m):
    str = lines[i]
    str1 = str.split(',', 1)
    ap_x = float(str1[0])
    ap_y = float(str1[1])
    X_data.append(ap_x)
    Y_data.append(ap_y)

# x的坐标以及对应的矩阵
X_data = array(X_data).reshape(m, 1)
X_1 = ones((m, 1))
#reshape作用,改成一个矩阵
X = hstack((X_1, X_data)) #得到一个X轴矩阵
# Y坐标
Y = array(Y_data).reshape(m, 1)
# 学习率
alpha = 0.01


# 代价函数对应的梯度函数,
def gradient_function(theta, X, Y):
    diff = dot(X, theta) - Y
    return (1/m) * dot(X.transpose(), diff)


# 梯度下降迭代
def gradient_descent(X, Y, alpha):
    theta = array([1, 1]).reshape(2, 1)#自定义theta值,
    gradient = gradient_function(theta, X, Y)#梯度下降值
    i=1

    while (i<=1500):#迭代次数
        i=i+1
        theta = theta - alpha * gradient
        gradient = gradient_function(theta, X, Y)

    return theta

#打印theta值
Theta = gradient_descent(X, Y, alpha)
print('Theta0:', Theta[0],'Theta0:',Theta[1])



# 根据数据画出对应的图像
def plot(X, Y, theta):
    import matplotlib.pyplot as plt
    ax = plt.subplot(1,1,1)
    ax.scatter(X, Y, s=30, c="pink", marker="s")
    plt.xlabel("X")
    plt.ylabel("Y")
    x = arange(5.0, 23)  # x的范围
    y = theta[0] + theta[1]*x  #假设函数
    ax.plot(x, y)
    plt.show()

plot(X_data, Y, Theta)

最后运行报错,'NoneType' object has no attribute 'pyplot_show',想用梯度下降算法来实现线性回归,现在运行之后报错,图只有点没有线

img


img

img

  • 写回答

2条回答 默认 最新

  • Code锐 2024-09-20 14:52
    关注

    这个问题很有可能是matplolib版本过高,或者和其他包有冲突造成的。先卸载现有的mat包,再安装小一两个版本的试试。我也出现过这个问题,通过降级解决了。

    评论

报告相同问题?

问题事件

  • 修改了问题 5月12日
  • 修改了问题 5月12日
  • 创建了问题 5月11日

悬赏问题

  • ¥30 vs2010开发 WFP(windows filtering platform)
  • ¥15 服务端控制goose报文控制块的发布问题
  • ¥15 学习指导与未来导向啊
  • ¥15 求多普勒频移瞬时表达式
  • ¥15 如果要做一个老年人平板有哪些需求
  • ¥15 k8s生产配置推荐配置及部署方案
  • ¥15 matlab提取运动物体的坐标
  • ¥15 人大金仓下载,有人知道怎么解决吗
  • ¥30 python安卓开发
  • ¥15 使用R语言GD包一直不出结果