描述
在多項式回歸的基礎上,為了防止過擬合現象, 在損失函式中加入l1正則項(係數絕對值的和乘以alpha), 防止係數過大. 提高模型泛化能力.
超引數為最高項次數和alpha
alpha過大得到水平直線
alpha過小會得到過擬合曲線
會趨向使一些係數為0
非線性回歸, 可用於特徵選擇
介面
import numpy as np
from sklearn.linear_model import ridge, lasso
from sklearn.metrics import mean_squared_error
from sklearn.model_selection import train_test_split
from sklearn.pipeline import pipeline
from sklearn.preprocessing import polynomialfeatures
from sklearn.preprocessing import standardscaler
def lassoregressdion(degree=2, alpha=0.1):
"""拉索回歸模型的封裝
:param degree: 最高次冪
:param alpha: 正則項係數
:return: 拉索回歸的模型
"""lasso = pipeline([
('poly', polynomialfeatures(degree=degree, include_bias=true, interaction_only=false)),
('ss', standardscaler()),
('lasso', lasso(alpha=alpha))
])return lasso
if __name__ == '__main__':
x = np.random.uniform(-3, 3, size=100)
y = 0.5 * x ** 2 + 2 + np.random.normal(0, 1, 100)
x = x.reshape(-1, 1)
x_train, x_test, y_train, y_test = train_test_split(x, y)
lasso = ridgeregressdion(degree=10, alpha=0.01)
lasso.fit(x_train, y_train)
y_test_predict = lasso.predict(x_test)
err = mean_squared_error(y_test, y_test_predict)
print(err)
風火程式設計 機器學習之隨機森林
描述 整合大量的決策樹模型的整合學習演算法.每棵樹的訓練樣本隨機,樹的 切分 隨機,特徵選取隨機 適用於資料準確度要求高的場景.樹越多精準性越好.可以使用整合學習和決策樹的超引數.極其隨機森林的節點劃分使用隨機特徵,隨機閾值.不考慮資訊熵,隨機分割.高方差,低偏差.介面 隨機森林 randomfor...
Linux下學習python程式設計
一 環境選擇 在windows下習慣使用anaconda的環境,所以還是打算繼續使用他們。anaconda環境整合度高。三 安裝 將anaconda的安裝包複製到主資料夾裡 調出輸入終端 ctrl alt t 輸入命令 bash anaconda3 2.4.1 linux x86 64.sh 按en...
windows系統下學習shell 程式設計
很多公司的電腦,由於許可權等要求,不太容易裝雙系統。為什麼要裝雙系統呢,因為網際網路技術工種的基本工作要求,包含了對linux系統的搭建和使用。如果想使用linux系統,就必須要求會使用shell程式設計。那麼在windows環境下,怎麼來學習並使用shell程式設計呢,我們可以安裝git 不需要雙...