试图绘制轮廓图无法看到任何轮廓曲线

如何解决试图绘制轮廓图无法看到任何轮廓曲线

我正在研究一个简单的线性回归预测。它是单变量线性回归,即y = mx + c。我的问题数据集只有一个自变量和因变量,分别是学生分数,分别研究了几个小时。我已经估计了系数(m,c)。现在,为了了解我的成本函数,我正在尝试使用CONTOUR PLOT将两个因子(m,c)绘制为关于成本函数的 Theta1 Theta2 。问题是这是不合适的。我在这里想念什么?这是我的数据集的link,这是我的轮廓图的代码段。

import numpy as np
import matplotlib.pyplot as plt

n = len(fobj.Hours)
x_val=np.array(fobj.Hours)
y_val=np.array(fobj.Scores)

x_val=x_val.reshape(-1,1)
y_val=y_val.reshape(-1,1)

alpha = 0.0001
a_0 = np.zeros((n,1))
a_1 = np.zeros((n,1))

N = 1000
theta1list = [0]
theta2list = [0]

mean_sq_er=0
epochs = 10000
while(epochs >0):
   y_cap = a_0 + a_1 * x_val
   error = y_cap - y_val
   mean_sq_er = mean_sq_er+(error**2)
   mean_sq_er = mean_sq_er/n
   a_0 = a_0 - alpha * 2 * np.sum(error)/n
   a_1 = a_1 - alpha * 2 * np.sum(error * x_val)/n
   theta1list.append(a_0[0][0])
   theta2list.append(a_1[0][0])
   epochs -= 1

   theta1_true = a_0[0][0]
   theta2_true = a_1[0][0]

   x=np.array(fobj.Hours)
   y=theta1_true+theta2_true*x

def cost_func(theta1,theta2):
   theta1 = np.atleast_3d(np.asarray(theta1))
   theta2 = np.atleast_3d(np.asarray(theta2))
   return np.average((y-hypothesis(x,theta1,theta2))**2,axis=2)


def hypothesis(x,theta2):
   return (theta1+theta2*x)

J = [cost_func(theta1list[0],theta2list[0])[0]]
theta_array1=np.array(theta1list)
theta_array2=np.array(theta2list)

indx=0
while(indx<1000):
  J.append(cost_func(theta_array1[indx],theta_array2[indx]))
  indx+=1

print(r2_score(y_val,y_cap))


# The plot: LHS is the data,RHS will be the cost function.
fig,ax = plt.subplots(nrows=1,ncols=1,figsize=(10,6.15))


# First construct a grid of (theta0,theta1) parameter pairs and their
# corresponding cost function values.
theta0_grid=np.linspace(-3,7,100)
theta1_grid=np.linspace(-2,22,100)
J_grid = cost_func(theta0_grid[np.newaxis,:,np.newaxis],theta1_grid[:,np.newaxis,np.newaxis])

# A labeled contour plot for the RHS cost function
X,Y = np.meshgrid(theta0_grid,theta1_grid)
contours = ax.contour(X,Y,J_grid,30)
ax.clabel(contours)

# The target parameter values indicated on the cost function contour plot
ax.scatter([theta1_true]*2,[theta2_true]*2,s=[10,10],color=['k','w'])


# Annotate the cost function plot with colored points indicating the parameters chosen and red arrows 
# indicating the steps down the gradient.
N=1000
for j in range(1,N):
   ax.annotate('',xy=(theta1list[j],theta2list[j]),xytext=(theta1list[j-1],theta2list[j-1]),arrowprops={'arrowstyle': '->','color': 'r','lw': 1},va='center',ha='center')
ax.scatter(theta1list,theta2list,s=40,lw=0)

