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

这篇具有很好参考价值的文章主要介绍了吴恩达机器学习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}")

输出:文章来源地址https://www.toymoban.com/news/detail-562449.html

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

到了这里,关于吴恩达机器学习2022-Jupyter-用scikitlearn实现线性回归的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 吴恩达机器学习2022-Jupyter特征缩放 1可选实验室: 特征缩放和学习率(多变量)

    在这个实验室里: 利用前一实验室开发的多变量线性回归模型程序 在具有多种功能的数据集上运行梯度下降法 探讨学习速度 alpha 对梯度下降法的影响 通过使用 z 分数标准化的特征缩放来提高梯度下降法的性能 您将使用在上一个实验中开发的函数以及matplotlib和NumPy。 与前面

    2024年02月16日
    浏览(34)
  • 吴恩达机器学习-可选实验:使用ScikitLearn进行线性回归(Linear Regression using Scikit-Learn)

    有一个开源的、商业上可用的机器学习工具包,叫做scikit-learn。这个工具包包含了你将在本课程中使用的许多算法的实现。 在本实验中,你将:利用scikit-learn实现使用梯度下降的线性回归 您将使用scikit-learn中的函数以及matplotlib和NumPy。 np.set_printoptions(precision=2) 的作用是告诉

    2024年03月14日
    浏览(39)
  • 【2022吴恩达机器学习课程视频翻译笔记】3.2线性回归模型-part-2

    Let’s look in this video at the process of how supervised learning works. Supervised learning algorithm will input a dataset and then what exactly does it do and what does it output? Let’s find out in this video. Recall that a training set in supervised learning includes both the input features, such as the size of the house and also the output targets,

    2024年02月12日
    浏览(21)
  • 【机器学习】机器学习笔记(吴恩达)

    https://github.com/fengdu78/Coursera-ML-AndrewNg-Notes https://www.bilibili.com/video/BV164411b7dx?p=4 https://study.163.com/course/courseLearn.htm?courseId=1210076550#/learn/video?lessonId=1280912351courseId=1210076550 定义机器学习为:在进行特定编程的情况下,给予计算机 学习能力的领域。目前存在几种不同类型的学习算

    2024年02月06日
    浏览(33)
  • 机器学习(吴恩达第一课)

    课程链接 从给出“正确答案”的数据集中学习 1、回归(Regression) 2、分类(Classification) 总结 1.术语。 2.单变量线性回归 平方误差代价函数 梯度下降算法选择不同的起点,可能会得到不同的结果,因为它得到的是一个局部最小值。 1、学习率 2、用于线性回归的梯度下降 线性回

    2024年02月09日
    浏览(25)
  • 吴恩达《机器学习》1-4:无监督学习

    一、无监督学习 无监督学习就像你拿到一堆未分类的东西,没有标签告诉你它们是什么,然后你的任务是自己找出它们之间的关系或者分成不同的组,而不依赖于任何人给你关于这些东西的指导。 以聚类为例,无监督学习算法可以将数据点分成具有相似特征的群组,而不需

    2024年02月07日
    浏览(37)
  • 吴恩达《机器学习》5-6:向量化

    在深度学习和数值计算中,效率和性能是至关重要的。一个有效的方法是使用向量化技术,它可以显著提高计算速度,减少代码的复杂性。接下来将介绍向量化的概念以及如何在不同编程语言和工具中应用它,包括 Octave、MATLAB、Python、NumPy、C和C++。 一、什么是向量化? 向量

    2024年02月05日
    浏览(31)
  • 【机器学习】吴恩达课程1-Introduction

    计算机程序从经验E中学习,解决某一任务T,进行某一性能P,通过P测定在T上的表现因经验E而提高。 跳棋程序 E:程序自身下的上万盘棋局 T:下跳棋 P:与新对手下跳棋时赢的概率 给算法一个数据集,其中包含了正确答案,算法的目的是给出更多的正确答案。 (1)预测房价

    2024年02月16日
    浏览(29)
  • 吴恩达《机器学习》2-2->2-4:代价函数

    一、代价函数的概念 代价函数是在监督学习中用于评估模型的性能和帮助选择最佳模型参数的重要工具。它表示了模型的预测输出与实际目标值之间的差距,即建模误差。代价函数的目标是找到使建模误差最小化的模型参数。 二、代价函数的理解 训练集数据 :假设我们有一

    2024年02月07日
    浏览(26)
  • 关于吴恩达机器学习中反向传播的理解

    在机器学习视频反向传播章节 [1] 中: 我们用 (delta) 来表示误差,则: (boldsymboldelta^{left(4right)}=boldsymbol a^{left(4right)}−boldsymbol y) 。我们利用这个误差值来计算前一层的误差: (boldsymboldelta^{left(3right)}=left(boldsymbolTheta^{left(3right)}right)^Tboldsymboldelta^{left(4rig

    2024年02月01日
    浏览(37)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包