5.线性回归算法(代码片段)

wh008 wh008     2023-03-31     286

关键词:

1.本节重点知识点用自己的话总结出来,可以配上图片,以及说明该知识点的重要性

(1)什么是线性回归算法

技术图片

  • 回归:人们在测量事物的时候因为客观条件所限,求得的都是测量值,而不是事物真实的值,为了能够得到真实值,无限次的进行测量,最后通过这些测量数据计算回归到真实值,这就是回归的由来。

(2)回归和分类的区别

 技术图片

 

 (3)线性回归问题可以转换为矩阵乘积问题。

技术图片

 

 正规方程:

技术图片

 

 梯度下降法:

梯度下降简单来说是一种基于搜索的最优化方法。很多算法都没有闭式解的,所以需要通过一次一次的迭代来找到找到一组参数能让我们的损失函数最小,越小说明越准确。

 

2.思考线性回归算法可以用来做什么?(大家尽量不要写重复)

(1)电影票房的预测

(2)双色球预测中奖号码

(3)二手车价格和上牌年份、表现里程的预测

 

3.自主编写线性回归算法 ,数据可以自己造,或者从网上获取。(加分题)

二手车价格预测:

技术图片

 

 

技术图片

 

 代码:

def dealdata(test_data, data):
    test_data[车辆型号] = data[车辆型号]
    test_data[表显里程] = data[表显里程].astype(float)
    test_data[排量] = data[排量].astype(float)
    test_data[上牌年份] = data[上牌年份].astype(float)
    # 变速箱分类
    floor_class = list(data[变速箱].unique())
    for i in range(len(data)):
        floor = data.loc[i, 变速箱]
        floor_index = floor_class.index(floor) + 1
        test_data.loc[i, 变速箱] = floor_index

test_data = pd.DataFrame()
dealdata(test_data, data)
test_data = pd.concat([test_data, pd.get_dummies(test_data[车辆型号])], axis=1)
del test_data[车辆型号]
test_data
x = test_data.drop(价格, axis=1)
y = test_data[价格]
# 价格分类
sumprice_list = data[价格].astype(int)
for i in range(len(sumprice_list)):
    if sumprice_list[i] < 10:
        test_data.loc[i, 价格] = 1
    elif sumprice_list[i] >= 10 and sumprice_list[i] < 20:
        test_data.loc[i, 价格] = 2
    elif sumprice_list[i] >= 20 and sumprice_list[i] < 30:
        test_data.loc[i, 价格] = 3
    elif sumprice_list[i] >= 20 and sumprice_list[i] < 30:
        test_data.loc[i, 价格] = 3
    elif sumprice_list[i] >= 30 and sumprice_list[i] < 40:
        test_data.loc[i, 价格] = 4
    elif sumprice_list[i] >= 40 and sumprice_list[i] < 50:
        test_data.loc[i, 价格] = 5
    elif sumprice_list[i] >= 50 and sumprice_list[i] < 60:
        test_data.loc[i, 价格] = 6
    elif sumprice_list[i] >= 60 and sumprice_list[i] < 100:
        test_data.loc[i, 价格] = 7
test_data[价格] = test_data.loc[:, 价格].astype(int)

x_train, x_test, y_train, y_test = train_test_split(x.values, y.values, test_size=0.2)
linear = LinearRegression()  # 构建模型
linear.fit(x_train, y_train)  # 训练模型
pre = linear.predict(x_test).astype(int)
print(回归模型准确率:, linear.score(x_test, y_test))
print(分类报告
, classification_report(y_test, pre))
# 可视化
plt.figure(figsize=(15, 5))
plt.plot(y_test, color="r", label="真实值")
plt.plot(pre, color="g", label="预测值")
plt.legend()
plt.title("线性回归预测结果")

 

5.线性回归算法(代码片段)

...可以配上图片,以及说明该知识点的重要性(1)什么是线性回归算法回归:人们在测量事物的时候因为客观条件所限,求得的都是测量值,而不是事物真实的值,为了能够得到真实值,无限次的进行测量,最后通过这些测量数... 查看详情

回归-线性回归算法(房价预测项目)(代码片段)

...录简介损失函数优化算法正规方程梯度下降项目实战简介线性回归(LinearRegression)是回归任务中最常见的算法,利用回归方程对自变量和因变量进行建模,且因变量和自变量之间是线性关系而得名,从而可以... 查看详情

回归-线性回归算法(房价预测项目)(代码片段)

...录简介损失函数优化算法正规方程梯度下降项目实战简介线性回归(LinearRegression)是回归任务中最常见的算法,利用回归方程对自变量和因变量进行建模,且因变量和自变量之间是线性关系而得名,从而可以... 查看详情

史诗级干货长文线性回归算法(代码片段)

