三個評價線性回歸演算法的標準MSE RMSE MAE

2021-08-28 17:59:58 字數 2205 閱讀 2432

在分類演算法中,我們首先將資料集分成訓練資料集和測試資料集,用訓練資料集去訓練我們的分類模型,用測試資料集的輸入特徵去**,將**的結果與測試資料集的真實結果對比,得出模型的準確率。

對於線性回歸演算法:

上面的衡量標準是與樣本數m有關的

對於均方誤差(mse)來說還有乙個量綱上的問題,改進後會得到均方根誤差(rmse)

以上就是三個評價線性回歸演算法的標準

mean_squared_error是均方誤差(mse)

mean_absolute_error是絕對值誤差(mae)

r平方模型衡量的是我們訓練出的模型對比y等於y的均值這個基準模型的效果是怎麼樣

使用sklearn提供的包

三個評價線性回歸標準的**實現

import numpy as np

from math import sqrt

def accuracy_score(y_true, y_predict):

"""計算y_true和y_predict之間的準確率"""

assert len(y_true) == len(y_predict), \

"the size of y_true must be equal to the size of y_predict"

return np.sum(y_true == y_predict) / len(y_true)

def mean_squared_error(y_true, y_predict):

"""計算y_true和y_predict之間的mse"""

assert len(y_true) == len(y_predict), \

"the size of y_true must be equal to the size of y_predict"

return np.sum((y_true - y_predict)**2) / len(y_true)

def root_mean_squared_error(y_true, y_predict):

"""計算y_true和y_predict之間的rmse"""

return sqrt(mean_squared_error(y_true, y_predict))

def mean_absolute_error(y_true, y_predict):

"""計算y_true和y_predict之間的mae"""

assert len(y_true) == len(y_predict), \

"the size of y_true must be equal to the size of y_predict"

return np.sum(np.absolute(y_true - y_predict)) / len(y_true)

def r2_score(y_true, y_predict):

"""計算y_true和y_predict之間的r square"""

return 1 - mean_squared_error(y_true, y_predict)/np.var(y_true)

O n 的三個排序演算法

今天覆習下最簡單的三個排序演算法,乙個是選擇排序,乙個是插入排序,乙個是氣泡排序,三者時間複雜度都是o n 通過分析來發現三者的優劣,以及對最好的情況和最壞的情況進行分析。另外,這三中排序演算法都是基於比較的排序演算法。基於比較的排序演算法的執行過程,會涉及兩種操作,一種是元素比較大小,另一種是元素...

演算法的三個基本問題

1.什麼是演算法?通俗的講演算法就是一種解決問題的策略。演算法的嚴格定義,簡而言之,演算法必須是 1 清楚 明確的定地定義 2 有效,即每乙個步驟都切實可行 3 有限,即可在有限步驟後得到結果。大多數情況下,解決乙個問題可以使用幾個不同的演算法,在編寫最終程式之前需要考慮許多潛在的解決方案。2.演算...

建立Oracle資料庫索引的三個標準

在oracle資料庫中,建立索引雖然比較簡單。但是要合理的建立索引則比較困難了。筆者認為,在建立索引時要做到三個適當,即在適當的表上 適當的列上建立適當數量的索引。雖然這可以通過一句話來概括優化的索引的基本準則,但是要做到這一點的話,需要資料庫管理員做出很大的努力。具體的來說,要做到這個三個適當有如...