百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 软件资讯 > 正文

免费Python机器学习课程一:线性回归算法

ninehua 2025-06-08 23:15 33 浏览


学习线性回归的概念并从头开始在python中开发完整的线性回归算法

最基本的机器学习算法必须是具有单个变量的线性回归算法。如今,可用的高级机器学习算法,库和技术如此之多,以至于线性回归似乎并不重要。但是,学习基础知识总是一个好主意。这样,您将非常清楚地理解这些概念。在本文中,我将逐步解释线性回归算法。

想法和公式

线性回归使用非常基本的预测思想。公式如下:

Y = C + BX

我们在学校都学过这个公式。提醒您,这是一条直线方程。在此,Y是因变量,B是斜率,C是截距。通常,对于线性回归,它写为:

在这里," h"是假设或预测的因变量,X是输入特征,theta0和theta1是系数。Theta值从头开始随机初始化。然后使用梯度下降,我们将更新theta值以最小化成本函数。这是成本函数和梯度下降的解释。

成本函数和梯度下降

成本函数确定预测与原始因变量的距离。这是公式

任何机器学习算法的想法都是最小化成本函数,以使假设接近于原始因变量。为此,我们需要优化theta值。如果我们分别基于theta0和theta1取成本函数的偏导数,则会得到梯度下降。要更新theta值,我们需要从相应的theta值中减去梯度下降:

经过偏导数后,以上公式将变为:

此处,m是训练数据的数量,而alpha是学习率。我正在谈论一种变量线性回归。这就是为什么我只有两个theta值的原因。如果有很多变量,则每个变量都有theta值。

工作实例

我将要使用的数据集来自安德鲁·伍(Andrew Ng)的Coursera机器学习课程。这是在Python中逐步实现线性回归的过程。

· 导入包和数据集。

import numpy as np
import pandas as pd
df = pd.read_csv('ex1data1.txt', header = None)
df.head()

在此数据集中,列零是输入要素,列1是输出变量或因变量。我们将使用列0使用上面的直线公式预测列1。

2.将第1列与第0列相对应。

输入变量和输出变量之间的关系是线性的。当关系为线性时,线性回归效果最佳。

3.初始化theta值。我正在将theta值初始化为零。但是任何其他值也应该起作用。

theta = [0,0]

4.根据前面讨论的公式定义假设和成本函数。

def hypothesis(theta, X): 
	return theta[0] + theta[1]*X

def cost_calc(theta, X, y): 
	return (1/2*m) * np.sum((hypothesis(theta, X) - y)**2)

5.计算训练数据的数量作为DataFrame的长度。然后定义梯度下降函数。在此函数中,我们将更新theta值,直到cost函数达到最小值为止。可能需要任何数量的迭代。在每次迭代中,它将更新theta值,并使用每个更新的theta值来计算成本以跟踪成本。

m = len(df)
def gradient_descent(theta, X, y, epoch, alpha):
    cost = []
    i = 0
    while i < epoch:
        hx = hypothesis(theta, X)
        theta[0] -= alpha*(sum(hx-y)/m)
        theta[1] -= (alpha * np.sum((hx - y) * X))/m
        cost.append(cost_calc(theta, X, y))
        i += 1
    return theta, cost

6.最后,定义预测函数。它将从梯度下降函数获得更新的theta并预测假设或预测的输出变量。

def predict(theta, X, y, epoch, alpha):
    theta, cost = gradient_descent(theta, X, y, epoch, alpha)
    return hypothesis(theta, X), cost, theta

7.使用预测函数,找到假设,成本和更新的theta值。我选择学习率为0.01,然后将这个算法运行2000个时期或迭代。

y_predict, cost, theta = predict(theta, df[0], df[1], 2000, 0.01)

最终theta值为-3.79和1.18。

8.在同一图中绘制原始y和假设或预测y。

%matplotlib inline
import matplotlib.pyplot as plt
plt.figure()
plt.scatter(df[0], df[1], label = 'Original y')
plt.scatter(df[0], y_predict, label = 'predicted y')
plt.legend(loc = "upper left")
plt.xlabel("input feature")
plt.ylabel("Original and Predicted Output")
plt.show()

假设图是公式中所预期的一条直线,并且该直线正在最佳位置通过。

9.记住,我们在每次迭代中都跟踪成本函数。让我们绘制成本函数。

plt.figure()
plt.scatter(range(0, len(cost)), cost)
plt.show()

如前所述,我们的目的是优化theta值以最小化成本。从该图可以看出,成本从一开始就急剧下降,然后稳定下来。这意味着theta值已按照我们的预期正确优化。

我希望这可以帮到你。这是本文中使用的数据集的链接:
https://github.com/rashida048/Machine-Learning-With-Python/blob/master/ex1data1.txt