线性回归算法前言1.线性回归简介1.1线性回归应用场景1.2什么是线性回归1.2.1定义与公式1.2.2线性回归的特征与目标的关系分析2.线性回归API初步使用2.1线性回归API2.2举例2.2.1步骤分析2.2.2代码过程3.数学:求导3.1常见函数的导数3.2导... 查看详情

机器学习模型和算法(代码片段)

文章目录python简介python基本语法监督学习--回归模型线性回归模型一元线性回归线性回归最小二乘代码实现多元线性回归梯度下降法和最小二乘法相比线性回归梯度下降代码实现非线性回归python简介略python基本语法文件开头加上#... 查看详情

机器学习-线性回归(代码片段)

线性回归简介:之前的文章中介绍过一种回归算法,梯度下降算法,这里再看看另外一个回归算法,线性回归,主要的内容包括简单的线性回归和局部加权回归算法。在回归里面需要考虑的问题就是,我如... 查看详情

机器学习之线性回归岭回归lasso回归(代码片段)

...标称型数据,而回归的目标变量是连续型数据,主要包括线性回归,岭回归,lasso回归,前向逐步回归。2、线性回归线性回归主要用于处理线性数据,结果易于理解,计算复杂度不高,但是处理不了非线性数据。线性回归用最适... 查看详情

机器学习一般线性回归(代码片段)

...类回归模型,之前总结了逻辑回归模型,这里总结一下"线性回归"模型。 0.概述线性回归应该是我们听过次数最多的机器学习算法了。在一般的统计学教科书中,最后都会提到这种方法。因此该算法也算是架起了数理统计与... 查看详情

aiot(人工智能+物联网)知识总结+实战项目(代码片段)

...块Pandas1.4数据可视化模块2.算法数学基础2.1微积分基础2.2线性代数基础2.3多元函数微分学2.4线性代数高级2.5概率论2.6最优化3.线性回归算法3.1多元线性回归3.2梯度下降法3.3归一化3.4正则化3.5Lasso回归、Ridge回归、多项式回归4.线性... 查看详情

机器学习-线性回归算法(房价预测项目)(代码片段)

...默,忍不住分享一下给大家。点击跳转到网站。简介线性回归(LinearRegression)是回归任务中最常见的算法,利用回归方程对自变量和因变量进行建模,且因变量和自变量之间是线性关系而得名&# 查看详情

机器学习sklearn监督学习回归算法线性回归linearregression(代码片段)

importnumpyasnpimportmatplotlib.pyplotaspltfromsklearnimportlinear_model#设置中文字体plt.rcParams['font.sans-serif']='SimHei'plt.rcParams['axes.unicode_minus']=False#设置自变量和因变 查看详情

通俗得说线性回归算法线性回归实战(代码片段)

前情提要:通俗得说线性回归算法(一)线性回归初步介绍一.sklearn线性回归详解1.1线性回归参数介绍完线性回归,那么我们来看看如何运用sklearn来调用线性回归模型,进行训练和预测。defLinearRegression(fit_intercept=True,normalize=False... 查看详情

机器学习回归算法-精讲(代码片段)

回归算法回归算法线性回归和非线性回归:线性回归线性回归方程:损失函数:损失函数推理过程:公式转换:误差公式:转化为`θ`求解:似然函数求`θ`:对数似然:损失函数࿱... 查看详情

5.线性回归算法

...及说明该知识点的重要性(1)回归与分类的区别 (2)线性回归的应用 ①房价预测②贷款额度预测③销售额预测④面积与房价的关系(3)矩阵的乘积运算(4)线性回归关系模型  (5)损失函数  可以计算误差... 查看详情

机器学习sklearn(78):算法实例(三十五)回归线性回归大家族多重共线性:岭回归与lassolasso(代码片段)

3Lasso3.1Lasso与多重共线性      3.2Lasso的核心作用:特征选择  importnumpyasnpimportpandasaspdfromsklearn.linear_modelimportRidge,LinearRegression,Lassofromsklearn.model_selecti 查看详情

探索五大机器学习技术及其应用(代码片段)

...以及使每个算法更适合特定任务的注意事项。这将包括对线性回归、逻辑回归、随机森林、XGBoost和K-means的简要介绍。对于每种算法,我将介绍以下内容:基本原理。示例代码。应该什么时候使用。优点和缺点。文章目录... 查看详情

用python实现岭回归算法与lasso回归算法并处理iris数据集(代码片段)

在介绍岭回归算法与Lasso回归算法之前,先要回顾一下线性回归算法。根据线性回归模型的参数估计公式可知可知,得到的前提是矩阵可逆。换句话说就是样本各个特征(自变量)之间线性无关。然而在实际问题中,常常会出现... 查看详情

r语言-岭回归及lasso算法(代码片段)

前文我们讲到线性回归建模会有共线性的问题,岭回归和lasso算法都能一定程度上消除共线性问题。岭回归>#########正则化方法消除共线性>###岭回归>###glmnet只能处理矩阵>library(glmnet)>library(mice)>creditcard_exp<-creditcard_... 查看详情