如何实现sklearn中的线性与非线性逻辑回归模型?
- 内容介绍
- 文章标签
- 相关推荐
本文共计684个文字,预计阅读时间需要3分钟。
线性回归+文本用代表代码实现如何利用sklearn进行线性回归计算的步骤,下面先来看看用到的数据。
这是有两行特征的 数据,然后第三行是数据的标签。
python首先导入包和加载数据import numpy as npfrom sklearn.linear_model import LinearRegression
假设数据如下:data=np.array([ [1, 2], [3, 4], [5, 6]])
分割特征和标签X=data[:, :-1]y=data[:, -1]
创建线性回归模型model=LinearRegression()
训练模型model.fit(X, y)
输出模型参数print(模型参数:, model.coef_, model.intercept_)
线性逻辑回归
本文用代码实现怎么利用sklearn来进行线性逻辑回归的计算,下面先来看看用到的数据。
这是有两行特征的数据,然后第三行是数据的标签。
python代码
首先导入包和载入数据
写一个画图的函数,把这些数据表示出来:
然后我们调用这个函数得到下面的图像:
接下来开始创建模型并拟合,然后调用sklearn里面的逻辑回归方法,里面的函数可以自动帮算出权值和偏置值,非常简单,接着画出图像。
最后我们可以来看看评估值:
可以看到,正确率、召回率、F1值都达到了95%。
非线性逻辑回归
非线性逻辑回归意味着决策边界是曲线,和线性逻辑回归的原理是差不多的,这里用到的数据是datasets自动生成的,
接下来要把数据进行多项式处理,简单地说就是增加数据的特征,
然后规定好图像的坐标值,并生成一个网格矩阵,
定义一个等高线的高,
结果一目了然,很好的分成了两类:
看一下准确率,98%,说明算比较成功,准确率很高。
线性逻辑回归和非线性逻辑回归用到的代价函数都是一样的,原理相同,只不过是预估函数的复杂度不一样,非线性逻辑回归要对数据进行多项式处理,增加数据的特征量。
到此这篇关于sklearn线性逻辑回归和非线性逻辑回归的实现的文章就介绍到这了,更多相关sklearn线性逻辑回归和非线性逻辑回归内容请搜索易盾网络以前的文章或继续浏览下面的相关文章希望大家以后多多支持易盾网络!
本文共计684个文字,预计阅读时间需要3分钟。
线性回归+文本用代表代码实现如何利用sklearn进行线性回归计算的步骤,下面先来看看用到的数据。
这是有两行特征的 数据,然后第三行是数据的标签。
python首先导入包和加载数据import numpy as npfrom sklearn.linear_model import LinearRegression
假设数据如下:data=np.array([ [1, 2], [3, 4], [5, 6]])
分割特征和标签X=data[:, :-1]y=data[:, -1]
创建线性回归模型model=LinearRegression()
训练模型model.fit(X, y)
输出模型参数print(模型参数:, model.coef_, model.intercept_)
线性逻辑回归
本文用代码实现怎么利用sklearn来进行线性逻辑回归的计算,下面先来看看用到的数据。
这是有两行特征的数据,然后第三行是数据的标签。
python代码
首先导入包和载入数据
写一个画图的函数,把这些数据表示出来:
然后我们调用这个函数得到下面的图像:
接下来开始创建模型并拟合,然后调用sklearn里面的逻辑回归方法,里面的函数可以自动帮算出权值和偏置值,非常简单,接着画出图像。
最后我们可以来看看评估值:
可以看到,正确率、召回率、F1值都达到了95%。
非线性逻辑回归
非线性逻辑回归意味着决策边界是曲线,和线性逻辑回归的原理是差不多的,这里用到的数据是datasets自动生成的,
接下来要把数据进行多项式处理,简单地说就是增加数据的特征,
然后规定好图像的坐标值,并生成一个网格矩阵,
定义一个等高线的高,
结果一目了然,很好的分成了两类:
看一下准确率,98%,说明算比较成功,准确率很高。
线性逻辑回归和非线性逻辑回归用到的代价函数都是一样的,原理相同,只不过是预估函数的复杂度不一样,非线性逻辑回归要对数据进行多项式处理,增加数据的特征量。
到此这篇关于sklearn线性逻辑回归和非线性逻辑回归的实现的文章就介绍到这了,更多相关sklearn线性逻辑回归和非线性逻辑回归内容请搜索易盾网络以前的文章或继续浏览下面的相关文章希望大家以后多多支持易盾网络!

