線性回歸

線性回歸是機(jī)器學(xué)習(xí)中最簡單的算法祟偷,這篇文章我們將探索這一算法寄猩,并用pyton來實(shí)現(xiàn)它甥材。

??分類:簡單線性回歸&多元線性回歸

簡單線性回歸

模型表示:

  • one input variable - X(自變量) and one output variable - Y(因變量)
  • 我們希望在這些變量之間建立一個(gè)線性關(guān)系岭洲。我們定義的線性關(guān)系如下: Y=β0+β1*X
    該β 1被稱為比例系數(shù),β0被稱為偏差(權(quán)重)系數(shù)遵蚜。偏差系數(shù)為這個(gè)模型提供了額外的自由度苦始。
  • 我們的目的是確定這些系數(shù)的值并通過python提供的matplot庫顯示出擬合圖像寞钥。

模型的代碼實(shí)現(xiàn):

import pandas as pd
import matplotlib.pyplot as plt
plt.rcParams['figure.figsize'] = (20.0,10.0)

data = pd.read_csv('headbrain.csv')
#print(data.shape)
#print(data.head())

#Collecting X and Y
X = data['Head Size(cm^3)'].values
Y = data['Brain Weight(grams)'].values

#Mean X and Y
mean_x = np.mean(X)
mean_y = np.mean(Y)

m = len(X)

number = 0
denom = 0
for i in range(m):
    number += (X[i]-mean_x)*(Y[i]-mean_y)
    denom += (X[i]-mean_x)**2
b1 = number / denom
b0 = mean_y - (b1*mean_x)
print(b1,b0)

max_x = np.max(X) + 100
min_x = np.min(X) - 100

x = np.linspace(min_x,max_x,1000)
y = b0 + b1*x

plt.plot(x,y,color='#58b907',label='Regression line')
plt.scatter(X,Y,c='#ef5432', label='Scatter Plot')

plt.xlabel('Head Size in cm3')
plt.ylabel('Brain Weight in gram')
plt.legend()
plt.show()

代碼經(jīng)過測試可運(yùn)行

對(duì)模型評(píng)估

方法有:均方根誤差,測定系數(shù)法

均方根誤差:
RMSE

其中^Yi表示預(yù)測的輸出值陌选。

  • 代碼實(shí)現(xiàn):
# RMSE to evaluate models:
rmse = 0
for i in range(m):
    y_pred = b0 + b1 * X[i]
    rmse += (Y[i] - y_pred) ** 2
rmse = np.sqrt(rmse/m)
print(rmse)
系數(shù)測定(R^2 Score):
R^2 Score
#Coefficient of Determination(R^2 Score):
ss_t = 0
ss_r = 0
for i in range(m):
    y_pred = b0 + b1 * X[i]
    ss_t += (Y[i] - mean_y) ** 2
    ss_r += (Y[i] - y_pred) ** 2
r2 = 1 - (ss_r / ss_t)
print(r2)
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末理郑,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子咨油,更是在濱河造成了極大的恐慌您炉,老刑警劉巖,帶你破解...
    沈念sama閱讀 210,914評(píng)論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件役电,死亡現(xiàn)場離奇詭異赚爵,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)法瑟,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 89,935評(píng)論 2 383
  • 文/潘曉璐 我一進(jìn)店門冀膝,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人霎挟,你說我怎么就攤上這事窝剖。” “怎么了酥夭?”我有些...
    開封第一講書人閱讀 156,531評(píng)論 0 345
  • 文/不壞的土叔 我叫張陵赐纱,是天一觀的道長。 經(jīng)常有香客問我熬北,道長疙描,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,309評(píng)論 1 282
  • 正文 為了忘掉前任讶隐,我火速辦了婚禮起胰,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘整份。我一直安慰自己待错,他們只是感情好籽孙,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,381評(píng)論 5 384
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著火俄,像睡著了一般犯建。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上瓜客,一...
    開封第一講書人閱讀 49,730評(píng)論 1 289
  • 那天适瓦,我揣著相機(jī)與錄音,去河邊找鬼谱仪。 笑死玻熙,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的疯攒。 我是一名探鬼主播嗦随,決...
    沈念sama閱讀 38,882評(píng)論 3 404
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼敬尺!你這毒婦竟也來了枚尼?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,643評(píng)論 0 266
  • 序言:老撾萬榮一對(duì)情侶失蹤砂吞,失蹤者是張志新(化名)和其女友劉穎署恍,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體蜻直,經(jīng)...
    沈念sama閱讀 44,095評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡盯质,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,448評(píng)論 2 325
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了概而。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片呼巷。...
    茶點(diǎn)故事閱讀 38,566評(píng)論 1 339
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖赎瑰,靈堂內(nèi)的尸體忽然破棺而出朵逝,到底是詐尸還是另有隱情,我是刑警寧澤乡范,帶...
    沈念sama閱讀 34,253評(píng)論 4 328
  • 正文 年R本政府宣布,位于F島的核電站啤咽,受9級(jí)特大地震影響晋辆,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜宇整,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,829評(píng)論 3 312
  • 文/蒙蒙 一瓶佳、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧鳞青,春花似錦霸饲、人聲如沸为朋。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,715評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽习寸。三九已至,卻和暖如春傻工,著一層夾襖步出監(jiān)牢的瞬間霞溪,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,945評(píng)論 1 264
  • 我被黑心中介騙來泰國打工中捆, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留鸯匹,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 46,248評(píng)論 2 360
  • 正文 我出身青樓泄伪,卻偏偏與公主長得像殴蓬,于是被迫代替她去往敵國和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子蟋滴,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,440評(píng)論 2 348

推薦閱讀更多精彩內(nèi)容