范文健康探索娱乐情感热点
投稿投诉
热点动态
科技财经
情感日志
励志美文
娱乐时尚
游戏搞笑
探索旅游
历史星座
健康养生
美丽育儿
范文作文
教案论文
国学影视

机器学习在房屋价格预测上的应用

  前言
  Python 在机器学习方面有天然的优势,那么我们今天也来涉足一下机器学习方面的技术,以下是在学习过程中的一些笔记,里面有大量的注释说明,用于理解为什么这样操作。
  代码实现如下:Numpy & Pandas & Matplotlib & Ipython#NumPy(Numerical Python) 是 Python 语言的一个扩展程序库,支持大量的维度数组与矩阵运算,此外也针对数组运算提供大量的数学函数库。 import numpy as np  #Pandas 可以对各种数据进行运算操作,比如归并、再成形、选择,还有数据清洗和数据加工特征 import pandas as pd  #Matplotlib 是 Python 的绘图库。 它可与 NumPy 一起使用,提供了一种有效的 MatLab 开源替代方案 import matplotlib.pyplot as plt  #Ipython.display的库是用来展示图片的 from IPython.display import Image from sklearn.model_selection import train_test_split  import  warnings warnings.filterwarnings("ignore")  data = pd.read_csv("train.csv") print(type(data)) print(data.info()) print(data.shape) print(data.head()) print(data[["MSSubClass","LotArea"]]) 数据集合&缺失值#选择数据集合中的几个重要特征 data_select = data[["BedroomAbvGr","LotArea","Neighborhood","SalePrice"]]  #对数据集中的字段进行重命名 data_select = data_select.rename(columns={"BedroomAbvGr":"room","LotArea":"area"}) print(data_select) print(data_select.shape) print("*"*100)  #判断缺失值一般采用 isnull(),然而生成的却是所有数据的true/false矩阵 print(data_select.isnull())  #df.isnull().any()则会判断哪些"列"存在缺失值 print(data_select.isnull().any())  #只显示存在缺失值的行列,清楚的确定缺失值的位置 print(data_select.isnull().values==True)  #对缺失的数据进行过滤 data_select=data_select.dropna(axis=0) print(data_select.shape) print(data_select.head())  #print(np.take(data_select.columns,[0,1,3])) #print(type(np.take(data_select.columns,[0,1,3]))) 归一化处理#数太大,归一化,让数据的分布处于同一区间,咱们选择一种最简单的数据调整方法,每一个数除以其最大值 for col in np.take(data_select.columns,[0,1,-1]):     # print(col)     # print(data_select[col])     data_select[col] /= data_select[col].max()  print(data_select.head())  #分配测试数据和训练数据 train,test = train_test_split(data_select.copy(),test_size=0.9) print(train.shape) print(test.shape) print(test.describe())   #numpy 里面axis=0 and axis=1 的使用示例说明: print("="*50) data=np.array([[1,2,3,4],[5,6,7,8],[9,10,11,12]]) print(data) print(data.shape) #shape=[3,4] 即为3行4列 print(np.sum(data)) #在numpy中若没有指定axis,默认对所有的数据相加  print(np.sum(data,axis=0))#若指定了axis=0,则沿着第一个维度的方向进行计算,即为3 按列中的3个数据进行计算,得到4组列数据计算结果  print(np.sum(data,axis=1))#若指定了axis=1,则沿着第二个维度的方向进行计算,即为4 按行中的4个数据进行计算,得到3组行数据计算结果  print("="*50)  #pandas 里面axis=0 and axis=1 的使用示例说明: #如果我们调用df.mean(axis=1),我们将得到按行计算的均值 df=pd.DataFrame(np.arange(12).reshape(3,4)) print(df)  print(df.mean()) #在pandas中,如果没有指定axis,则默认按axis=0来计算  print(df.mean(axis=0)) #若指定了axis=0,则按照第一个维度的变化方向来计算,即为3 按列中的3个数据进行计算,得到4组列数据计算结果  print(df.mean(axis=1)) #若指定了axis=1,则按照第二个维度的变化方向来计算,即为4 按行中的4个数据进行计算,得到3组行数据计算结果 线性回归模型#线性回归模型,假设 h(x) = wx + b 是线性的. def linear(features,pars):     print("the pars is:",pars)     print(pars[:-1])     price=np.sum(features*pars[:-1],axis=1)+pars[-1]     return price  print("*"*100) train["predict"]=linear(train[["room","area"]].values,np.array([0.1,0.1,0.0]))  #能够看到,在该参数下,模型的预测价格和真实价格有较大的差距.那么寻找合适的参数值是咱们须要作的事情 print(train.head())   #预测函数为 h(x) = wx + b #偏差的平方和函数: def mean_squared_error(pred_y,real_y):     return sum(np.array(pred_y-real_y)**2)  #损失函数: def lost_function(df,features,pars):     df["predict"]=linear(df[features].values,pars)     cost=mean_squared_error(df.predict,df.SalePrice)/len(df)     return cost  cost=lost_function(train,["room","area"],np.array([0.1,0.1,0.1])) print(cost)  #linspace函数原型:linspace(start, stop, num=50, endpoint=True, retstep=False, dtype=None) #作用为:在指定的大间隔内,返回固定间隔的数据。他将返回"num"个等间距的样本,在区间[start, stop]中。其中,区间的结束端点可以被排除在外,默认是包含的。 num=100 Xs = np.linspace(0,1,num) Ys = np.linspace(0,1,num) print(Xs) #如果num=5 ->[0.   0.25 0.5  0.75 1.  ] print(Ys) #如果num=5 ->[0.   0.25 0.5  0.75 1.  ]  #zeros函数原型:zeros(shape, dtype=float, order="C") #作用:通常是把数组转换成想要的矩阵; #示例:np.zeros((2,3),dtype=np.int) Zs = np.zeros([num,num]) #100*100的矩阵,值全为0. print(Zs)  #meshgrid 从坐标向量中返回坐标矩阵 Xs,Ys=np.meshgrid(Xs,Ys) print(Xs.shape,Ys.shape) print(Xs) #如果num=5 则处理后的矩阵为: """ [[0.   0.25 0.5  0.75 1.  ]  [0.   0.25 0.5  0.75 1.  ]  [0.   0.25 0.5  0.75 1.  ]  [0.   0.25 0.5  0.75 1.  ]  [0.   0.25 0.5  0.75 1.  ]] """ print(Ys) #如果num=5 则处理后的矩阵为: """ [[0.   0.   0.   0.   0.  ]  [0.25 0.25 0.25 0.25 0.25]  [0.5  0.5  0.5  0.5  0.5 ]  [0.75 0.75 0.75 0.75 0.75]  [1.   1.   1.   1.   1.  ]] """ W1=[] W2=[] Costs=[]  for i in range(100):     for j in range(100):         W1.append(0.01*i)         W2.append(0.01*j)         Costs.append(lost_function(train,["room","area"],np.array([0.01*i,0.01*j,0.]))) #numpy.argmin(a, axis=None, out=None) #a:一个矩阵 #axis:整数,可选(没选择的话就是整个数组的展开)(0:行,1列) #返回小值的下标 index=np.array(lost_function).argmin() print(W1[index],W2[index],Costs[index])  from mpl_toolkits.mplot3d import Axes3D fig=plt.figure() ax = fig.add_subplot(111,projection="3d") ax.view_init(5,-15) ax.scatter(W1,W2,Costs,s=10) ax.scatter(0.58,0.28, zs=lost_function(train,["room","area"],np.array([0.58,0.28,0.0])),s=100,color="red") plt.xlabel("rooms") plt.ylabel("llotArea") plt.show()

