线性回归模型

【R语言学习笔记】Day2 线性回归与CART回归树的应用及对比

烂漫一生 提交于 2019-12-04 23:30:21
1. 目的:根据房子信息,判断博士顿地区的房价。 2. 数据来源:论文《Hedonic housing prices and the demand for clean air》,数据中共含506个观测值,及16个变量。其中,每个观测值代表一个人口普查区。 boston <- read.csv("boston.csv") # 读取文件 str(boston) # 查看数据结构   3. 变量介绍: (1)town:每一个人口普查区所在的城镇 (2)LON: 人口普查区中心的经度 (3)LAT: 人口普查区中心的纬度 (4)MEDV: 每一个人口普查区所对应的房子价值的中位数 (单位为$1000) (5)CRIM: 人均犯罪率 (6)ZN: 土地中有多少是地区是大量住宅物业 (7)INDUS: 区域中用作工业用途的土地占比 (8)CHAS: 1:该人口普查区紧邻查尔斯河;0: 该人口普查区没有紧邻查尔斯河 (9)NOX: 空气中氮氧化物的集中度 (衡量空气污染的指标) (10)RM: 每个房子的平均房间数目 (11)AGE: 建于1940年以前的房子的比例 (12)DIS: 该人口普查区距离波士顿市中心的距离 (13)RAD: 距离重要高速路的远近程度 (1代表最近;24代表最远) (14)TAX: 房子每$10,000价值所对应的税收金额 (15)PTRATIO:

sklearn 线性回归实践

匿名 (未验证) 提交于 2019-12-03 00:41:02
import numpy as np import pandas as pd from sklearn import linear_model,datasets,metrics import matplotlib.pyplot as plt data=pd.read_csv('C://Users//yangbaojie.ASPIRE//Desktop//python_learn//liner_regression//Folds5x2_pp.csv') ## print(data) ### 9568*5 X = data[['AT', 'V', 'AP', 'RH']] ### print(X.shape) ### 9568*4 y = data[['PE']] ### print(y.shape) ### 9568*1 from sklearn.model_selection import train_test_split ## 随机划分数据集,测试集占25%,设定随机种子,每次选取的测试值都是一样的,实验可以重现 X_train,X_test,y_train,y_test=train_test_split(X,y,test_size=0.25,random_state=1) # print(X_train) ### 7176*4 # print(X_test) ### 2392

[学习记录]sklearn线性回归

匿名 (未验证) 提交于 2019-12-03 00:40:02
本文旨在记录colin老师workshop的exercise1讲解,包含入门级的sklearn操作 首先导入库 import numpy as np import pandas as pd import scipy.stas as stats import sklearn 其次导入数据,这里使用的是sklearn中内置的数据集 from sklearn.datasets import load_boston boston =load_boston() 使用pandas整理数据 pandas可以用来求相关性,取值为-1~1之间,-1为负相关,1为正相关,靠近0则是不相关。其中如果相关性低于0.5则应该考虑换一个参考模型。 对照测试集进行检验,检验的时候有三个重要指标,三个指标均越小越好 MAE:mean absolute error,预测时发生的平均偏差,取绝对值 MSE:mean squared error,对预测时产生的偏差进行平方处理,导致错误重度惩罚,正确轻度奖励 RMSE:root mean squared error,相当于对MSE结果开平方根 之前介绍的模型是一个自变量一个因变量,也支持多个自变量,就结果来看该模型不如上一个准确 原文:https://www.cnblogs.com/trickofjoker/p/9305455.html

kera 学习-线性回归

匿名 (未验证) 提交于 2019-12-03 00:40:02
园子里头看到了一些最基础的 keras 入门指导, 用一层网络,可以训练一个简单的线性回归模型。 自己学习了一下,按照教程走下来,结果不尽如人意,下面是具体的过程。 第一步: 生成随机数据,绘出散点图 import numpy as np from keras.models import Sequential from keras.layers import Dense import matplotlib.pyplot as plt # 生产随机数据 np.random.seed(123) # 指定种子,使得每次生成的随机数保持一致 x = np.linspace(-1,1,200) # 生成一个长度为 200 的 list,数值大小在 [-1,1] 之间 np.random.shuffle(x) # 随机排列传入 list y = 0.5 * x + 2 + np.random.normal(0, 0.05, (200,)) # 添加正态分布的偏差值 #测试数据 与 训练数据 x_train, y_train = x[:160], y[:160] x_test, y_test = x[160:], y[160:0] # 绘出散点图: plt.scatter(x,y) plt.show() 散点图如下: # 创建模型 model = Sequential() # 添加全连接层

Tensorflow学习笔记4:线性回归

匿名 (未验证) 提交于 2019-12-02 23:42:01
使用TensorFlow的线性回归 本教程是关于通过TensorFlow训练线性模型以适应数据。或者,您可以查看此 博客文章 。 介绍 在机器学习和统计中,线性回归是对诸如Y的变量和至少一个自变量之间的关系的建模为X.在线性回归中,线性关系将由预测函数建模,其参数将被估计通过数据并称为线性模型。线性回归算法的主要优点是其简单性,使用它可以非常直接地解释新模型并将数据映射到新空间。在本文中,我们将介绍如何使用TensorFLow训练线性模型以及如何展示生成的模型。 整个过程描述 为了训练模型,TensorFlow循环遍历数据,它应该找到适合数据的最佳线(因为我们有一个线性模型)。通过设计适当的优化问题来估计X,Y的两个变量之间的线性关系,其中需求是适当的损失函数。该数据集可从 斯坦福大学CS 20SI课程 :TensorFlow for Deep Learning Research获得。 代码实现 通过加载必要的库和数据集来启动该过程: #斯坦福当然CS 20SI提供的数据文件:TensorFlow深学习研究。 # https://github.com/chiphuyen/tf-stanford-tutorials DATA_FILE = "data/fire_theft.xls" #从.xls文件中读取数据。 book = xlrd.open_workbook(DATA_FILE,

