线性回归

scikit-learn学习线性回归

匿名 (未验证) 提交于 2019-12-03 00:13:02
利用UCI大学公开的机器学习数据来跑线性回归,数据集是一个循环发电场的数据,共有9568个样本数据,每个数据有5列,分别是:AT(温度), V(压力), AP(湿度), RH(压强), PE(输出电力)。我们的目标是得到一个线性关系,其中AT/V/AP/RH这4个是样本特征,PE是样本输出, 也就是说机器学习的结果是得到一个线性回归模型: \[PE=\theta _{0}+\theta _{1}*AT+\theta _{2}*V+\theta _{3}*AP+\theta _{4}*RH\] import matplotlib.pyplot as plt import numpy as np import pandas as pd from sklearn import datasets, linear_model data = pd.read_csv('D:/Python/Mechine_learning/data/CCPP/ccpp.csv') print(data.head()) #输出 AT V AP RH PE 0 23.25 71.29 1008.05 71.36 442.21 1 13.87 42.99 1007.45 81.52 471.12 2 16.91 43.96 1013.32 79.87 465.86 3 10.09 37.14 1012.99 72.59

基于线性回归的波士顿房价预测

匿名 (未验证) 提交于 2019-12-03 00:09:02
import numpy import pandas from matplotlib import pyplot from sklearn . linear_model import Ridge # 岭回归---线性回归+ L2正则化【L2正则:将不重要的权重减少到几乎为0】 from sklearn . datasets import load_boston # 数据 from sklearn . linear_model import SGDRegressor # sgd线性回归---随机梯度下降线性回归 from sklearn . preprocessing import StandardScaler # 标准化 from sklearn . linear_model import LinearRegression # 正规方程求解的线性回归 from sklearn . model_selection import train_test_split # 训练集 特征值拆分 def show_res ( y_text , y_predict ) : ''' 结果展示 :param y_text: 测试集目标值真实值 :param y_predict: 预测值 :return: ''' # 画布 pyplot . figure ( ) # 默认不支持中文,需要配置RC 参数

11. 线性回归

匿名 (未验证) 提交于 2019-12-03 00:03:02
文章目录 线性回归 sklearn中的线性回归 房屋价格预测 线性回归 线性回归(Linear Regression)是利用数理统计中回归分析,来确定两种或两种以上变量间相互依赖的定量关系的一种统计分析方法。线性回归利用称为线性回归方程的最小平方函数对一个或多个自变量和因变量之间关系进行建模。这种函数是一个或多个称为回归系数的模型参数的线性组合。只有一个自变量的情况称为简单回归,大于一个自变量情况的叫做多元回归。 sklearn中的线性回归 sklearn.linear_model.LinearRegression() 参数 说明 fit_intercept 布尔型参数,表示是否计算该模型截距。可选参数。 normalize 布尔型参数,若为True,则X在回归前进行归一化。可选参数。默认值为False。 copy_X 布尔型参数,若为True,则X将被复制,否则将被覆盖。可选参数,默认值为True。 n_jobs 整型参数,表示用于计算的作业数量;若为-1,则用所有的CPU。可选参数。默认值为1。 linear.fit(X,y, sample_weight=None) 参数 说明 X 训练向量 y 相对于X的目标向量 sample_weight 分配给各个样本的权重数组,一般不需要使用,可省略。 房屋价格预测 import numpy as np import

TensorFlow 房价预测

匿名 (未验证) 提交于 2019-12-02 23:52:01
TensorFlow 房价预测 前置知识:监督学习(Supervised Learning) 监督学习是机器学习的一种方法,指从训练数据(输入和预期输出)中学到一个模型(函数), 并根据模型可以推断新实例的方法。 函数的输出通常为一个连续值(回归分析)或类别标签(分类)。 前置知识:监督学习典型算法 前置知识:线性回归 在统计学中,线性回归是利用称为线性回归方程的最小二乘函数对一个或多个自变量和因变   量之间关系进行建模的一种回归分析。这种函数是一个或多个称为回归系数的模型参数的线性组合。 理想函数:

监督学习 分类模型 逻辑回归

