python一元线性回归绘制_简单一元线性回归实现python
简单一元线性回归实现python
简单一元线性回归实现python
简单一元线性回归实现python
#线性回归梯度下降
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import matplotlib
import seaborn as sns
import datetimefrom sklearn.linear_model
importLinearRegression
matplotlib.rcParams['font.family']='kaiti'
df=pd.read_csv('C:/Users/韭菜盒子/Desktop/Salary_Data.csv',delimiter=',',encoding='utf-8'
x_data=df.iloc[:,0].values
#print(x_data)
x_data=pd.DataFrame(x_data)
x_data=x_data.values
y_data=df.iloc[:,1].values
# print(y_data)
y_data=pd.DataFrame(y_data)y_data=y_data.values
# plt.scatter(x_data,y_data,)
# plt.show()
k=0
#参数
b=0
#参数
lr=0.001
#学习率
epochs=10000
#迭代次数
class lineral_model1(object):
#手写
m=float(len(x_data))
def loss_function(self,x_data,y_data,k,b):
error=0
for i in range(len(x_data)):
error+=(((k*x_data[i])+b)-y_data[i])**2
return error/2.0/self.m
#损失函数
#梯度下降法求参数
def gradient_decent(self,x_data,y_data,k,b,epochs,lr):
for i in range(epochs):
k_brad=0
b_brad=0
for j in range(len(x_data)):
k_brad += (1/self.m)* x_data[j]*(((k *x_data[j])+b)-y_data[j])
b_brad +=(1/self.m) * (((k*x_data[j])+b)-y_data[j])
k=k-lr*k_brad
b=b-lr*b_brad
return k,b
benben=lineral_model1()
error1=benben.loss_function(x_data,y_data,k,b)
print(error1)
#k,b为0 时的损失函数值
k1,r1=benben.gradient_decent(x_data,y_data,k,b,epochs,lr)
#print(k1,r1)
plt.plot(x_data,y_data,'b.')
plt.plot(x_data,k1*x_data+r1,'r',label='me')
error2=benben.loss_function(x_data,y_data,k1,r1)
#调用进行梯度下降后的k,b,求得此时损失函数的值
#直接掉包实现
#sklearn
model=LinearRegression()
model.fit(x_data,y_data)
plt.plot(x_data,model.predict(x_data),'b',label='sklearn')
plt.legend()
plt.show()
简单一元线性回归实现python相关教程
python一元线性回归绘制_简单一元线性回归实现python相关推荐
- python金字塔图绘制_如何用R或Python绘制3d(4变量)三元(金字塔)图?
嗯,我自己用了wikipedia article.SO post和一些蛮力解决了这个问题.对不起,代码墙,但你必须画出所有的绘图轮廓和标签等等.在import numpy as np import m ...
- python新手入门教程思路-Python新手入门教程_教你怎么用Python做数据分析
Python新手入门教程_教你怎么用Python做数据分析 跟大家讲了这么多期的Python教程,有小伙伴在学Python新手教程的时候说学Python比较复杂的地方就是资料太多了,比较复杂.很多网上 ...
- 一般线性模型和线性回归模型_您的线性回归模型指南
一般线性模型和线性回归模型 Interpretability is one of the biggest challenges in machine learning. A model has mor ...
- python基本图形绘制_【Python】Python基本图形绘制-Go语言中文社区
1.Python蟒蛇图形绘制: 代码: #PythonDraw.py import turtle turtle.setup(650, 350, 200, 200) turtle.penup() tur ...
- python中len用法_简单介绍Python中的len()函数的使用
简单介绍Python中的len()函数的使用 函数:len() 1:作用:返回字符串.列表.字典.元组等长度 2:语法:len(str) 3:参数:str:要计算的字符串.列表.字典.元组等 4:返回 ...
- python态密度曲线绘制_使用Multiwfn绘制态密度(DOS)图考察电子结构
使用Multiwfn绘制态密度(DOS)图考察电子结构 文/Sobereva@北京科音 First release: 2019-May-14 Last update: 2020-Nov-17 0 前 ...
- python中输入字符串_简单讲解Python中的字符串与字符串的输入输出
简单讲解Python中的字符串与字符串的输入输出 发布于 2016-03-26 14:35:42 | 110 次阅读 | 评论: 0 | 来源: 网友投递 Python编程语言Python 是一种面向 ...
- python画指数函数图像_「指数函数图像」python画出e指数函数的图像 - seo实验室...
指数函数图像 这里用Python逼近函数y = exp(x);同样使用泰勒函数去逼近: exp(x) = 1 + x + (x)^2/(2!) + .. + (x)^n/(n!) + ...#!/us ...
- python数据分析模块包括_数据开发必会 | Python数据分析模块
作为数据开发,Python强大的数据分析模块还是必须要会的,横向拓展数据分析与挖掘技术栈也是很有必要的.本文将对Pandas.NumPy.SciPy.Matplotlib等分析挖掘库的安装和使用进行简 ...
最新文章
- 5G+AI:影响未来的新趋势
- 战略资产配置matlab,资产组合有效前沿的解和最优解(MATLAB语言)
- 基本概念之运算符与表达式
- SAP PP模块调研问卷
- centos 6.5 rpm mysql_Linux平台(CentOS 6.5) RPM包方式安装 Mysql 5.7
- python和excell_Python与Excel 不得不说的事情
- NHibernate Profiler使用方法
- 【声辐射】——不同坐标系下的格林函数
- 51nod 1292 字符串中的最大值V2(后缀自动机)
- 一文读懂架构师都不知道的isinstance检查机制
- P2515 [HAOI2010]软件安装
- linux之curl命令
- 5类6类7类网线对比_超详细的超五类、六类、七类网线的对比
- java 单击按钮改变背景颜色_java点击按钮换背景颜色?
- 光电反射传感器 红外对管模块
- EDK2 Build Flow
- [虚拟机]hyper-v简介及安装使用(图文详解)
- 送给 xdm 的 10 个 web 在线前端资源,优雅永不过时~
- windows用python读取文件open()函数
- 一心多用多线程-线程池ThreadPoolExecutor-看这篇就够了