SVM-SVR

谁说我不能喝 提交于 2019-12-02 02:38:54
高频率的接触到了SVM模型,而且还有使用SVM模型做回归的情况,即SVR。另外考虑到自己从第一次知道这个模型到现在也差不多两年时间了,从最开始的腾云驾雾到现在有了一点直观的认识,花费了不少时间。因此在这里做个总结,比较一下使用同一个模型做分类和回归之间的差别,也纪念一下与SVM相遇的两周年!这篇总结,不会涉及太多公式,只是希望通过可视化的方法对SVM有一个比较直观的认识。 由于代码比较多,没有放到正文中,所有代码都可以在github中:https://github.com/OnlyBelter/jupyter-note/blob/master/machine_learning/SVM/04_how%20SVM%20becomes%20to%20SVR.ipynb 0. 支持向量机(support vector machine, SVM) 原始SVM算法是由弗拉基米尔·万普尼克和亚历克塞·泽范兰杰斯于1963年发明的。1992年,Bernhard E. Boser、Isabelle M. Guyon和弗拉基米尔·万普尼克提出了一种通过将核技巧应用于最大间隔超平面来创建非线性分类器的方法。当前标准的前身(软间隔)由Corinna Cortes和Vapnik于1993年提出,并于1995年发表。 上个世纪90年代,由于人工神经网络(RNN)的衰落,SVM在很长一段时间里都是当时的明星算法

通过机器学习的线性回归算法预测股票走势(用Python实现)

岁酱吖の 提交于 2019-12-01 21:59:43
在本人的新书里,将通过股票案例讲述Python知识点,让大家在学习Python的同时还能掌握相关的股票知识,所谓一举两得。这里给出以线性回归算法预测股票的案例,以此讲述通过Python的sklearn库实现线性回归预测的技巧。 本文先讲以波士顿房价数据为例,讲述线性回归预测模型的搭建方式,随后将再这个基础上,讲述以线性预测模型预测股票的实现代码。本博文是从本人的新书里摘取的,新书预计今年年底前出版,敬请大家关注。 正文开始(长文预警) ------------------------------------------------------------------------------------------------------------------------------------------------------ 1 波士顿房价数据分析 安装好Python的Sklearn库后,在安装包下的路径中就能看到描述波士顿房价的csv文件,具体路径是“python安装路径\Lib\site-packages\sklearn\datasets\data”,在这个目录中还包含了Sklearn库会用到的其他数据文件,本节用到的是包含在boston_house_prices.csv文件中的波士顿房价信息。打开这个文件,可以看到如图所示的数据。

1.线性回归

≡放荡痞女 提交于 2019-11-30 06:09:10
#导入工具包 import keras import numpy as np import matplotlib.pyplot as plt # Sequential按顺序构成的模型 from keras.models import Sequential # Dense全连接层 from keras.layers import Dense # 使用numpy生成100个随机点 x_data = np.random.rand(100) noise = np.random.normal(0,0.01,x_data.shape) y_data = x_data*0.1 + 0.2 + noise # 显示随机点 plt.scatter(x_data,y_data) plt.show() # 构建一个顺序模型 model = Sequential() # 在模型中添加一个全连接层 model.add(Dense(units=1,input_dim=1)) # sgd:Stochastic gradient descent,随机梯度下降法 # mse:Mean Squared Error,均方误差 model.compile(optimizer='sgd',loss='mse') # 训练3001个批次 for step in range(3001): # 每次训练一个批次 cost =

一次线性回归分析详解及推导

。_饼干妹妹 提交于 2019-11-29 08:19:19
线性回归 linear regression 我们需要根据一个人的工作 年限 来预测他的 薪酬 (我们假设一个人的薪酬只要工作年限有关系)。 首先引入必要的类库,并且获得trainning data。 import tensorflow as tf import pandas as pd import numpy as np unrate = pd.read_csv('SD.csv') print(unrate) Year Salary 0 1.0 39451 1 1.2 46313 2 1.4 37839 3 1.9 43633 4 2.1 39999 .. ... ... 85 12.0 106247 86 12.5 117634 87 12.6 113300 88 13.3 123056 89 13.5 122537 [90 rows x 2 columns] 接着,我们用matplotlib绘制出工作年限和薪酬之间的关系的点状图,方便我们更加直观的感受他们之间的关系。 from matplotlib import pyplot as plt unrate = unrate.sort_values('Year') plt.scatter(unrate['Year'],unrate['Salary']) plt.show() 根据上图的关系,我们可以看到

简单线性回归(梯度下降法) python实现

天大地大妈咪最大 提交于 2019-11-28 21:50:59
grad_desc /*--> */ /*--> */ /*--> */ /*--> */ /*--> */ /*--> */ 简单线性回归(梯度下降法) ¶ 0.引入依赖 ¶ In [1]: import numpy as np import matplotlib.pyplot as plt 1.导入数据 ¶ In [34]: points = np.genfromtxt("data.csv",delimiter=",") #points #提取points中的两列数据,分别作为x,y x=points[:,0]; y=points[:,1]; #用plt画出散点图 plt.scatter(x,y) plt.show() 2.定义损失函数 ¶ In [35]: # 损失函数是系数的函数,另外还要传入数据的x,y def compute_cost(w,b,points): total_cost=0 M =len(points) for i in range(M): x=points[i,0] y=points[i,1] total_cost += (y-w*x-b)**2 return total_cost/M #一除都是浮点 两个除号是地板除,整型。 如 3 // 4 3.定义模型的超参数 ¶ In [52]: alpha = 0.0000001 initial_w = 0