(本文由闻数起舞翻译自Rashida Nasrin Sucky的文章《Linear Regression Algorithm from Scratch in Python: Step by Step》,转载请注明出处,原文链接:
https://towardsdatascience.com/basic-linear-regression-algorithm-in-python-for-beginners-c519a808b5f8)

相关推荐

「免费下载」超棒的英文字母、数字描红,PDF高清打印版

(资料太长,只能展示截图部分)领取完整【高清电子打印版】请将文章拉至末尾查看步骤领取【高清电子打印版】请关注后【点赞+转发】【私信我回复数字000】按照步骤免费领取(高清电子版)...

武侠 金庸全集(共36册) 01 PDF版分享

电子书及相关资料于网络上搜集整理,如有侵权,请联系我删除!

小学生经典国学典藏《古文观止》PDF电子版下载

为了方便教师、学生和家长查阅和使用中小学教辅资料小编花费大量的时间收集、整理、发布这一系列的电子教辅真心希望能给您带来帮助今天给大家带来的是小学生经典国学典藏《古文观止》PDF电子版下载免费分享给大家...

安卓上有哪些不错的PDF阅读器?

要看看具体是什么类型的PDF文件,文献资料类的可能还是更适合在平板或者电脑上阅读,比较方便,如果是普通的不太大的PDF文件可以借助一些APP来看,安利三款自用过的PDF阅读器,在安卓手机的应用商店就可...

2020一建全科官方电子版教材免费下载(高清PDF)

2020年一级建造师考试已过,又开始21年一建备考了,由于20新教材是5月份才出版,备考21年考试先用20年资料,为了帮助各位考生通过考试,倪倪考吧特整理了一级建造师考试全科电子版教材下载,希望可以帮...

pdf在线提取页面免费工具,推荐几款超实用工具

PDF的可以用来保存扫描件,很多纸质版文件都可以转换成PDF以方便流通阅读。PDF页数也是没有限制的,所以如果你拿到一份很大的文档,每次使用的时候就会不太方便。可以选择将大文件的一部分内容提取出来,重...

免费将 PDF 转换为 Word 的 10 个最佳工具

可移植文档格式或PDF是大多数企业使用的流行文件格式,主要用于共享项目材料并确保整个团队协同工作。它还有助于避免处理大量文档和丢失关键数据。使用顶级PDF转换器还可以更轻松地高效地进行日常活动...

2023春 《53天天练》配套 语文一下练习试题卷 电子版 92页PDF文档

这份就是今年春季版的53天天练试题练习卷,适合一年级下册人教部编版语文课堂课后复习使用!需要的家长可找我要资料下载:2023春《53天天练》配套语文一年级下册练习试题卷电子版92页PDF文...

人教版7年级下册数学电子课本PDF版下载

如需领取电子课本(PDF高清版),请关注微信公众号“x9996k”,即可获得电子课本PDF打印版以及各版本各学科的电子课本大全。...

全套《女巫温妮》PDF免费下载:高清电子书+音频+视频+翻译+拓展

今天给大家分享的是风靡全球30年的牛津经典读物《女巫温妮》12册,高清PDF+翻译+MP3+视频+拓展资料!私信回复“绘本”免费领取...

强大的网站(第四十一期):一个免费的图片和PDF处理工具网站

一、网站简介Docsmall网站致力于让文件处理更加简单,它提供了图片处理、PDF处理以及其他文件转换等多种功能。用户只需上传文件,选择所需的处理选项,即可快速完成文件处理任务。网站地址(点击转跳):...

如何在电脑和手机上免费将 PDF 转换为Word

PDF文件是我们每天用来交换重要内容的一些最重要的文档之一。但是编辑PDF文件通常很困难;因此,以下是您可以从任何设备将PDF文件转换为可编辑Word文件的三种方法中的一些。添加图片注释,不...

为什么PDF转word都是付费功能?免费PDF编辑的几种方法

现在不论是WPS还是迅捷PDF、福昕PDF等软件,都将PDF编辑功能,特别是PDF转Word功能设置成了收费模式。但是在日常学习工作中,我们总会有编辑PDF的场景,如何解决呢?一、先看看是什么类型的P...

有哪些实用免费的PDF编辑器?

本文分享8个实用的PDF编辑器,大部分都免费,能够满足基本的编辑需求,而且操作简便,兼容性强,让你的文档处理如鱼得水。一、通过电脑端软件实现PDF编辑1、AdobeAcrobat一款功能强大的PDF...

824页pdf文档免费下载链接 娱乐圈824大瓜事件怎么回事

824文档是一颗比421更大的瓜,824文档里面记载着各种娱乐圈明星八卦的合集,而这个文档不是别的,正是明星的黑料内幕,也可以理解为421页娱乐圈明星八卦合集,涵盖了整个娱乐圈八卦内容汇总,相当于一篇...