起步即巅峰?vivo首款平板暗藏玄机最近一段时间,vivo的大动作着实不少,前有NEX系列并入X系列,NEX系列的探索创新意志完全由X系列继承,后有vivoX80系列vivoXNotevivoXFold三大新品已经准平安集团以423件专利申请数排名2022全球隐私计算专利排行榜第二近日,全球知识产权综合信息服务提供商IPRdaily与incoPat创新指数研究中心联合发布全球隐私计算技术发明专利排行榜(TOP100)。截止2022年3月8日,入榜前十名企业主Charationalinvestment在下一个城市的中国基金排行榜上大举登场如果有一位像英国管家一样聪明的投资顾问,既绅士又值得信赖,能够洞察你的需求,帮助你理性投资,让你以低成本享受私人银行家的专业投资和金融服务,你想尽快体验吗?随着人工智能时代的到来,先别着急给视频号下定义图片来源视觉中国文新眸,作者叶静,编辑桑明强今年的微信公开课上,视频号站到了C位。这并不是腾讯第一次重金押注短视频。4年前,短视频热潮席卷互联网,抖音快手各自占山为王,腾讯重启了微手机该不该取消看视频等功能?问的这个问题有点可笑,你说该不该取消看视频的功能?你愿意用不能看到视频图片的手机吗?你愿意用,只能打电话,接电话,这样的手机吗?你愿意回到过去吗?用脚趾头想,你也不愿意,车轮都是向怎么把有声视频转换成无声视频?把有声视频转换为无声视频,可以通过关闭视频原声的方法,还可以把视频音轨单独分离出来并修改音量的方法。在电脑上可以用pr和ae软件,手机端剪映,快影等等也可以。视频剪辑软件pr,新建天文学家最新研究认为银河系约130亿年前形成中新社北京3月24日电(记者孙自法)银河系有多大年纪了?它是如何形成和演化的?国际著名学术期刊自然北京时间3月24日以封面文章形式发表天文学家最新研究成果论文指出,银河系可能经过了2022年学生必备五大件选购攻略篇二哪些笔记本电脑值得选?多图长文,涉及学生必备的全部5大类数码设备工具!2022年如何选购,看这篇就够了!由于篇幅过长,我将分为5篇连载,本篇是第2篇,大家可以关注我持续跟进接下来的攻略更新!阅读指南前言6款常见跑步机对比测评哪一款更适合你?1木卫六大屏智能跑步机2998国产品牌,木卫六这款跑步机主打是智能大屏和有奖有趣的互动,更注重跑步中的趣味性。如果感觉跑步很枯燥坚持不下去,可以试试这款像游戏机一样的跑步机。这款整看过来!关于征集建设广西科技成果转移转化综合服务平台基础信息及需求建议的通知各设区市科技局,各有关单位为深入实施创新驱动发展战略,加快建设创新型广西,建立健全科技成果转移转化服务体系,加强技术市场建设,推进科技成果转化服务经济社会高质量发展,根据广西科技创抖音直播发布专项治理公告,严肃整治不良直播PK内容近日,抖音直播发布关于抖音直播严肃整治不良直播PK内容的公告(以下简称公告)。公告称,为进一步规范直播社区内容生态,平台将严格把控社区内容,严肃清理扰乱社区秩序破坏平台生态冲击正确
魔角石墨烯被发现具有一种非常罕见的超导电性根据一项新的研究,魔角扭曲三层石墨烯不仅有一个令人印象深刻的奇异名字,它可能是一种特别罕见的超导体,从医疗设备到量子计算机,这种超导体可能在任何地方都有用武之地。科学家们发现,将单苹果13多亏了他们两个苹果13上市在即。iPhone手机每年都会推出一款主打的新配色,今年的iPhone13大概率也会增加一个新配色,有人透露今年iPhone13新颜色为黄铜色。这不就在近日,海外爆料者日出东方,唯红米note9Pro不败千元机市场上相比同等价位的千元机,红米note9pro无疑是这个价位里功能性最全的产品。性能配置上,红米note9pro搭载了高通骁龙750G处理器,Kryo570架构,8nm工艺起亚纯电动EV7假想图曝光,打造不一样的纯电硬派越野都知道未来是新能源汽车的天下,大众本田丰田现代等全球知名车企都开始往电气化转型,而豪华品牌也是如此,可见传统燃油车时代已经开始满满终结。而作为韩系主力军之一的起亚也开始全面向电气化盘点几款20万左右的旗舰SUV,拒绝汉兰达,选它就对了不知道从什么时候开始,SUV成了国内汽车市场的新宠,今天咱给大家盘点几款20万左右的旗舰SUV,拒绝汉兰达,选它就对了!话不多说,一起来看看吧!吉利星越L售价13。7218。52万印度7月份机动车零售总额高达156万辆,同比增长34。1今天给大家说点好玩的,都知道咱们国内是全球最大汽车贸易市场,而印度一直要跟我们决出个胜负,这不八月份刚刚开始,印度就公布了7月份机动车零售总额,7月单月共计卖出156万台,这个数据别克GL8压力倍增,下半年合资MPV抱团来袭不知道从什么时候开始,MPV跟SUV成为了市场上的香饽饽,今天咱就来说说MPV,国内最受欢迎的三款MPV我想大家都知道,别克GL8本田奥德赛五菱宏光,它们分别代表了商务家用经济,可全新奥迪Q5etron将于年内发布,家用纯电SUV新选择都知道未来是新能源汽车的天下,大众本田丰田现代等全球知名车企都开始往电气化转型,豪华品牌也是如此,奔驰宝马奥迪也加入新能源汽车的大家庭。今天咱就给大家说说奥迪,近日我们从奥迪官方了特斯拉Model2预售价只有16万元,这一次降维打击范围太大都知道未来是新能源汽车的天下,大众本田丰田现代等全球知名车企都开始往电气化转型,而豪华品牌也是如此,可见传统燃油车时代已经开始慢慢终结。而特斯拉作为新能源汽车龙头老大来说,更是混得7月新能源汽车销量出炉,自主品牌成为最大赢家都知道未来是新能源汽车的天下,今天就给大家公布7月份新能源汽车的销量前五名,曾几何时特斯拉也是其中的霸主,不过随着自主品牌的持续发力,特斯拉终于跌落神坛,话不多说,让我们一句话点评特斯拉8月单月销量突破4万,成为国内新能源汽车最大赢家都知道未来是新能源汽车的天下,大众本田丰田现代等车企都开始往电气化转型,而特斯拉作为新能源汽车龙头老大来说更是混得风生水起,尤其是今年,在美国已经连续涨价12次,虽然涨价频发,但是