吴恩达机器学习2022-Jupyter-用scikitlearn实现线性回归

1可选实验:使用Scikit-Learn进行线性回归

有一个开源的、商业上可用的机器学习工具包,叫做 scikit-learn。本工具包包含您将在本课程中使用的许多算法的实现。

1.1工具

您将利用 scikit-learn 以及 matplotlib 和 NumPy 中的函数。

2线性回归封闭式解决方案

Scikit-learn 的线性回归模型实现了一种封闭式的线性回归。

让我们使用早期实验室的数据——一栋1000平方英尺的房子售价为30万美元,一栋2000平方英尺的房子售价为50万美元。

2.1载入数据集

import numpy as np
np.set_printoptions(precision=2)
from sklearn.linear_model import LinearRegression, SGDRegressor
from sklearn.preprocessing import StandardScaler
from lab_utils_multi import  load_house_data
import matplotlib.pyplot as plt
dlblue = '#0096ff'; dlorange = '#FF9300'; dldarkred='#C00000'; dlmagenta='#FF40FF'; dlpurple='#7030A0'; 
plt.style.use('./deeplearning.mplstyle')X_train = np.array([1.0, 2.0])   #features
y_train = np.array([300, 500])   #target value

2.2创建并适应模型

下面的代码使用 scikit-learn 执行回归。

第二步利用与对象关联的方法之一 fit。这将执行回归,将参数拟合到输入数据。该工具包需要一个二维 X 矩阵。

linear_model = LinearRegression()
#X must be a 2-D Matrix
linear_model.fit(X_train.reshape(-1, 1), y_train) 

输出:

LinearRegression(copy_X=True, fit_intercept=True, n_jobs=1, normalize=False)

2.3参数视图

W 和 b 参数在 scikit-learn 中称为“系数”和“截距”。

b = linear_model.intercept_
w = linear_model.coef_
print(f"w = {w:}, b = {b:0.2f}")
print(f"'manual' prediction: f_wb = wx+b : {1200*w + b}")

输出:

w = [200.], b = 100.00
'manual' prediction: f_wb = wx+b : [240100.]

2.4预测

调用predict函数生成预测。

y_pred = linear_model.predict(X_train.reshape(-1, 1))print("Prediction on training set:", y_pred)X_test = np.array([[1200]])
print(f"Prediction for 1200 sqft house: ${linear_model.predict(X_test)[0]:0.2f}")

输出:

Prediction on training set: [300. 500.]
Prediction for 1200 sqft house: $240100.00

3另一个实例

第二个例子来自一个早期的具有多个特性的实验室。最终的参数值和预测结果非常接近那个实验室的非标准化“长期运行”的结果。那次非正常化的运行花了几个小时才产生结果,而这几乎是瞬间的。封闭形式的解决方案在这样的小型数据集上运行良好,但是在大型数据集上可能需要计算。

闭式解决方案不需要规范化。

# load the dataset
X_train, y_train = load_house_data()
X_features = ['size(sqft)','bedrooms','floors','age']linear_model = LinearRegression()
linear_model.fit(X_train, y_train) b = linear_model.intercept_
w = linear_model.coef_
print(f"w = {w:}, b = {b:0.2f}")print(f"Prediction on training set:\n {linear_model.predict(X_train)[:4]}" )
print(f"prediction using w,b:\n {(X_train @ w + b)[:4]}")
print(f"Target values \n {y_train[:4]}")x_house = np.array([1200, 3,1, 40]).reshape(-1,4)
x_house_predict = linear_model.predict(x_house)[0]
print(f" predicted price of a house with 1200 sqft, 3 bedrooms, 1 floor, 40 years old = ${x_house_predict*1000:0.2f}")

输出:

LinearRegression(copy_X=True, fit_intercept=True, n_jobs=1, normalize=False)
w = [  0.27 -32.62 -67.25  -1.47], b = 220.42
Prediction on training set:[295.18 485.98 389.52 492.15]
prediction using w,b:[295.18 485.98 389.52 492.15]
Target values [300.  509.8 394.  540. ]predicted price of a house with 1200 sqft, 3 bedrooms, 1 floor, 40 years old = $318709.09

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

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

相关文章

nvm常用命令

查看node.js的所有版本: npm view node versions 查看 nvm 是否安装成功: command -v nvm查看当前使用的 Node 版本: node -v将安装 12.7.0 版本的Node: nvm install 12.7.0卸载 12.7.0 版本的Node: nvm uninstall 12…

为什么低代码只能掀起小浪花?了解低代码的得失与前景

导语:低代码是相对于高代码和无代码的一个中间概念,通常强调的是用户不需要学习如何写代码,就能完成工作。然而低代码模式一直不温不火,原因是什么呢?一起来看一下吧。 最近互联网大公司裁员消息又起,“低代…

Linux 配置常见服务器命令

Linux常见配置服务器的命令整理,基于Centos 7 。 基本操作命令 查看ens33 ip ifconfig ens33 查看系统版本 cat /etc/redhat-release 查找文件install.log、httpd.conf、hosts、smb.conf、network find -name te.txt 使用“cp 源文件 目标文件”命令进行复制 cp t…

Serial/TCP/NTRIP通信

1 串口通信 串口通讯 串口通信详解 串口通信中的4大参数含义 Qt 串口通信的简单demo 2 TCP通信 TCP协议简介 TCP协议详细介绍 TCP协议(全面) IP地址和端口号的详解 3 NTRIP通信 Ntrip通讯协议1.0 什么是Ntrip?Ntrip协议简介 TCP高并发数据转接服务器&#xff0…

【ElasticSearch】java 如何连接 elasticsearch

