機器學習 6 單變數線性回歸的學習

2021-10-03 09:42:47 字數 2460 閱讀 9023

單變數從統計學的角度為僅有乙個自變數和乙個因變數,從機器學習的角度為僅有乙個特徵變數和乙個目標變數。

使用最小二乘法求得一元線性函式的係數和截距項。

評價指標有平均絕對值差(mae)、均方誤差(mse,與成本函式比較相近)、均方根誤差(rmse)、擬合優度(

以波士頓房屋**的擬合與**為例,簡要說明單變數線性回歸的使用:

# -*- coding: utf-8 -*

# 以波士頓房屋**為例演示單變數線性回歸

import matplotlib.pyplot as plt

import numpy as np

import pandas as pd

from sklearn.datasets import load_boston

from sklearn.model_selection import train_test_split

from sklearn.linear_model import linearregression

from sklearn import metrics # 評價模組

def main():

boston = load_boston() # 讀取資料

print(boston.keys()) # 資料中包含的內容

print(boston.feature_names) # data變數名

bos = pd.dataframe(boston.data) # 將data資料轉換為dataframe格式以便展示

print(bos[5].head()) # 第6列資料為rm(房間數量)

bos_target = pd.dataframe(boston.target) # medv(房價)

print(bos_target.head())

# 散點圖顯示

x = bos.iloc[:, 5:6]

y = bos_target

plt.scatter(x, y)

plt.grid(true)

plt.xlabel('rm')

plt.ylabel('medv')

plt.title('the relationship between rm and medv')

plt.show()

# 轉成陣列形式,便於計算

x = np.array(x.values)

y = np.array(y.values)

print(x)

print(y)

# 劃分訓練集和測試集

x_train, x_test, y_train, y_test = train_test_split(x, y, test_size=0.25)

print(x_train.shape)

print(x_test.shape)

print(y_train.shape)

print(y_test.shape)

# 訓練,列印截距和係數

lr = linearregression()

lr.fit(x_train, y_train)

print(lr.intercept_)

print(lr.coef_)

# 使用模型進行**

y_pred = lr.predict(x_test)

# 模型評價,作圖

t = np.arange(len(x_test))

plt.plot(t, y_test, color='red', linewidth=1.0, linestyle='-', label='y_test')

plt.plot(t, y_pred, color='green', linewidth=1.0, linestyle='-', label='y_pred')

plt.legend()

plt.grid(true)

plt.show()

# 模型評價,指標計算

r2 = lr.score(x_test, y_test)

mae = metrics.mean_absolute_error(y_test, y_pred)

mse = metrics.mean_squared_error(y_test, y_pred)

rmse = np.sqrt(mse)

print('r2 = ', r2)

print('mae = ', mae)

print('mse = ', mse)

print('rmse = ', rmse)

if __name__ == '__main__':

main()

原始資料散點圖和**效果如下:

機器學習 單變數線性回歸

1.模型描述 1 常見的字元的意義 2 乙個監督學習演算法的工作方式 2.代價函式 1 什麼是代價函式 平方誤差函式 目標函式 我在網上找了很長時間代價函式的定義,但是準確定義並沒有,我理解的代價函式就是用於找到最優解的目的函式,這也是代價函式的作用。注意 上面的代價函式是二變數的,事實上代價函式可...

機器學習 單變數線性回歸

你有乙個10000平方英呎的房子,現在要進行轉買,能賣多少錢呢?單變數線性回歸,顧名思義是乙個變數對結果產生的影響,例如上題房屋面積對房屋 的影響 回歸是統計學的乙個重要概念,其本意是根據之前的資料 乙個準確的輸出值,解題思路如下 1 定義乙個模型 h x 0 1x,並初始化 0 1的值就會產生乙個...

機器學習 單變數線性回歸

給定房屋面積和房屋 的資料,然後以房屋面積為橫座標,房屋 為縱座標,繪製資料點。通過繪製曲線,獲得房屋房價的模型,根據房屋面積獲得房屋 這就是乙個regression problem 回歸問題 regression指的是根據之前的資料 出乙個準確的輸出值,即predict real valued o...