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