机器学习算法基础——数据降维
生活随笔
收集整理的這篇文章主要介紹了
机器学习算法基础——数据降维
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
12.數據的降維之特征選擇
特征選擇
- 冗余:部分特征的相關度高,容易消耗計算性能
- 噪聲:部分特征對預測結果有負影響
特征選擇就是單純地從提取到的所有特征中選擇部分特征作為訓練集特征,特征在選擇前和選擇后可以改變值、也不改變值,但是選擇后的特征維數肯定比選擇前小,畢竟我們只選擇了其中的一部分特征。
主要方法(三大武器):
- Filter(過濾式):VarianceThreshold ?? ? ? ? ?? ? ? ? ? ? ? ?
- Embedded(嵌入式):正則化、決策樹 ?? ??? ? ? ? ? ? ? ?
- Wrapper(包裹式)
sklearn特征選擇API
sklearn.feature_selection.VarianceThreshold
VarianceThreshold語法
VarianceThreshold(threshold = 0.0)
-
刪除所有低方差特征
Variance.fit_transform(X,y) ? ? ?
-
X:numpy array格式的數據[n_samples,n_features]
- 返回值:訓練集差異低于threshold的特征將被刪除。 默認值是保留所有非零方差特征,即刪除所有樣本 中具有相同值的特征。
PCA(主成分分析)
- 本質:PCA是一種分析、簡化數據集的技術
- 目的:是數據維數壓縮,盡可能降低原數據的維數(復雜度),損失少量信息。
- 作用:可以削減回歸分析或者聚類分析中特征的數量
????
?
PCA語法
?PCA(n_components=None)
- 將數據分解為較低維數空間
PCA.fit_transform(X) ? ? ?
- X:numpy array格式的數據[n_samples,n_features]
- 返回值:轉換后指定維度的array?
13、14.降維案例
用戶對物品類別的喜好細分降維
import pandas as pd from sklearn.decomposition import PCA #讀取四張表 prior = pd.read_csv("/Users/zhucan/Desktop/instacart-market-basket-analysis/order_products__prior.csv") products = pd.read_csv("/Users/zhucan/Desktop/instacart-market-basket-analysis/products.csv") orders = pd.read_csv("/Users/zhucan/Desktop/instacart-market-basket-analysis/orders.csv") aisles = pd.read_csv("/Users/zhucan/Desktop/instacart-market-basket-analysis/aisles.csv") #合并四張表 _mg = pd.merge(prior,products,on=["product_id","product_id"]) _mg = pd.merge(_mg,orders,on=["order_id","order_id"]) mt = pd.merge(_mg,aisles,on=["aisle_id","aisle_id"]) cross = pd.crosstab(mt["user_id"],mt["aisle"]) pca =PCA(n_components=0.9) data = pca.fit_transform(cross) print(pca) [[-2.42156587e+01 2.42942720e+00 -2.46636975e+00 ... 6.86800336e-011.69439402e+00 -2.34323022e+00][ 6.46320806e+00 3.67511165e+01 8.38255336e+00 ... 4.12121252e+002.44689740e+00 -4.28348478e+00][-7.99030162e+00 2.40438257e+00 -1.10300641e+01 ... 1.77534453e+00-4.44194030e-01 7.86665571e-01]...[ 8.61143331e+00 7.70129866e+00 7.95240226e+00 ... -2.74252456e+001.07112531e+00 -6.31925661e-02][ 8.40862199e+01 2.04187340e+01 8.05410372e+00 ... 7.27554259e-013.51339470e+00 -1.79079914e+01][-1.39534562e+01 6.64621821e+00 -5.23030367e+00 ... 8.25329076e-011.38230701e+00 -2.41942061e+00]]15.機器學習算法分類以及開發流程
機器學習基礎
(1)算法是核心,數據和計算是基礎
(2)找準定位 大部分復雜模型的算法設計都是算法工程師在做,而我們
- 分析很多的數據
- 分析具體的業務
- 應用常見的算法
- 特征工程、調參數、優化
數據類型
離散型數據:由記錄不同類別個體的數目所得到的數據,又稱計數數據,所有這些數據全部都是整數,而且不能再細分,也不能進一步提高他們的精確度。
連續型數據:變量可以在某個范圍內取任一數,即變量的取值可以是連續的,如,長度、時間、質量值等,這類整數通常是非整數,含有小數部分。
機器學習算法分類
監督學習(特征值+目標值)
- 分類 (目標值離散型)? ?k-近鄰算法、貝葉斯分類、決策樹與隨機森林、邏輯回歸、神經網絡
- 回歸(目標值連續性)線性回歸、嶺回歸
- 標注 ? ?隱馬爾可夫模型(不做要求)
無監督學習(特征值)
- 聚類 ? ?k-means
總結
以上是生活随笔為你收集整理的机器学习算法基础——数据降维的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 机器学习算法基础——数据特征预处理
- 下一篇: 机器学习算法基础——机器学习概述