[scikit-learn 机器学习] 2. 简单线性回归

文章目录

    • 1. 简单线性回归
    • 2. 评价模型

本文为 scikit-learn机器学习(第2版)学习笔记

1. 简单线性回归

import numpy as np
import matplotlib.pyplot as pltX = np.array([[6],[8],[10],[14],[18]])
y = np.array([7,9,13,17.5,18])
plt.title("pizza diameter vs price")
plt.xlabel('diameter')
plt.ylabel('price')
plt.plot(X,y,'r.') # r表示颜色红

在这里插入图片描述

from sklearn.linear_model import LinearRegression
model = LinearRegression()
model.fit(X,y)test_pizza = np.array([[12]])
pred_price = model.predict(test_pizza)
pred_price
# array([13.68103448])
  • 误差 ∑(yi−f(xi))2\sum(y_i-f(x_i))^2(yif(xi))2
print("误差平方和:%.2f" % np.mean((model.predict(X)-y)**2))
误差平方和:1.75
  • 方差 var(x)=∑(xi−xˉ)2n−1var(x) = \frac{\sum(x_i-\bar x)^2}{n-1}var(x)=n1(xixˉ)2
# 方差
x_bar = X.mean() # 11.2
variance = ((X-x_bar)**2).sum()/(len(X)-1)
variance # 23.2np.var(X, ddof=1) # np内置的方差,ddof为校正选项
###################
ddof : int, optional"Delta Degrees of Freedom": the divisor used in the calculation is``N - ddof``, where ``N`` represents the number of elements. Bydefault `ddof` is zero.
  • 协方差 cov(x,y)=∑(xi−xˉ)(yi−yˉ)n−1cov(x,y) = \frac{\sum(x_i-\bar x)(y_i - \bar y)}{n-1}cov(x,y)=n1(xixˉ)(yiyˉ)
# 协方差,两个变量之间的相关性
y_bar = y.mean()
covariance = np.multiply((X-x_bar).transpose(), y-y_bar).sum()/(len(X)-1)
covariance # 22.65np.cov(X.transpose(), y)
array([[23.2 , 22.65],[22.65, 24.3 ]])

假设模型为 y=a+bxy = a+bxy=a+bx

b=cov(x,y)var(x)=22.65/23.2=0.98b = \frac{cov(x,y)}{var(x)} = 22.65/23.2 = 0.98b=var(x)cov(x,y)=22.65/23.2=0.98

a=yˉ−bxˉ=12.9−0.98∗11.2=1.92a = \bar y - b \bar x = 12.9-0.98*11.2=1.92a=yˉbxˉ=12.90.9811.2=1.92

模型为 y=1.92+0.98xy = 1.92+0.98xy=1.92+0.98x

2. 评价模型

R2=1−∑(yi−f(xi))2∑(yi−yˉ)2R^2 = 1-\frac{\sum(y_i-f(x_i))^2}{\sum(y_i-\bar y)^2}R2=1(yiyˉ)2(yif(xi))2

X_test = np.array([8,9,11,16,12]).reshape(-1,1)
y_test = [11,8.5,15,18,11]
r_squared = model.score(X_test, y_test)
r_squared # 0.6620052929422553

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/475462.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Matplotlib - 散点图 scatter() 所有用法详解

目录 基本用法 散点的大小不同(根据点对应的数值) 散点的颜色不同(指定颜色或者渐变色) 散点图和折线图是数据分析中最常用的两种图形,他们能够分析不同数值型特征间的关系。其中,散点图主要用于分析特征…

Matplotlib - 折线图 plot() 所有用法详解

散点图和折线图是数据分析中最常用的两种图形。其中,折线图用于分析自变量和因变量之间的趋势关系,最适合用于显示随着时间而变化的连续数据,同时还可以看出数量的差异,增长情况。 Matplotlib 中绘制散点图的函数为 plot() &…

html 拍照旋转了90度_华为Mate X2概念图:可旋转正反三屏幕,单颗镜头在转轴上...

如果你是新朋友,请点击上方的蓝色字 关注 “高科技爱好者”,保证不会让你失望的.华为折叠手机的上市发售,引起了消费者的广泛关注,尤其是华为MateX系列手机的售价非常昂贵,同时出货量也比较少,所以外界都十…

[scikit-learn 机器学习] 3. K-近邻算法分类和回归

