資料集:
特徵:age 年齡
*** 性別
bmi 體質指數
bp 血壓
s1,s2,s3,s4,s4,s6 六種血清的化驗資料
標籤:value 一年後疾病進展的量化指標
一、載入庫
import numpy as np
import pandas as pd
from sklearn import datasets
from sklearn.linear_model import linearregression
from sklearn.model_selection import train_test_split
from sklearn.metrics import mean_squared_error, r2_score
import matplotlib as mpl
import matplotlib.pyplot as plt
# 設定字型為黑體,以支援中文顯示。
mpl.rcparams["font.family"] = "simhei"
# 設定在中文字型時,能夠正常的顯示負號(-)。
mpl.rcparams["axes.unicode_minus"] = false
二、資料預處理
# 載入資料集
data = pd.read_csv(r"diabetes.csv",header=0)
#data.sample(30)
#data.info()
# 檢視是否含有異常值
#data.describe()
# 檢查是否包含重複值
#data.duplicated().any()
# 如果有重複值,可以這樣去除重複值
# data.drop_duplicates(inplace=true)
三、呼叫方法
# 將載入的資料集分為特徵x與標籤y。
x, y = data.iloc[:, :-1], data.iloc[:, -1]
#通過train_test_splil將資料分為訓練集、測試集,測試集佔0.25的比例
train_x, test_x, train_y, test_y = train_test_split(x, y, test_size=0.25, random_state=0)
#display(len(train_y))
#display(len(test_y))
#例項化線性回歸模型
lr=linearregression()
#訓練模型
lr.fit(train_x,train_y)
#傳入測試集進行測試
result=lr.predict(test_x)
#對模型進行評估
display(result)
display(test_y.values)
# 均方誤差
print("mean squared error: %.2f" % mean_squared_error(test_y, result))
# 方差分數: 1代表完美**
print('variance score: %.2f' % r2_score(test_y, result))
四、結果視覺化
plt.figure(figsize=(15, 10))
# 繪製**值
plt.plot(result, "ro-", label="**值")
# 繪製真實值
plt.plot(test_y.values, "go--", label="真實值")
plt.title("線性回歸**-最小二乘")
plt.xlabel("樣本序號")
plt.ylabel("一年後疾病值")
plt.legend(loc="best")
plt.show()
sklearn 最小二乘線性回歸
sklearn是機器學習中的乙個常用的python第三方模組,裡面對機器學習的許多方法進行了封裝,在進行機器學習的任務時,許多常用的演算法可在這個模組中直接呼叫。並且sklearn中還提供了許多可用於分類 回歸的優質資料集。使用好sklearn最直接的方法就是仔細閱讀官方 sklearn就像是乙個模...
線性回歸 最小二乘求解
線性回歸 線性回歸用於數值 它的主要思想是利用預定的權值將屬性進行線性組合來表示類別 y w0 w1x1 w2x2 wnxn 其中,y是類別屬性值,x1,x2,xn是一般屬性值,w1,w2,xn是權值,w0稱為偏置,類似於一元線性回歸y ax b中b。求解線性回歸就是通過已知的一些資料點 1,xi1...
線性回歸之普通最小二乘
from sklearn import linear model reg linear model.linearregression print reg.fit 0,0 1,1 2,2 0,1,2 linearregression copy x true,fit intercept true,n j...