日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

机器学习算法基础——数据降维

發布時間:2025/3/21 编程问答 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 机器学习算法基础——数据降维 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

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的特征將被刪除。 默認值是保留所有非零方差特征,即刪除所有樣本 中具有相同值的特征。
from sklearn.feature_selection import VarianceThresholddef var():var = VarianceThreshold(threshold=0.0)data = var.fit_transform([[0, 2, 0, 3], [0, 1, 4, 3], [0, 1, 1, 3]])print(data)return Nonevar() [[2 0][1 4][1 1]]

PCA(主成分分析)

  • 本質:PCA是一種分析、簡化數據集的技術
  • 目的:是數據維數壓縮,盡可能降低原數據的維數(復雜度),損失少量信息
  • 作用:可以削減回歸分析或者聚類分析中特征的數量

????

?

PCA語法

?PCA(n_components=None)

  • 將數據分解為較低維數空間

PCA.fit_transform(X) ? ? ?

  • X:numpy array格式的數據[n_samples,n_features]
  • 返回值:轉換后指定維度的array?
from sklearn.decomposition import PCA def pca():pca = PCA(n_components=0.9)data = pca.fit_transform([[2,8,4,5],[6,3,0,8],[5,4,9,1]])print(data)return None pca() [[ 1.28620952e-15 3.82970843e+00][ 5.74456265e+00 -1.91485422e+00][-5.74456265e+00 -1.91485422e+00]]

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

《新程序員》:云原生和全面數字化實踐50位技術專家共同創作,文字、視頻、音頻交互閱讀

總結

以上是生活随笔為你收集整理的机器学习算法基础——数据降维的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。