機器學習 建立線性回歸器

2021-08-15 04:35:44 字數 1861 閱讀 3831

#開啟檔案,獲取資料

import sys

import numpy as np

from sklearn.linear_model import linearregression

import sklearn.metrics as sm

import matplotlib.pyplot as plt

x =

y =

f = open('e:\machinelearning\codebook\data_singlevar.txt', 'r')#開啟檔案

lines = f.readlines() #一次性按行把所有資料讀取出來

for line in lines: #逐行讀取檔案

#print(line) #列印一行資料

xt, yt = [float(i) for i in line.split(',')]#逗號分隔字段,並將字段轉化為浮點數

#劃分資料為訓練集與驗證集

num_training = int(0.8*len(x))

num_test = len(x) - num_training

#訓練資料,80%的資料是訓練資料

x_train = np.array(x[:num_training]).reshape(num_training, 1)

y_train = np.array(y[:num_training])

#測試資料,20%的資料是測試資料

x_test = np.array(x[num_training:]).reshape(num_test, 1)

y_test = np.array(y[num_training:])

#訓練模型

linear_regressor = linearregression()

linear_regressor.fit(x_train, y_train)

y_predict = linear_regressor.predict(x_train)

y_test_predict = linear_regressor.predict(x_test)

print('the score of linearregressor is:',linear_regressor.score(x_test, y_test))

#繪圖plt.figure()

plt.scatter(x_train, y_train, color = 'green')

plt.plot(x_train, y_predict, color = 'black', linewidth = 4)

plt.title('traning data')

plt.show()

plt.scatter(x_test, y_test, color = 'green')

plt.plot(x_test, y_test_predict, color = 'black', linewidth = 4)

plt.title('test data')

plt.show()

#計算回歸準確性

print('mean absolute error = ', round(sm.mean_absolute_error(y_test, y_test_predict)), 2)

print('mean squared error = ', round(sm.mean_squared_error(y_test, y_test_predict)), 2)

print('median absolute error = ', round(sm.median_absolute_error(y_test, y_test_predict)), 2)

機器學習 線性回歸

可以說基本上是機器學習中最簡單的模型了,但是實際上其地位很重要 計算簡單 效果不錯,在很多其他演算法中也可以看到用lr作為一部分 先來看乙個小例子,給乙個 線性回歸是什麼 的概念。圖來自 2 假設有乙個房屋銷售的資料如下 面積 m 2 銷售價錢 萬元 123 250 150 320 87 160 1...

機器學習(線性回歸)

在機器學習中,回歸 分類和標註共同構成了監督學習技術。監督學習 supervised learning 是機器學習在工業界應用最廣的乙個領域分支。在學術界中也是研究最多的領域之一。大家都知道的資料探勘十大經典演算法中,監督學習技術佔據6席。方法 自變數 特徵 因變數 結果 關係 回歸演算法是試圖採用...

機器學習 線性回歸

line fitter linearregression 建立模型 line fitter.fit temperature,sales 傳入引數 sales predict line fitter.predict temperature 模型 直線 直線上會有loss 計算loss時 要使用平方距離...