生活随笔
收集整理的這篇文章主要介紹了
机器学习-特征处理/归一化/标准化/降维03
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
歸一化
from sklearn
.preprocessing
import MinMaxScaler
def mm(): mm
= MinMaxScaler
()data
= mm
.fit_transform
([[90,2,10,40],[60,4,15,45],[75,3,13,46]])print(data
)if __name__
=='__main__':mm
()
標準化
from sklearn
.preprocessing
import StandardScaler
def stand():std
= StandardScaler
()data
= std
.fit_transform
([[1.,-1.,3.],[2.,4.,2.],[4.,6.,-1.]])print(data
)
if __name__
=='__main__':stand
()
import numpy
as np
from sklearn
.preprocessing
import Imputer
def im():im
= Imputer
(missing_values
="nan",strategy
="mean",axis
=0)data
= im
.fit_transform
([[1,2],[np
.nan
,3],[7,6]])print(data
)
if __name__
=='__main__':im
()
特征處理
特征處理是什么:通過特定的統計方法(數學方式)將數據轉換成算法要求的數據。
降維:把特征的數量減少叫做降維
特征的選擇:特征選擇就是單純地從提取到的所有特征中選擇部分特征作為訓練集特征,特征在選擇前和選擇后可以改變值,也不改變值,但是選擇后的特征維度肯定比之前小,畢竟我們只選擇了其中的一部分特征。
主要方法(工具):
filter(過濾式):VarianceThreshold
Embedded(嵌入式):正則化,決策樹
Wrapper(包裹式)
降維過濾式:從方差大小來考慮所有樣本這個特征的數據情況
def var():var
= VarianceThreshold
(threshold
=0.0)data
= var
.fit_transform
([[0,2,0,3],[0,1,4,3],[0,1,1,3]])print(data
)if __name__
=='__main__':var
()
降維主成分分析
PCA:當特征數量達到上百的時候—考慮數據的簡化
n_components 小數 0-1 90% 一般保留特征(90%-95%)
整數:減少到的特征數量 一般使用小數
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
)if __name__
=='__main__':pca
()
案例:
數據來源:https://www.kaggle.com/c/instacart-market-basket-analysis/data?select=order_products__prior.csv.zip
文件詳情截圖
1,合并各張表到一張表當中
pd.merge()
import pandas
as pd
from sklearn
.decomposition
import PCA
prior
= pd
.read_csv
("./analysis/order_products__prior.csv")
products
= pd
.read_csv
("./analysis/products.csv")
aisles
= pd
.read_csv
("./analysis/aisles.csv")
orders
= pd
.read_csv
("./analysis/orders.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"])print(mt
.head
(10))
cross
= pd
.crosstab
(mt
["user_id"],mt
["aisle"])
print(cross
.head
(10))
pca
= PCA
(n_components
=0.9)
data
= pca
.fit_transform
(cross
)
print(data
)
print(data
.shape
)
其他降維方法:線性判別分析LDA
機器學習基礎
1,機器學習開發流程
2,機器學習算法分類
明確幾點問題:
(1)算法是機器學習的核心,數據和計算是基礎
(2)找準定位
- 分析很多的數據
- 分析具體的業務
- 應用常見的算法
- 特征工程,掉參數,優化
(3)學會分析問題,使用機器學習算法的目的,想要算法完成何種任務
(4)掌握算法的基本思想,學會對問題用響應的算法解決
(5)學會利用庫或者框架解決問題
監督學習(重點):有特征值+目標值
-
分類:目標值離散型 回歸:目標值連續性
-
-
輸入數據有特征有標簽,即有標準答案
非監督學習:只有特征值
3,機器學習模型
算法+數據=模型
與50位技術專家面對面20年技術見證,附贈技術全景圖
總結
以上是生活随笔為你收集整理的机器学习-特征处理/归一化/标准化/降维03的全部內容,希望文章能夠幫你解決所遇到的問題。
如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。