匿名 (未验证) 提交于 2019-12-02 23:51:01
逻辑斯谛回归 - 线性回归的问题 一一 怎样判断肿瘤是否恶性? - 线性回归健壮性不够,一旦有噪声,立刻“投降” 逻辑斯蒂回归 ―― 分类问题 Sigmoid函数(压缩函数) - 我们将线性回归拟合出来的值用压缩函数进行压缩,压缩完成后   用0.5做一个概率的判定边界,就能把样本分成两类,即正样本 中z的正负决定了 g(z)的值最后是大于0.5还是小于0.5;   即z大于0时,g(z)大于0.5, z小于0时,g(z)小于0.5   也就使得分类边界两边分别对应g(z)>0.5和g(z)<0.5,因此根据g(z)与0.5的大小关系,   就可以实现分类 逻辑斯谛回归损失函数 -平方损失函数的问题 损失函数 这样,我们获得了一个凸函数。 梯度下降法求解

sklearn之多项式回归

匿名 (未验证) 提交于 2019-12-02 23:48:02
''' 多项式回归:若希望回归模型更好的拟合训练样本数据,可以使用多项式回归器。 一元多项式回归: 数学模型:y = w0 + w1 * x^1 + w2 * x^2 + .... + wn * x^n 将高次项看做对一次项特征的扩展得到: y = w0 + w1 * x1 + w2 * x2 + .... + wn * xn 那么一元多项式回归即可以看做为多元线性回归,可以使用LinearRegression模型对样本数据进行模型训练。 所以一元多项式回归的实现需要两个步骤: 1. 将一元多项式回归问题转换为多元线性回归问题(只需给出多项式最高次数即可)。 2. 将1步骤得到多项式的结果中 w1,w2,w3,...,wn当做样本特征,交给线性回归器训练多元线性模型。 选择合适的最高次数其模型R2评分会高于一元线性回归模型评分,如果次数过高,会出现过拟合现象,评分会低于一元线性回归评分 使用sklearn提供的"数据管线"实现两个步骤的顺序执行: import sklearn.pipeline as pl import sklearn.preprocessing as sp import sklearn.linear_model as lm model = pl.make_pipeline( # 10: 多项式的最高次数 sp.PolynomialFeatures(10), #

线性模型-线性回归、Logistic分类

匿名 (未验证) 提交于 2019-12-02 23:42:01
线性模型是机器学习中最简单的,最基础的模型结果,常常被应用于分类、回归等学习任务中。 回归和分类区别: 回归:预测值是一个连续的实数; 分类:预测值是离散的类别数据。 以下是均方误差表达式:    那么基于 均方误差来求解模型的方法称为最小二乘法。   最小二乘法思想:寻找一个超平面,使得训练数据集中所有样本点到超平面的距离之和最小。 总结: 缺点与改进:线性回归是采用超平面来拟合所有的训练数据,但如果数据不呈线性分布关系时,线性模型得到的结果是欠拟合的 (ps:欠拟合就时特征学习的不够)。如果解决欠拟合的问题,有两种方式:     第一种方法:挖掘更多的特征,比如不同的特征之间的组合,但这样做会使得模型更复杂,而且好的特征选取并不是一件简单的事;     第二种方法:通过修改线性回归,这时出现的方法是“局部加权线性回归(LWR)”,该方法使得我们在不添加新特征的前提下,获 得近似的效果。该方法只需将损失函数修改为: 但是,LWR也有不足。最大的缺点是空间开销比较大,在线性回归模型中,当训练得到参数的最优解,就可以得到新数据 的预测输出,但LWR除了保留参数得到最优解外,还要保留全部的训练数据,以求取每一个训练数据对应于新数据的权重值。 2. 线性模型来进行分类学习----Logistics回归:基本思想是在空间中构造一个合理的超平面,把空间区域划分为两个子控件

线性回归

匿名 (未验证) 提交于 2019-12-02 23:34:01
线性回归 线性:y=a*x 一次方的变化 回归:回归到平均值 简单线性回归 算法==公式 一元一次方程组 一元指的一个X:影响Y的因素,维度 一次指的X的变化:没有非线性的变化 y = a*x + b x1,y1 x2,y2 x3,y3 x4,y4 … 做机器学习,没有完美解 只有最优解~ 做机器学习就是要以最快的速度,找到误差最小的最优解! 一个样本的误差: yi^ - yi 找到误差最小的时刻,为了去找到误差最小的时刻,需要反复尝试,a,b 根据最小二乘法去求得误差 反过来误差最小时刻的a,b就是最终最优解模型!!! 多元线性回归 本质上就是算法(公式)变换为了多元一次方程组 y = w1 x1 + w2 x2 + w3 x3 + … + wn xn + w0*x0 Q:为什么求总似然的时候,要用正太分布的概率密度函数? A:中心极限定理,如果假设样本之间是独立事件,误差变量随机产生,那么就服从正太分布! Q:总似然不是概率相乘吗?为什么用了概率密度函数的f(xi)进行了相乘? A:因为概率不好求,所以当我们可以找到概率密度相乘最大的时候,就相当于找到了概率相乘最大的时候! Q:概率为什么不好求? A:因为求得是面积,需要积分,麻烦,大家不用去管数学上如何根据概率密度函数去求概率! Q:那总似然最大和最有解得关系? A:当我们找到可以使得总似然最大的条件

逻辑回归

匿名 (未验证) 提交于 2019-12-02 23:34:01
多元线性回归(Ridge、Lasso、ElasticNet)是做回归预测的 逻辑回归(Logistic Regression) 是做分类任务的 Q:做回归预测损失函数是什么? A:平方均值损失函数MSE Q:做分类损失函数是什么? A:做分类损失函数是交叉熵! Q:什么是熵? A:熵是一种测量分子不稳定性的指标,分子运动越不稳定,熵就越大,来自热力学 熵是一种测量信息量的单位,信息熵,包含的信息越多,熵就越大,来自信息论,香农 熵是一种测量不确定性的单位,不确定性越大,概率越小,熵就越大! Q:熵和概率是什么一个关系? A:随着概率的减小,熵会增大 逻辑回归 Q:为什么本质是多元线性回归? A:1,公式,首先应用了多元线性回归的公式,其次才是把多元线性回归的结果,交给sigmoid函数去进行缩放 2,导函数,逻辑回归的损失函数推导的导函数,整个形式上和多元线性回归基本一致, 只是y_hat求解公式包含了一个sigmoid过程而已 Q:逻辑回归的损失函数是什么? A:交叉熵,做分类就用交叉熵,-y logP,因为逻辑回归是二分类,所以 loss func = (-y logP + -(1-y)*log(1-P)),也就是说我们期望这个损失最小然后找到最优解 事实上,我们就可以利用前面学过的梯度下降法来求解最优解了 Q:逻辑回归为什么阈值是0.5? A

核函数精解

匿名 (未验证) 提交于 2019-12-02 23:34:01
https://zhuanlan.zhihu.com/p/45223109 高维映射 与 核方法(Kernel Methods) 29 人赞同了该文章 高维映射跟核方法的概念很容易混淆。 高维映射通过将样本从原始空间映射到一个更高维的特征空间,从而解决了低纬下难以解决的问题。 核方法往往跟高维映射配合使用,可以看做是一种技巧,可以通过它来避免这种映射的计算。 下面详细介绍一下这两个概念。 一、高维映射 我们知道,线性回归是用一条直线来拟合数据。但是我们往往会遇到数据并不服从线性分布的情况,比如: 于是,我们选择变成一个二次方程来拟合: 这里分布是一个二次函数,如果我们遇到了更加复杂的函数,我们依然可以通过选取合适的拉伸函数来变成线性的问题。幸运的是可以证明,只要数据的分布在维度有限的空间上,我们总是能够找到一个更高维度的空间,使得它的分布是线性的。 二、求解高维映射后的线性方程 如果不做高维映射的话,线性回归的解是: 不明白的可以看看我另外一篇的讲线性回归的,里面包含了推导过程。 好了,右边全都是已知量,我们已经解出来了这个模型了。 我们做完高维映射之后的线性方程,要如何去预测模型呢?来模拟一下这个过程: 看看上面的过程中,我们用了多少次拉伸函数。在训练过程中,我们对训练集里面每个样本都用了一次拉伸。在预测的时候,我们又要对预测集里面的每个样本做一次拉伸。现在我告诉你