文章目录1. KNN模型2. KNN分类3. 使用sklearn KNN分类4. KNN回归本文为 scikit-learn机器学习(第2版)学习笔记K 近邻法(K-Nearest Neighbor, K-NN) 常用于 搜索和推荐系统。 1. KNN模型 确定距离度量方法(如欧氏距离…

Matplotlib - 柱状图、直方图、条形图 bar() barh() 所有用法详解

目录 基本用法 多个直方图并列显示 显示直方图上的数值 多个直方图堆叠显示 水平直方图 相较散点图和折线图,柱状图(直方图、条形图)、饼图、箱线图是另外 3 种数据分析常用的图形,主要用于分析数据内部的分布状态或分散状…

word里双横线怎么打_美人计 | 精致打工人秀智,教你内双怎么化

通勤妆千千万,大家画好才能算。国民初恋裴秀智搭档“南朋友”南柱赫,《启动了》这部剧让很多颜值控都纷纷沦陷了。起初奔着这两大主角看的,结果看着看着又被男二金宣虎圈了粉,在剧中裴秀智和金宣虎两小无猜的感情没能发展成爱情&a…

Matplotlib - 饼图、环形图 pie() 多重饼图 subplots() 所有用法详解

目录 基本用法 饼图中突出显示某部分 环形图(空心饼图) 多重饼图,并添加分割线 相较散点图和折线图,柱状图、饼图、箱线图是另外 3 种数据分析常用的图形,主要用于分析数据内部的分布状态或分散状态。饼图主要用于…

USACO2.11 The Castle hdu1198

题意: 我们憨厚的USACO主人公农夫约翰(Farmer John)以无法想象的运气,在他生日那天收到了一份特别的礼物:一张“幸运爱尔兰”(一种彩票)。结果这张彩票让他获得了这次比赛唯一的奖品——坐落于爱尔兰郊外的一座梦幻般的城堡&#…

Matplotlib - 箱线图、箱型图 boxplot () 所有用法详解

目录 基本用法 水平箱线图,显示均值 改变箱线图的形状(箱体的形状notch、异常值的形状sym) 改变箱线图的颜色(箱体边框的颜色、箱体填充色) 相较散点图和折线图,柱状图、饼图、箱线图(箱…

【转载】三极管,场效应管 工作原理小结

三极管属于流控器件,即Ib控制放大Ic, 场效应管属于压控器件,即Ugs控制Id。 二者都有三个工作区域,即截止区,恒流区和可变电阻区。 Ib小于开启电流时,Ic不受控,Rce很大,Ic很小&#x…

educoderpython答案顺序结构程序设计_答案汇总:土木机械类+计算机类

土木机械类(点击图片查看答案)理论力学1哈工大第7版机械设计濮良贵第9版机械原理西工大第8版材料力学1刘鸿文第5版结构力学1龙驭球第4版结构力学朱慈勉第2版工程力学范钦珊第2版材料力学2孙训方第5版理论力学教程水小平机械工程控制基础杨叔子第6版自动控制原理胡寿松第6版土力…

Pyecharts - 动态地图 geo()/ map() - 安装与用法详解

目录 安装Pyecharts 安装对应的地图拓展: 准备数据 使用 pyecharts 模块中的 Geo 函数: 使用 pyecharts 模块中的 map 函数: 把一些地域性比较明显的数据显示在一张地图上,远比给别人一个 Excel 文件好得多。 Matplotlib 中…

[编程启蒙游戏] 1. 猜数字

文章目录1. 游戏前提2. 游戏目的3. python代码4. 玩一玩1. 游戏前提 儿童能认识数字能比较数字大小 2. 游戏目的 培养孩子的二分查找思维 3. python代码 # python 3.7 环境 while True:n int(input("请输入一个数来猜:\n"))count 1print((\n*15))g…

生命银行怎么样_银行双职工家庭现状实录

和大多数银行女一样,我和老公也是同在银行上班相识,14年结婚,15年9月,大儿子出生,然后婆婆跟妈妈轮流照顾小孩,18年1月,小儿子出生,从此便开始了歇斯里底,腥风血雨的生活…

特征计算 - Jaccard 相似系数与 Python 代码实现

Jaccard 相似系数又称为Jaccard相似性度量(Jaccard系数,Jaccard 指数,Jaccard index)。用于比较有限样本集之间的相似性与差异性。Jaccard系数值越大,样本相似度越高。定义为相交的大小除以样本集合的大小:…

天气预报Dom解析(转)

view plain<span style"font-family:Arial, Verdana, sans-serif;color:#000000;"><span style"white-space: normal;"><span style"color:#000099;"> </span></span></span> DOM是用与平台无关和语言无关…

[scikit-learn 机器学习] 4. 特征提取

文章目录1. 从类别变量中提取特征2. 特征标准化3. 从文本中提取特征3.1 词袋模型3.2 停用词过滤3.3 词干提取和词形还原3.4 TF-IDF 权重扩展词包3.5 空间有效特征向量化与哈希技巧3.6 词向量4. 从图像中提取特征4.1 从像素强度中提取特征4.2 使用卷积神经网络激活项作为特征本文…

LeetCode 第 29 场双周赛(890/2259,前39.4%)

文章目录1. 比赛结果2. 题目1. LeetCode 5432. 去掉最低工资和最高工资后的工资平均值 easy2. LeetCode 5433. n 的第 k 个因子 medium3. LeetCode 5434. 删掉一个元素以后全为 1 的最长子数组 medium4. LeetCode 5435. 并行课程 II hard1. 比赛结果 做出来了3道题。第三题卡了…

【dll 返回字符串 】2

【vc <--> vc】返回void* 类型void* __stdcall torrent_hash( const char *TorrentFilePath){char szText[41]{0};if(strcmp(TorrentFilePath,"") 0 || TorrentFilePath NULL)return NULL;string strHashString "abcdefg"; sprintf(szText,&qu…

LeetCode 1496. 判断路径是否相交(set)

1. 题目 给你一个字符串 path&#xff0c;其中 path[i] 的值可以是 ‘N’、‘S’、‘E’ 或者 ‘W’&#xff0c;分别表示向北、向南、向东、向西移动一个单位。 机器人从二维平面上的原点 (0, 0) 处开始出发&#xff0c;按 path 所指示的路径行走。 如果路径在任何位置上出…