不同版本的java 与 Elastic 如何连接。 在 es 与 java 连接中最重要的就是『兼容性矩阵」,要严格按照兼容性矩阵的要求来部署 spring boot 或者 es的版本,否则会有意向不到的错误或者程序无法运行等等。 针对 es 6.2.2,java 客户端的配置代…

Linux: cannot read file data

报错: Could not load library libcudnn_cnn_infer.so.8. Error: /home/qc/miniconda3/envs/DNAqc/lib/python3.10/site-packages/torch/lib/libcudnn_cnn_infer.so.8: cannot read file data Please make sure libcudnn_cnn_infer.so.8 is in your library path! A…

【NLP】国外新动态--LLM模型

一、说明 NLP走势如何?这是关于在实践中使用大型语言模型(LLM)的系列文章中的一篇文章。在这里,我将介绍LLM,并介绍使用它们的3个级别。未来的文章将探讨LLM的实际方面,例如如何使用OpenAI的公共API,Hugging Face Transformers Python库,如何微调LLM,以及如何从头开始…

navicate_windows_14

1.新建文本文档2.输入如下内容 echo off set dnInfo set dn2ShellFolder set rpHKEY_CURRENT_USER\Software\Classes\CLSID :: reg delete HKEY_CURRENT_USER\Software\PremiumSoft\NavicatPremium\Registration14XCS /f %针对<strong><font color"#FF0000"…

Android 进阶之旅 - 终章

我们的《Android进阶之旅》到这里就算是完结了&#xff0c;五六年的时间&#xff0c;我的青春&#xff0c;我职业生涯的黄金时期&#xff0c;基本都耗在了这上面。很多东西我都是现学现卖&#xff0c;平时上班也很少有时间能备课&#xff0c;很多地方难免讲得不如意&#xff0c…

ChatGpt+人工修正 PyQt5 实现简易视频播放器

支持功能: 1. 视频播放速度调整 2. 视频声音调整 3. 视频当前播放帧截帧(用的ffmpeg 怎么装自己百度去,截取准确度很高,QT自带的截帧那玩意信号不触发,不好使) 4. 视频暂停 # !/usr/bin/env python3 # -*- coding: UTF-8 -*- """ @author : v_jiaohaich…

SQL Server的derived table 临时表

例子1&#xff1a; 创建一个查询 SELECT ProductID, Name, ListPrice, CASE WHEN ListPrice > 1000 THEN NHigh ELSE NNormal END AS PriceType FROM SalesLT.Product 为了进一步查询&#xff0c;而又不增加它的复杂度。这时&#xff0c;可以创建一个derived table。 …

华为产品测评官-开发者之声 - ModelArts 真实体验感想

华为产品测评官&#xff0d;开发者之声 - ModelArts 真实体验感想 我先是在6月17日参加了华为在深圳举办的开发者大会&#xff0c;后面看到群里发的"2023华为产品测评官&#xff0d;开发者之声"活动&#xff0c;简单看了一下体验活动的具体事情&#xff0c;感觉好玩…

【005】基于深度学习的图像语 通信系统

摘要 语义通信是一种新颖的通信方式&#xff0c;可通过传输数据的语义信息提高带宽效率。提出一种用于无线图像传输的系统。该系统基于深度学习技术开发并以端到端&#xff08;E2E&#xff09;的方式进行训练。利用深度学习实现语义特征的提取和重建&#xff0c;在发送端提取信…

异步fifo(1)

什么时异步fifo FIFO&#xff0c;即First In First Out &#xff0c;是一种先进先出的数据缓存器&#xff0c;异步FIFO 是指读写时钟不一致&#xff0c;读写时钟是互相独立的。数据从一个时钟域写入FIFO缓冲区&#xff0c;并从另一个时钟域的同一FIFO缓冲区中读取数据&#xf…

Android 调音器开发

什么是调音器&#xff1f; 是一种乐器的辅助工具&#xff0c;用于各种弦乐器的调音&#xff0c;包括吉他调音器&#xff0c;贝斯调音器&#xff0c;钢琴调音器&#xff0c;古筝调音器&#xff0c;尤克里里调音器等。可根据乐音的频率判断所处的音符&#xff0c;从而校准改弦是否…

CSS 伪元素: ::marker 自定义列表序号

::marker 伪元素 ::marker&#xff0c;可作用在任何设置了 display: list-item 的元素或伪元素上&#xff0c;例如<li>和<summary>。 /** <ul><li>Peaches</li><li>Apples</li><li>Plums</li> </ul> */ ul li::…

uni-app做h5IOS底部tabbar高度在不同的tabbar页面会忽高忽低

原因不祥&#xff0c;解决办法的话在App.vue中 <style langscss> //每个页面公共css page { height:100vh; } </style>

【hadoop】HDFS

HDFS 操作HDFSWeb Console 网页工具操作NameNode操作SecondaryNameNode 命令行Java API HDFS的原理解析数据上传的过程数据下载的过程 HDFS的高级特性回收站配额Quota名称配额空间配额 快照Snapshot安全模式 SafeMode权限管理&#xff1a;类似LinuxHDFS的集群 HDFS的底层原理&a…

redis常用场景和案例

Redis在许多不同的场景中都有广泛应用。以下是一些常见的Redis使用场景和经典案例&#xff1a; 缓存&#xff1a; Redis最常见的使用场景之一是作为缓存层。它可以将经常访问的数据缓存在内存中&#xff0c;提高读取数据的速度&#xff0c;减轻数据库的负载。 经典案例&#…

软件测试行业的困境和迷局

中国的软件测试虽然起点较高&#xff0c;但是软件测试的发展似乎没有想象中那么顺利。 其实每个行业除了有自身领域外&#xff0c;还有属于自己的“生态系统”。属于软件测试的生态系统主要包括后备软件测试人员、软件开发人员和软件管理决策者。后备软件测试人员是软件测试的…