版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
广州大学学生实验报告开课学院及实验室:计算机科学与工程实验室2020年12月30日学院计算机科学与网络工程学院年级/专业/班姓名学号实验课程名称人工智能导论实验成绩实验项目名称人工智能导论综合设计实验指导老师范立生(***报告只能为文字和图片,老师评语将添加到此处,学生请勿作答***)实验内容选择具体实际应用和公用数据(爬取或下载),应用人工智能算法,挖掘有趣知识模式或实现特定模型。二、实验设备1.实验设备:计算机;2.平台:Windows操作系统,VisualC++6.0/PythonAnaconda三、实验步骤1.爬取网络上白云区机场路小区的房价数据2.使用梯度下降算法预测房价3.画出房价预测模型四、分析说明(包括核心代码及解释)使用梯度下降算法预测房价自变量为房子面积和楼层高低,预设高楼层值为3,中楼层值为2,低楼层值为1.因变量为房子价格将爬取的数据进行数据清洗后可得第一行数据为房子面积第二行数据为楼层高低,第三行为房子价格源代码:##多特征线性回归的房价预测importnumpyasnpfrommatplotlibimportpyplotaspltnp.set_printoptions(suppress=True)#禁止科学计数法plt.rcParams['font.sans-serif']=['SimHei']#允许画图中中文出现plt.rcParams['axes.unicode_minus']=False#解决画图中出现负数刻度显示异常的情况itersNum=1000#迭代次数learnRate=0.01#学习率#1、首先读取文件中的数据defloadFile(path):returnnp.loadtxt(path,dtype=np.float64,delimiter=',')#2、定义一个线性回归函数deflinerRegression():data=loadFile('baiyun_jichanglu_clean.csv')#读取文件数据x_data=np.array(data[:,0:-1])y_data=np.array(data[:,-1]).reshape(-1,1)x_data=meanNormalization(x_data)plotMeanNormalization(x_data)x_data=np.hstack((np.ones((len(y_data),1)),x_data))#插入一列为1的数组colNmus=x_data.shape[1]#计算出行数,以便确定所求参数个数theta=np.zeros((colNmus,1))#构建一个参数向量theta,costAll=gradientDescent(x_data,y_data,theta)plotCostCurve(costAll)plotLinearRegression(x_data,theta,y_data)returntheta#3、均值归一化函数defmeanNormalization(x_data):columnsMean=np.mean(x_data,0)#求出每一列的均值,0表示求列的均值,1表示求行的均值columnsStd=np.std(x_data,0)#求出每一类的标准差,0表示求列的标准差,1表示求行的标准差foriinrange(x_data.shape[1]):#归一化每一列的中的值减去均值,然后除去标准差shape[0]输出行数,shape[1]输出列数x_data[:,i]=(x_data[:,i]-columnsMean[i])/columnsStd[i]returnx_data#4、显示均值归一化的效果,也就是散点图defplotMeanNormalization(x_data):plt.scatter(x_data[:,0],x_data[:,1])plt.title('数据均值归一化效果')plt.savefig('均值归一化效果.png')#保存拟合图片plt.show()#5、核心算法,开始进行迭代,进行梯度下降defgradientDescent(x_data,y_data,theta):theta_num=len(theta)theta_temp=np.matrix(np.zeros((theta_num,itersNum)))#为了同步更新权重用,保存每一次迭代的结果costAll=np.zeros((itersNum,1))#保存代价foriinrange(itersNum):hypothesis=np.dot(x_data,theta)theta_temp[:,i]=theta-(learnRate/len(y_data))*(np.dot(np.transpose(x_data),hypothesis-y_data))theta=theta_temp[:,i]costAll[i]=costFunction(x_data,y_data,theta)returntheta,costAll#6、计算代价函数defcostFunction(x_data,y_data,theta):returnnp.sum(np.power(np.dot(x_data,theta)-y_data,2))/(2*len(y_data))#7、为了检验算法能否正确执行,现在将代价以图像的形式展现出来defplotCostCurve(costAll):x=np.arange(0,itersNum)plt.plot(x,costAll)plt.xlabel('迭代次数')plt.ylabel('代价值')plt.title('代价随迭代次数变化曲线')plt.savefig('CostCurve.png')plt.show()#8、将拟合的过程以3D立体图像形式展现出来defplotLinearRegression(x_data,theta,y_data):plt.figure(figsize=(8,10))x=x_data[:,1]y=x_data[:,2]theta=theta.flatten()z=theta[0,0]+(theta[0,1]*x)+(theta[0,2]*y)ax=plt.subplot(211,projection='3d')ax.plot_trisurf(x,y,z)ax.scatter(x_data[:,1],x_data[:,2],y_data,label='实际数据')ax.set_xlabel('房屋大小')ax.
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年广东省外语艺术职业学院单招职业技能测试题库附答案
- 2025年春季中国铁塔校园招聘备考题库附答案
- 2026北京市怀柔区招聘21名国有企业管培生笔试参考题库及答案解析
- 2026天津东丽经开区国有公司中层管理岗选聘4人笔试参考题库及答案解析
- 2026国家电投集团创新投资招聘1人笔试参考题库及答案解析
- 2026广西河池市广电网络科技发展有限公司大化分公司招聘4人笔试参考题库及答案解析
- 2025河北承德县人力资源和社会保障局招聘公益性岗位人员(公共基础知识)测试题附答案
- 2025年枣庄峄城区卫生健康系统公开招聘工作人员笔试考试题库附答案
- 2025安徽省科技成果转化促进中心(安徽省科学技术研究院)第二批高层次人才招聘3人参考题库附答案
- 2026年云南勐海产业园区管理委员会招聘公益性岗位人员(2人)笔试参考题库及答案解析
- 2025年北京市海淀区中小学教师招聘笔试参考试题及答案解析
- 全科接诊流程训练
- 2026年新《煤矿安全规程》培训考试题库(附答案)
- 继续教育部门述职报告
- 鱼塘测量施工方案
- 铝锭采购正规合同范本
- 湖北省宜昌市秭归县2026届物理八年级第一学期期末学业水平测试模拟试题含解析
- 重庆水利安全员c证考试题库和及答案解析
- 城市更新能源高效利用方案
- 2025秋期版国开电大本科《理工英语4》一平台综合测试形考任务在线形考试题及答案
- 2025 精神护理人员职业倦怠预防课件
评论
0/150
提交评论