多元線性回歸示例

2021-08-07 20:40:41 字數 1950 閱讀 3868

今天主要說一下,監督學習裡的多元線性回歸模型演算法的運用,下面就看一下這個例子:主要的例子來理解多元線性回歸,公式**相結合(參考斯坦福機器學習筆記):

import numpy as np

import matplotlib.pyplot as plt

'''訓練集+測試集'''

filetran=ccpp_train.txt'

filetest='ccpp_test.txt'

datatran=np.loadtxt(filetran,delimiter=',')

datatest=np.loadtxt(filetest,delimiter=',')

tranx=datatran[:,:4]

trannum=datatran.shape[0]

trany=datatran[:,-1].reshape(trannum,1)

testx=datatest[:,:4]

testnum=datatest.shape[0]

testy=datatest[:,-1].reshape(testnum,1)

tranmean=np.mean(tranx,0)

transig=np.std(tranx,0,ddof=1)

tranx-=np.tile(tranmean,(trannum,1))

tranx/=np.tile(transig,(trannum,1))

testx-=np.tile(tranmean,(testnum,1))

testx/=np.tile(transig,(testnum,1))

def costfunction(x,y,theta):

m=y.shape[0]

cost = np.sum((x.dot(theta)-y)**2)/(2*m)

return cost

tranx=np.hstack((np.ones((trannum,1)),tranx))

theta=np.array([1,1,1,1,1])

cost=costfunction(tranx,trany,theta)

print("tran is cost=",cost)

def desgident(x,y,theta,a=0.01,iter_num=1000):

m=y.shape[0]

result=

change=np.zeros(iter_num)

for i in range(iter_num):

cost=costfunction(x,y,theta)

change[i]=cost

deal=x.t.dot(x.dot(theta)-y)

theta-=(a/m)*deal

return result

theta=np.zeros((5,1))

result=desgident(tranx,trany,theta)

print("**的theta=",result[0].t)

trantheta=result[0]

testx=np.hstack((np.ones((testnum,1)),testx))

twovalue=testx.dot(trantheta)

difference=np.hstack((twovalue,testy,twovalue-testy))

print("**值-實際值-差值")

多元線性回歸分析示例

呼叫的回歸函式如下 function beta,stats,ynew,ylr regres2 x,y,xnew,pp beta stats ynew ylr n,p size x m p 1 if n 1 pp 0 enda ones size y x beta,btm1,rtm,rtm1,stat...

多元線性回歸

多元線性回歸的基本原理和基本計算過程與一元線性回歸相同,但由於自變數個數多,計算相當麻煩,一般在實際中應用時都要借助統計軟體。介紹多元線性回歸的一些基本問題。但由於各個自變數的單位可能不一樣,比如說乙個消費水平的關係式中,工資水平 受教育程度 職業 地區 家庭負擔等等因素都會影響到消費水平,而這些影...

多元線性回歸

from numpy import genfromtxt 用來讀取資料轉化為矩陣 from sklearn import linear model 含有回歸的模型 datapath r c users qaq desktop delivery dummy.csv 路徑 deliverydata ge...