ML-機器學習實踐
目錄
超引數選擇
Gride Search
- 網格搜尋
- 在高維空間中對一定區域進行遍歷
Random Search
- 在高維空間中隨機選擇若干超引數
相關庫
- Hyperopt
- 用於超引數優化的Python庫,其內部使用Parzen估計器的樹來預測哪組超引數可能會得到好的效果
- GitHub - https://github.com/hyperopt/hyperopt
- Hyperas
- 將Hyperopt與Keras模型整合在一起的庫
- GitHub - https://github.com/maxpumperla/hyperas
幾種引數估計的區別與聯絡:MLE、MAP、貝葉斯TODO
餘弦相似度(cos距離)與歐式距離的區別和聯絡
- 歐式距離和餘弦相似度都能度量2個向量之間的相似度
- 放到向量空間中看,歐式距離衡量兩點之間的直線距離,而餘弦相似度計算的是兩個向量之間的夾角
- 沒有歸一化時,歐式距離的範圍是 [0, +∞],而餘弦相似度的範圍是[-1,1];餘弦距離是計算相似度,而歐式距離計算的是相同程度(對應值的相同程度)
- 歸一化的情況下,可以將空間想象成一個超球面(三維),向量餘弦值等價與兩點的球面距離,歐式距離就是球面上兩點的直線距離,本質是一樣的
1)區別
假設 2人對三部電影的評分分別是 A = [3, 3, 3]
和 B = [5, 5, 5]
那麼2人的歐式距離是 根號12 = 3.46, A、B的餘弦相似度是1(方向完全一致)。
餘弦值的範圍是[-1, 1], 越接近於1,說明2個向量的方向越相近
歐式距離和餘弦相似度都能度量2個向量之間的相似度,但是歐式距離從2點之間的距離去考量,餘弦相似從2個向量之間的夾角去考量。 從上例可以發出,2人對三部電影的評價趨勢是一致的,但是歐式距離並不能反映出這一點,餘弦相似則能夠很好地反應。餘弦相似可以很好地規避指標刻度的差異,最常見的應用是計算 文字的相似度 。
2)聯絡
從下圖的公式可以看出,歸一化後計算的歐式距離是關於餘弦相似的單調函式,可以認為歸一化後,餘弦相似與歐式距離效果是一致的(歐式距離越小等價於餘弦相似度越大)。
因此可以將 求餘弦相似轉為求歐式距離 ,餘弦相似的計算複雜度過高,轉為求歐式距離後,可以藉助KDTree
(KNN演算法用到)或者BallTree
(對高維向量友好)來降低複雜度。
歸一化 標準化
歸一化(Normalization)與標準化(Standardization)指代四種feature scaling(特徵縮放)方法:
1、Rescaling(min-max normalization)
最小-最大歸一化,也被稱為最大-最小縮放,對原始資料進行線性變換把資料對映到[0,1]之間。
其中minmin是樣本中最小值,maxmax是樣本中最大值,注意在資料流場景下最大值與最小值是變化的。另外,最大值與最小值非常容易受異常點影響,所以這種方法魯棒性較差,只適合傳統精確小資料場景。
如果存在離群點,會影響規範化,若在規範化之後新增新的資料,當新資料落在原資料區間之外,會導致“越界”錯誤
2、mean normalization(均值歸一化)(沒查到這個)
3、standardization(標準化)
常用的方法是z-score標準化,經過處理後的資料均值為0,標準差為1,處理方法是:
其中μ是樣本的均值,σ是樣本的標準差,它們可以通過現有樣本進行估計。在已有樣本足夠多的情況下比較穩定,適合現代嘈雜大資料場景。(z-score規範化)
對離群點不敏感
4、scaling to unit length(縮放到單位長度)
在幾何學中,向量的大小等於有向線段的長度。我們用雙豎線來表示向量的大小(例如,‖u‖表示u的大小)
對於任意非零向量v,都能計算出一個和v方向相同的單位向量n,這個過程被稱作為向量的“標準化”,要標準化向量,將向量除以它的大小(模)即可。
混淆矩陣、模型度量指標:準確率、精確率、召回率、F1值
分詞中的評價標準:
混淆矩陣
- True Positve(TP):將正類預測為正類的數量
- True Negtive(TN):將負類預測成負類的數量
- False Positve(FP):將負類預測成正類 --> 誤報
- False Negtive(FN):將正類預測為負類 --> 誤報
準確率(accuracy)
精確率(precision)
準確率 精確率 的區別
在正負樣本不平衡的情況下,準確率這個評價指標有很大的缺陷。比如在網際網路廣告裡面,點選的數量是很少的,一般只有千分之幾,如果用acc,即使全部預測成負類(不點選)acc 也有 99% 以上,沒有意義。
召回率(recall,sensitivity,true positive rate,查全率)
F1值——精確率和召回率的調和均值
只有點那個精確率和召回率都很高時,F1值才會高
如何處理資料中的缺失值
可以分為2種情況:
1、缺失值較多
- 直接捨棄該列特徵,否則可能會帶來較大的噪聲,從而對結果造成不良影響
2、缺失值較少
- 當缺失值較少(<10%)時,可以考慮對缺失值進行填充,以下是幾種常用的填充策略:
- 用一個異常值填充(比如0),將缺失值作為一個特徵處理
- 用均值|條件均值填充
如果資料是不平衡的,那麼應該使用條件均值填充
所謂條件均值,指的是與缺失值所屬標籤相同的所有資料的均值
- 用相鄰資料填充
# 用前一個資料填充 data.fillna(method='pad') # 用後一個資料填充 data.fillna(method='bfill')
- 插值
data.interpolate()
關聯規則挖掘的3個度量指標:支援度、置信度、提升度
相關文章
- ML-機器學習基礎機器學習
- 機器學習實踐指南機器學習
- 機器學習總結 (機器學習實踐筆記)機器學習筆記
- 評書:《美團機器學習實踐》機器學習
- 機器學習落地遊戲實踐簡析機器學習遊戲
- 《Python機器學習實踐》簡介Python機器學習
- 基於 KubeVela 的機器學習實踐機器學習
- 機器學習(一):5分鐘理解機器學習並上手實踐機器學習
- 【機器學習PAI實踐五】機器學習眼中的《人民的名義》機器學習AI
- 《美團機器學習實踐》—— 讀後總結機器學習
- Python機器學習實踐與Kaggle實戰Python機器學習
- 【機器學習PAI實踐四】如何實現金融風控機器學習AI
- 網易雲音樂機器學習平臺實踐機器學習
- 《機器學習實踐》程式清單2-2機器學習
- 【機器學習PAI實踐三】霧霾成因分析機器學習AI
- 《機器學習實踐應用》書中原始碼機器學習原始碼
- 人肉工程在機器學習實踐中的作用機器學習
- ML-資料分析模板
- 谷歌機器學習43條規則:機器學習工程的最佳實踐經驗谷歌機器學習
- 觀遠AI實戰 | 機器學習系統的工程實踐AI機器學習
- 【機器學習PAI實踐九】如何通過機器學習實現雲端實時心臟狀況監測機器學習AI
- 機器學習之支援向量機原理和sklearn實踐機器學習
- 機器學習之決策樹原理和sklearn實踐機器學習
- 【機器學習PAI實踐二】人口普查統計機器學習AI
- Scikit-Learn機器學習實踐——垃圾簡訊識別機器學習
- 從Spark MLlib到美圖機器學習框架實踐Spark機器學習框架
- 機器學習實踐:如何將Spark與Python結合?機器學習SparkPython
- 【機器學習PAI實踐六】金融貸款發放預測機器學習AI
- 機器學習實踐中的 7 種常見錯誤機器學習
- 探索機器學習:從基礎概念到應用實踐機器學習
- ML-熵、條件熵、資訊增益熵
- ML-隱馬爾可夫模型隱馬爾可夫模型
- 美團機器學習實踐第二章-特徵工程總結機器學習特徵工程
- 機器學習在滴滴網路定位中的探索和實踐機器學習
- 位元組跳動機器學習系統雲原生落地實踐機器學習
- 《機器學習實踐》程式清單3-7 plotTree函式機器學習函式
- 收藏 | Google 釋出關於機器學習工程的最佳實踐Go機器學習
- 【機器學習PAI實踐一】搭建心臟病預測案例機器學習AI