栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

正则方程(机器学习)

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

正则方程(机器学习)

#导库
import numpy as np
import matplotlib.pyplot as plt
%matplotlib inline
#plt.rcParams['font.sans-serif'] = ['SimHei']     显示中文
plt.rcParams['axes.unicode_minus'] = False       #显示负号

#数据集
X=[1.5,0.8,2.6,1.0,0.6,2.8,1.2,0.9,0.4,1.3,1.2,2.0,1.6,1.8,2.2]
y=[3.1,1.9,4.2,2.3,1.6,4.9,2.8,2.1,1.4,2.4,2.4,3.8,3.0,3.4,4.0]

#数据初始化
X = np.c_[np.ones(len(X)),X]
y = np.c_[y]

#初始化θ
theta = np.zeros((2,1))

#正规方程的代码表示    !!!!重点!!!!
theta = np.linalg.inv(X.T.dot(X)).dot(X.T.dot(y))

#可视化展示 画图
plt.figure('Scatter plot')
plt.title('Scatter plot')
plt.scatter(X[:,1],y,c='r',marker='*',label='Sample point')
plt.xlabel('X')
plt.ylabel('y')

theta0 = theta[0]
theta1 = theta[1]

#画回归方程
min_x,max_x = np.min(X),np.max(X)
min_y = theta1*min_x + theta0
max_y = theta1*max_x + theta0
plt.plot((min_x,max_x),(min_y,max_y),c='g')

plt.legend()
plt.show()


#导库 import numpy as np import matplotlib.pyplot as plt %matplotlib inline #plt.rcParams[‘font.sans-serif’] = [‘SimHei’] 显示中文 plt.rcParams[‘axes.unicode_minus’] = False #显示负号

#数据集 X=[1.5,0.8,2.6,1.0,0.6,2.8,1.2,0.9,0.4,1.3,1.2,2.0,1.6,1.8,2.2] y=[3.1,1.9,4.2,2.3,1.6,4.9,2.8,2.1,1.4,2.4,2.4,3.8,3.0,3.4,4.0]

#数据初始化 X = np.c_[np.ones(len(X)),X] y = np.c_[y]

#初始化θ theta = np.zeros((2,1))

#正规方程的代码表示 !!!!重点!!!! theta = np.linalg.inv(X.T.dot(X)).dot(X.T.dot(y))

#可视化展示 画图 plt.figure(‘Scatter plot’) plt.title(‘Scatter plot’) plt.scatter(X[:,1],y,c=‘r’,marker=’*’,label=‘Sample point’) plt.xlabel(‘X’) plt.ylabel(‘y’)

theta0 = theta[0] theta1 = theta[1]

#画回归方程 min_x,max_x = np.min(X),np.max(X) min_y = theta1min_x + theta0 max_y = theta1max_x + theta0 plt.plot((min_x,max_x),(min_y,max_y),c=‘g’)

plt.legend() plt.show()

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/275669.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号