资源简介

利用正规方程矩阵求导进行最小二乘,求得最佳拟合直线。

资源截图

代码片段和文件信息

# -*- coding: utf-8 -*-
“““
Created on Thu May  3 16:59:16 2018

@author: FZ
“““
import matplotlib.pyplot as plt
import numpy as np
import linear_regression

xArryArr = linear_regression.loadDataSet(‘ex0.txt‘) #得到特征矩阵 以及对应的目标矩阵

ws = linear_regression.standRegres(xArryArr) #得到回归系数

#ouput : y = ws[0] + ws[1]*x
#drawing

xMat = np.mat(xArr)
yMat = np.mat(yArr)
yHat = xMat*ws      #prediction value

fig = plt.figure()
ax = fig.add_subplot(111)
ax.scatter(xMat[:1].flatten().A[0]yMat.T[:0].flatten().A[0]color=‘k‘)

xCopy = xMat.copy()
xCopy.sort(0) #升序防止次序混乱
yCHat = xCopy*ws

ax.plot(xCopy[:1]yCHatcolor=‘k‘)

plt.savefig(‘linear_fitting.png‘dpi=400)

#判断拟合好坏,算相关系数

correlation_coefficient = np.corrcoef(yHat.TyMat)
#1 0.986474
#0.986474 1 模型拟合度 好

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2018-05-03 17:56  8.1_linear_regression\__pycache__\
     文件         977  2018-05-03 17:56  8.1_linear_regression\__pycache__\linear_regression.cpython-36.pyc
     文件         970  2018-05-03 17:31  8.1_linear_regression\__pycache__\regression.cpython-36.pyc
     文件         895  2018-05-04 10:23  8.1_linear_regression\do_linear_regerssion.py
     文件        5600  2011-01-08 10:02  8.1_linear_regression\ex0.txt
     文件      124431  2018-05-04 10:23  8.1_linear_regression\linear_fitting.png
     文件        1063  2018-05-03 17:56  8.1_linear_regression\linear_regression.py

评论

共有 条评论