線性回歸資料分析

2021-08-28 12:19:33 字數 3448 閱讀 5552

首先,什麼是回歸,  回歸分析研究的是多個變數之間的關係。它是一種**性的建模技術,它研究的是因變數(目標)和自變數(**器)之間的關係。這種技術通常用於**分析,時間序列模型以及發現變數之間的因果關係。

其次,回歸分析的好處比較多,主要有以下幾點:

(1)它表明自變數和因變數之間的顯著關係

(2)它表明多個自變數對乙個因變數的影響強度。

(3)允許我們去比較那些衡量不同尺度的變數之間的相互影響,如**變動與**活動數量之間聯絡

最後:3、回歸與擬合的區別

擬合的概念更廣泛,擬合包含回歸,還包含插值和逼近。擬合是一種資料處理的方式,不特指哪種方法.簡單的說就是你有一組資料,覺得這組資料和乙個已知的函式(這個函式的引數未定)很相似,為了得到最能表示這組資料特徵的這個函式,通過擬合這種方式(具體的數學方法很多)求得引數.而回歸是一種特定的數學方法,它可以實現資料擬合,得到函式的引數.也有些擬合得到的引數並非是函式的引數,如神經網路,得到的是這個神經網路的引數。

三大步:

一、準備資料,將得到的資料進行初步的處理,使得其滿足,下一步操作需要的型別

這一步可能會用到的操作就是標準化和歸一化處理,而這一操作在sklearn庫里介紹的很詳細,也很簡單,不做贅述

二、建立模型,進行資料集的訓練,通常也會分為訓練集和測試集兩種,訓練集就是通過不停地資料代入,不停地探索出最合理的直線,測試值就是對這條直線**效能的評判

三、新資料匯入,得出**結果。

機器學習其實就是計算機通過大量資料來模擬人腦的思考分析能力的體現,我們思考這些,是通過感性和理性的雙重認知得出結果,但是機器只能通過資料模擬我們理性認知的這部分,而機器學習的效能評分就是對機器的這種行為做出的評價,評分高的說明**的結果更偏向於真實,反之,說明**值和真實值之間差距較大。

線性回歸只是回歸裡最常見最基本的一種,主要用於離散的資料,表現出線性關係的時候運用比較有意義,當然其他的回歸模型也是能夠廣泛運用的,會根據資料的表現形式選擇合適的模型。

def boston_liner():

#獲取資料

lb=load_boston()

#分割資料集到訓練集和測試集

x_train,x_test,y_train,y_test=train_test_split(lb.data,lb.target,test_size=0.25)

#特徵值和目標值都必須進行標準化處理,例項兩個標準api

std_x=standardscaler()

x_train=std_x.fit_transform(x_train)

#用轉化訓練集的標準歸一化測試集

x_test=std_x.transform(x_test)

#目標值

std_y=standardscaler()

y_train=std_y.fit_transform(y_train.reshape(-1,1))

y_test=std_y.transform(y_test.reshape(-1,1))

#正規方程求解方式**結果

lr=linearregression()

lr.fit(x_train,y_train)

print(lr.coef_)

#儲存訓練好的模型

joblib.dump(lr,'./test.pkl')

print('orgin value;;;;;',std_y.inverse_transform(y_test[7]))

#**測試集的房子**

y_lr_predict=std_y.inverse_transform(lr.predict(x_test))

print('正規方程測試集裡面的每個房子的****',y_lr_predict)

print('正規方程r2評分',r2_score(std_y.inverse_transform(y_test),y_lr_predict))

boston_liner()

以上理解僅是個人見解,不到之處,歡迎指正!

回歸模型重要的基礎或者方法就是回歸分析,回歸分析是研究乙個變數(被解釋變數)關於另乙個(些)變數(解釋變數)的具體依賴關係的計算方法和理論, [2] 是建模和分析資料的重要工具。在這裡,我們使用曲線/線來擬合這些資料點,在這種方式下,從曲線或線到資料點的距離差異最小。下面是回歸分析的幾種常用方法 [3]