# Labels,titles and a legend.
ax.set_xlabel(r'$\theta_0$')
ax.set_ylabel(r'$\theta_1$')
ax.set_title('Cost function')
plt.show()`

fobj 是我的数据框,这就是我的Contour plot of linear regression with gradient descent的显示方式。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


依赖报错 idea导入项目后依赖报错,解决方案:https://blog.csdn.net/weixin_42420249/article/details/81191861 依赖版本报错:更换其他版本 无法下载依赖可参考:https://blog.csdn.net/weixin_42628809/a
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下 2021-12-03 13:33:33.927 ERROR 7228 [ main] o.s.b.d.LoggingFailureAnalysisReporter : *************************** APPL
错误1:gradle项目控制台输出为乱码 # 解决方案:https://blog.csdn.net/weixin_43501566/article/details/112482302 # 在gradle-wrapper.properties 添加以下内容 org.gradle.jvmargs=-Df
错误还原:在查询的过程中,传入的workType为0时,该条件不起作用 &lt;select id=&quot;xxx&quot;&gt; SELECT di.id, di.name, di.work_type, di.updated... &lt;where&gt; &lt;if test=&qu
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct redisServer’没有名为‘server_cpulist’的成员 redisSetCpuAffinity(server.server_cpulist); ^ server.c: 在函数‘hasActiveC
解决方案1 1、改项目中.idea/workspace.xml配置文件,增加dynamic.classpath参数 2、搜索PropertiesComponent,添加如下 &lt;property name=&quot;dynamic.classpath&quot; value=&quot;tru
删除根组件app.vue中的默认代码后报错:Module Error (from ./node_modules/eslint-loader/index.js): 解决方案:关闭ESlint代码检测,在项目根目录创建vue.config.js,在文件中添加 module.exports = { lin
查看spark默认的python版本 [root@master day27]# pyspark /home/software/spark-2.3.4-bin-hadoop2.7/conf/spark-env.sh: line 2: /usr/local/hadoop/bin/hadoop: No s
使用本地python环境可以成功执行 import pandas as pd import matplotlib.pyplot as plt # 设置字体 plt.rcParams[&#39;font.sans-serif&#39;] = [&#39;SimHei&#39;] # 能正确显示负号 p
错误1:Request method ‘DELETE‘ not supported 错误还原:controller层有一个接口,访问该接口时报错:Request method ‘DELETE‘ not supported 错误原因:没有接收到前端传入的参数,修改为如下 参考 错误2:cannot r
错误1:启动docker镜像时报错:Error response from daemon: driver failed programming external connectivity on endpoint quirky_allen 解决方法:重启docker -&gt; systemctl r
错误1:private field ‘xxx‘ is never assigned 按Altʾnter快捷键,选择第2项 参考:https://blog.csdn.net/shi_hong_fei_hei/article/details/88814070 错误2:启动时报错,不能找到主启动类 #
报错如下,通过源不能下载,最后警告pip需升级版本 Requirement already satisfied: pip in c:\users\ychen\appdata\local\programs\python\python310\lib\site-packages (22.0.4) Coll
错误1:maven打包报错 错误还原:使用maven打包项目时报错如下 [ERROR] Failed to execute goal org.apache.maven.plugins:maven-resources-plugin:3.2.0:resources (default-resources)
错误1:服务调用时报错 服务消费者模块assess通过openFeign调用服务提供者模块hires 如下为服务提供者模块hires的控制层接口 @RestController @RequestMapping(&quot;/hires&quot;) public class FeignControl
错误1:运行项目后报如下错误 解决方案 报错2:Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.8.1:compile (default-compile) on project sb 解决方案:在pom.
参考 错误原因 过滤器或拦截器在生效时,redisTemplate还没有注入 解决方案:在注入容器时就生效 @Component //项目运行时就注入Spring容器 public class RedisBean { @Resource private RedisTemplate&lt;String
使用vite构建项目报错 C:\Users\ychen\work&gt;npm init @vitejs/app @vitejs/create-app is deprecated, use npm init vite instead C:\Users\ychen\AppData\Local\npm-