:1. linear regression線性回歸

它是最為人熟知的建模技術之一。線性回歸通常是人們在學習**模型時首選的技術之一。在這種技術中,因變數是連續的,自變數可以是連續的也可以是離散的,回歸線的性質是線性的。

線性回歸使用最佳的擬合直線(也就是回歸線)在因變數(y)和乙個或多個自變數(x)之間建立一種關係。

用乙個方程式來表示它,即

其中a表示截距,b表示直線的斜率,e是誤差項。這個方程可以根據給定的**變數(s)來**目標變數的值。

2.logistic regression邏輯回歸

邏輯回歸是用來計算「事件=success」和「事件=failure」的概率。當因變數的型別屬於二元(1 / 0,真/假,是/否)變數時,我們就應該使用邏輯回歸。這裡,y的值從0到1,它可以用下方程表示。

上述式子中,p表述具有某個特徵的概率。

3. polynomial regression多項式回歸

對於乙個回歸方程,如果自變數的指數大於1,那麼它就是多項式回歸方程。如下方程所示:

在這種回歸技術中,最佳擬合線不是直線。而是乙個用於擬合資料點的曲線。

4. stepwise regression逐步回歸

在處理多個自變數時,我們可以使用這種形式的回歸。在這種技術中,自變數的選擇是在乙個自動的過程中完成的,其中包括非人為操作。

這一壯舉是通過觀察統計的值,如r-square,t-stats和aic指標,來識別重要的變數。逐步回歸通過同時新增/刪除基於指定標準的協變數來擬合模型。下面列出了一些最常用的逐步回歸方法:

這種建模技術的目的是使用最少的**變數數來最大化**能力。這也是處理高維資料集的方法之一。

5. ridge regression嶺回歸

嶺回歸分析是一種用於存在多重共線性(自變數高度相關)資料的技術。在多重共線性情況下,儘管最小二乘法(ols)對每個變數很公平,但它們的差異很大,使得觀測值偏移並遠離真實值。嶺回歸通過給回歸估計上增加乙個偏差度,來降低標準誤差。

6. lasso regression套索回歸

它類似於嶺回歸,lasso (least absolute shrinkage and selection operator)也會懲罰回歸係數的絕對值大小。此外,它能夠減少變化程度並提高線性回歸模型的精度。看看下面的公式:

7.elasticnet回歸

elasticnet是lasso和ridge回歸技術的混合體。它使用l1來訓練並且l2優先作為正則化矩陣。當有多個相關的特徵時,elasticnet是很有用的。lasso 會隨機挑選他們其中的乙個,而elasticnet則會選擇兩個。

lasso和ridge之間的實際的優點是,它允許elasticnet繼承迴圈狀態下ridge的一些穩定性。

資料分析之線性回歸分析

一 回歸演算法 1 機器學習監督學習演算法分為分類演算法和回歸演算法 回歸演算法運用於連續型分布 針對的是數值型的樣本 2 回歸分析中包括因變數和自變數 3 回歸分析分為一元線性回歸分析和多元線性回歸分析 二 一元線性回歸 1 線性回歸,是利用數理統計中回歸分析,來確定兩種或兩種以上變數間相互依賴的...

Python資料分析 線性回歸

python資料分析學習筆記,今天分享下利用python對業務進行資料預處理,並利用線性回歸進行資料 壹 資料匯入 多人學習python,不知道從何學起。很多人學習python,掌握了基本語法過後,不知道在 尋找案例上手。很多已經做案例的人,卻不知道如何去學習更加高深的知識。qq群 10570343...

資料分析模型學習(一) 線性回歸

線性回歸是統計學中最基本的數學模型,它的基本數學表述為 y ax b y a x b,其中的 x x 自變數,在資料分析 機器學習 中被稱為特徵值 features y role presentation style position relative y y被稱為因變數,資料分析 機器學習 中被稱...