国产秋霞理论久久久电影-婷婷色九月综合激情丁香-欧美在线观看乱妇视频-精品国avA久久久久久久-国产乱码精品一区二区三区亚洲人-欧美熟妇一区二区三区蜜桃视频

(附代碼)一文讀懂特征工程

共 22664字,需瀏覽 46分鐘

 ·

2021-07-01 13:01

點擊左上方藍字關注我們



全網搜集目標檢測相關,人工篩選最優(yōu)價值內容

編者薦語
特征工程(Feature Engineering)是將原始數(shù)據(jù)轉化成更好的表達問題本質的特征的過程,使得將這些特征運用到預測模型中能提高對不可見數(shù)據(jù)的模型預測精度。

者 | 正陽@知乎

鏈接 | https://www.zhihu.com/people/sun.zhengyang


一、特征工程介紹(Feature Engineering)


什么是特征工程?特征工程解決了什么問題?為什么特征工程對機器學習很重要?怎么做特征工程?怎么做好特征工程?集眾多博友智慧,一文全面了解并應用特征工程。

1 定義及意義

(1)定義

  • 特征工程(Feature Engineering)特征工程是將原始數(shù)據(jù)轉化成更好的表達問題本質的特征的過程,使得將這些特征運用到預測模型中能提高對不可見數(shù)據(jù)的模型預測精度。
  • 特征工程簡單講就是發(fā)現(xiàn)對因變量y有明顯影響作用的特征,通常稱自變量x為特征,特征工程的目的是發(fā)現(xiàn)重要特征。
  • 如何能夠分解和聚合原始數(shù)據(jù),以更好的表達問題的本質?這是做特征工程的目的?!癴eature engineering is manually designing what the input x’s should be.” “you have to turn your inputs into things the algorithm can understand.”
  • 特征工程是數(shù)據(jù)挖掘模型開發(fā)中最耗時、最重要的一步。

(2)意義

  • 特征工程是一個包含內容很多的主題,也被認為是成功應用機器學習的一個很重要的環(huán)節(jié)。如何充分利用數(shù)據(jù)進行預測建模就是特征工程要解決的問題!“實際上,所有機器學習算法的成功取決于如何呈現(xiàn)數(shù)據(jù)?!?“特征工程是一個看起來不值得在任何論文或者書籍中被探討的一個主題。但是他卻對機器學習的成功與否起著至關重要的作用。機器學習算法很多都是由于建立一個學習器能夠理解的工程化特征而獲得成功的。”——ScottLocklin,in “Neglected machine learning ideas”
  • 數(shù)據(jù)中的特征對預測的模型和獲得的結果有著直接的影響??梢赃@樣認為,特征選擇和準備越好,獲得的結果也就越好。這是正確的,但也存在誤導。預測的結果其實取決于許多相關的屬性:比如說能獲得的數(shù)據(jù)、準備好的特征以及模型的選擇。



(3)相關概念


Feature:An attribute useful for your modeling task. Feature Selection:From many features to a few that are useful Feature Extraction:The automatic construction of new features from raw data. Feature Construction:The manual construction of new features from raw data. Feature Importance:An estimate of the usefulness of a feature.


1)特征與屬性的區(qū)別?


并不是所有的屬性都可以看做特征,區(qū)分它們的關鍵在于看這個屬性對解決這個問題有沒有影響!可以認為特征是對于建模任務有用的屬性。表格式的數(shù)據(jù)是用行來表示一個實例,列來表示屬性和變量。每一個屬性可以是一個特征。特征與屬性的不同之處在于,特征可以表達更多的跟問題上下文有關的內容。特征是一個對于問題建模有意義的屬性。我們使用有意義(有用的)來區(qū)別特征和屬性,認為如果一個特征沒有意義是不會被認為是特征的,如果一個特征對問題沒有影響,那就不是這個問題的一部分。在計算機視覺領域,一幅圖像是一個對象,但是一個特征可能是圖像中的一行;在自然語言處理中每一個文檔或者一條微博是一個對象,一個短語或者單詞的計數(shù)可以作為特征;在語音識別中,一段聲音是一個實例,一個特征可能是單個詞或者發(fā)音。


2)什么是特征重要性?


特征重要性,可以被認為是一個選擇特征重要的評價方法。特征可以被分配一個分值,然后按照這個分值排序,那些具有較高得分的特征可以被選出來包含在訓練集中,同時剩余的就可以被忽略。特征重要性得分可以幫助我們抽取或者構建新的特征。挑選那些相似但是不同的特征作為有用的特征。如果一個特征與因變量(被預測的事物)高度相關,那么這個特征可能很重要。相關系數(shù)和其他單變量的方法(每一個變量被認為是相互獨立的)是比較通用的評估方法。更復雜的方法是通過預測模型算法來對特征進行評分。這些預測模型內部有這樣的特征選擇機制,比如MARS,隨機森林,梯度提升機。這些模型也可以得出變量的重要性。


2 流程及方法


特征工程的定義形形色色,筆者同樣對特征工程的全流程有著自己的理解。下面三幅圖是比較常見的特征工程流程,可以參考,便于理解。跟深入了解特征工程,還是需要在廣泛學習的基礎上對其有充分的自我理解。




1.圖一是基本的數(shù)據(jù)挖掘場景
2.圖二是特征工程的迭代過程
3.圖三是特征工程的常見方法和步驟




二、數(shù)據(jù)獲取

要實現(xiàn)特征工程目標,要用到什么數(shù)據(jù)?需要結合特定業(yè)務,具體情況具體分析。重點考慮如下三方面:
①數(shù)據(jù)獲取途徑 - 如何獲取特征(接口調用or自己清洗or/github資源下載等) - 如何存儲?(/data/csv/txt/array/Dataframe//其他常用分布式)
②數(shù)據(jù)可用性評估 - 獲取難度 - 覆蓋率 - 準確率
③特征維度



三、數(shù)據(jù)描述(Feature Describe)

通過數(shù)據(jù)獲取,我們得到未經處理的特征,這時的特征可能有以下問題:- 存在缺失值:缺失值需要補充。- 不屬于同一量綱:即特征的規(guī)格不一樣,不能夠放在一起比較。- 信息冗余:對于某些定量特征,其包含的有效信息為區(qū)間劃分,例如學習成績,假若只關心“及格”或不“及格”,那么需要將定量的考分,轉換成“1”和“0”表示及格和未及格。- 定性特征不能直接使用:某些機器學習算法和模型只能接受定量特征的輸入,那么需要將定性特征轉換為定量特征。- 信息利用率低:不同的機器學習算法和模型對數(shù)據(jù)中信息的利用是不同的。
那么最好先對數(shù)據(jù)的整體情況做一個描述、統(tǒng)計、分析,并且可以嘗試相關的可視化操作。主要可分為以下幾方面:


1 數(shù)據(jù)結構

2 質量檢驗

標準性、唯一性、有效性、正確性、一致性、缺失值、異常值、重復值

3 分布情況

統(tǒng)計值


包括max, min, mean, std等。python中用pandas庫序列化數(shù)據(jù)后,可以得到數(shù)據(jù)的統(tǒng)計值。


探索性數(shù)據(jù)分析(EDA,Exploratory Data Analysis)

集中趨勢、離中趨勢、分布形狀


四、特征處理(Feature Processing)

對數(shù)據(jù)的整體性有一個宏觀的了解之后,即需要進入特征工程第一個重要的環(huán)節(jié)——特征處理,特征處理會消耗大量時間,并且直接影響特征選擇的結果。特征處理主要包括:①數(shù)據(jù)預處理。即數(shù)據(jù)的清洗工作,主要為缺失值、異常值、錯誤值、數(shù)據(jù)格式、采樣度等問題的處理。②特征轉換。即連續(xù)變量、離散變量、時間序列等的轉換,便于入模。


1 數(shù)據(jù)預處理


【特征工程】python特征預處理大全(https://blog.csdn.net/overfit/article/details/79856417)


(1)缺失值處理


有些特征可能因為無法采樣或者沒有觀測值而缺失.例如距離特征,用戶可能禁止獲取地理位置或者獲取地理位置失敗,此時需要對這些特征做特殊的處理,賦予一個缺失值。我們在進行模型訓練時,不可避免的會遇到類似缺失值的情況,下面整理了幾種填充空值的方法


1)缺失值刪除(dropna)

①刪除實例

②刪除特征

2)缺失值填充(fillna)

①用固定值填充


對于特征值缺失的一種常見的方法就是可以用固定值來填充,例如0,9999, -9999, 例如下面對灰度分這個特征缺失值全部填充為-99
data['灰度分'] = data['灰度分'].fillna('-99')


②用均值填充


對于數(shù)值型的特征,其缺失值也可以用未缺失數(shù)據(jù)的均值填充,下面對灰度分這個特征缺失值進行均值填充
data['灰度分'] = data['灰度分'].fillna(data['灰度分'].mean()))


③用眾數(shù)填充


與均值類似,可以用未缺失數(shù)據(jù)的眾數(shù)來填充缺失值
data['灰度分'] = data['灰度分'].fillna(data['灰度分'].mode()))


④用上下數(shù)據(jù)進行填充
  • 用前一個數(shù)據(jù)進行填充


data['灰度分'] = data['灰度分'].fillna(method='pad')


  • 用后一個數(shù)據(jù)進行填充


data['灰度分'] = data['灰度分'].fillna(method='bfill')


⑤用插值法填充


data['灰度分'] = data['灰度分'].interpolate()


⑥用KNN進行填充
from fancyimpute import BiScaler, KNN, NuclearNormMinimization, SoftImputedataset = KNN(k=3).complete(dataset)

⑦random forest進行填充

from sklearn.ensemble import RandomForestRegressorzero_columns_2 = ['機構查詢數(shù)量', '直接聯(lián)系人數(shù)量', '直接聯(lián)系人在黑名單數(shù)量', '間接聯(lián)系人在黑名單數(shù)量',                '引起黑名單的直接聯(lián)系人數(shù)量', '引起黑名單的直接聯(lián)系人占比']#將出現(xiàn)空值的除了預測的列全部取出來,不用于訓練dataset_list2 = [x for x in dataset if x not in zero_columns_2]dataset_2 = dataset[dataset_list2]# 取出灰度分不為空的全部樣本進行訓練know = dataset_2[dataset_2['灰度分'].notnull()]print(know.shape) #26417, 54# 取出灰度分為空的樣本用于填充空值unknow = dataset_2[dataset_2['灰度分'].isnull()]print(unknow.shape) #2078, 54y = ['灰度分']x = [1]know_x2 = know.copy()know_y2 = know.copy()print(know_y2.shape)#know_x2.drop(know_x2.columns[x], axis=1, inplace=True)print(know_y2.shape)print(know_x2.shape)#know_y2 = know[y]# RandomForestRegressorrfr = RandomForestRegressor(random_state=666, n_estimators=2000, n_jobs=-1)rfr.fit(know_x2, know_y2)# 填充為空的樣本unknow_x2 = unknow.copy()unknow_x2.drop(unknow_x2.columns[x], axis=1, inplace=True)print(unknow_x2.shape) #(2078, 53)unknow_y2 = rfr.predict(unknow_x2)unknow_y2 = pd.DataFrame(unknow_y2, columns=['灰度分'])

⑧使用fancyimpute包中的其他方法

# matrix completion using convex optimization to find low-rank solution# that still matches observed values. Slow!X_filled_nnm = NuclearNormMinimization().complete(X_incomplete)# Instead of solving the nuclear norm objective directly, instead# induce sparsity using singular value thresholdingX_filled_softimpute = SoftImpute().complete(X_incomplete_normalized)# print mean squared error for the three imputation methods abovennm_mse = ((X_filled_nnm[missing_mask] - X[missing_mask]) ** 2).mean()# print mean squared error for the three imputation methods abovennm_mse = ((X_filled_nnm[missing_mask] - X[missing_mask]) ** 2).mean()print("Nuclear norm minimization MSE: %f" % nnm_mse)softImpute_mse = ((X_filled_softimpute[missing_mask] - X[missing_mask]) ** 2).mean()print("SoftImpute MSE: %f" % softImpute_mse)knn_mse = ((X_filled_knn[missing_mask] - X[missing_mask]) ** 2).mean()print("knnImpute MSE: %f" % knn_mse)

⑨缺失值作為數(shù)據(jù)的一部分不填充


LightGBM和XGBoost都能將NaN作為數(shù)據(jù)的一部分進行學習,所以不需要處理缺失值。


(2)異常值處理

1)特征異常平滑

  • 基于統(tǒng)計的異常點檢測算法 例如極差,四分位數(shù)間距,均差,標準差等,這種方法適合于挖掘單變量的數(shù)值型數(shù)據(jù)。
  • 基于距離的異常點檢測算法 主要通過距離方法來檢測異常點,將數(shù)據(jù)集中與大多數(shù)點之間距離大于某個閾值的點視為異常點,主要使用的距離度量方法有絕對距離(曼哈頓距離)、歐氏距離和馬氏距離等方法。
  • 基于密度的異常點檢測算法 考察當前點周圍密度,可以發(fā)現(xiàn)局部異常點。

(3)重復值處理


根據(jù)需求判斷是否需要去重操作


(4)數(shù)據(jù)格式處理

  • 數(shù)字類型的轉換
  • 數(shù)字單位的調整
  • 時間格式的處理

(5)數(shù)據(jù)采樣


多的類別過采樣/少的類別欠采樣來平衡分布欠采樣(undersampling)和過采樣(oversampling)會對模型帶來不一樣的影響。


2 特征轉換


特征也就是我們常常說的變量/自變量,一般分為三類:- 連續(xù)型 - 無序類別(離散)型 - 有序類別(離散)型
主要轉換方式有以下幾種:


(1)連續(xù)型特征處理

1)函數(shù)轉換


有時我們的模型的假設條件是要求自變量或因變量服從某特殊分布(如正態(tài)分布),或者說自變量或因變量服從該分布時,模型的表現(xiàn)較好。這個時候我們就需要對特征或因變量進行非線性函數(shù)轉換。這個方法操作起來很簡單,但記得對新加入的特征做歸一化。對于特征的轉換,需要將轉換之后的特征和原特征一起加入訓練模型進行訓練。


2)特征縮放


某些特征比其他特征具有較大的跨度值。舉個例子,將一個人的收入和他的年齡進行比較,更具體的例子,如某些模型(像嶺回歸)要求你必須將特征值縮放到相同的范圍值內。通過縮放可以避免某些特征比其他特征獲得大小非常懸殊的權重值。


3)無量綱化


無量綱化使不同規(guī)格的數(shù)據(jù)轉換到同一規(guī)格。常見的無量綱化方法有標準化、歸一化、區(qū)間縮放法。標準化的前提是特征值服從正態(tài)分布,標準化后,其轉換成標準正態(tài)分布。區(qū)間縮放法利用了邊界值信息,將特征的取值區(qū)間縮放到某個特點的范圍,例如[0, 1]等。把數(shù)據(jù)放縮到同樣的范圍 SVM/NN影響很大 樹模型影響小。不是什么時候都需要標準化,比如物理意義非常明確的經緯度,如果標準化,其本身的意義就會丟失。


①標準化

· 均值方差法

· z-score標準化

· StandardScaler標準化


標準化是依照特征矩陣的列處理數(shù)據(jù),其通過求z-score的方法,將樣本的特征值轉換到同一量綱下。標準化需要計算特征的均值和標準差,公式表達為:
使用preproccessing庫的StandardScaler類對數(shù)據(jù)進行標準化的代碼如下:


from sklearn.preprocessing import StandardScaler#標準化,返回值為標準化后的數(shù)據(jù)StandardScaler().fit_transform(iris.data)

②歸一化

· 最大最小歸一化(最常用)

· 對數(shù)函數(shù)轉換(log)

· 反余切轉換


歸一化是依照特征矩陣的行處理數(shù)據(jù),其目的在于樣本向量在點乘運算或其他核函數(shù)計算相似性時,擁有統(tǒng)一的標準,也就是說都轉化為“單位向量”。規(guī)則為l2的歸一化公式如下:
使用preproccessing庫的Normalizer類對數(shù)據(jù)進行歸一化的代碼如下:


from sklearn.preprocessing import Normalizer#歸一化,返回值為歸一化后的數(shù)據(jù)Normalizer().fit_transform(iris.data)

③區(qū)間縮放法


區(qū)間縮放法的思路有多種,常見的一種為利用兩個最值進行縮放,公式表達為:
使用preproccessing庫的MinMaxScaler類對數(shù)據(jù)進行區(qū)間縮放的代碼如下:
from sklearn.preprocessing import MinMaxScaler#區(qū)間縮放,返回值為縮放到[0, 1]區(qū)間的數(shù)據(jù)MinMaxScaler().fit_transform(iris.data)壓縮范圍有些分類變量的少部分取值可能占據(jù)了90%的case,這種情況下可以采用預測模型、領域專家、或者簡單的頻率分布統(tǒng)計。具體問題具體分析,高頻和低頻都是需要特別處理的地方,拋棄效果不好時,可以考慮采樣(高頻)或上采樣(低頻),加權等等方法。


4)二值化(定量特征)


特征的二值化處理是將數(shù)值型數(shù)據(jù)輸出為布爾類型。其核心在于設定一個閾值,當樣本書籍大于該閾值時,輸出為1,小于等于該閾值時輸出為0。我們通常使用preproccessing庫的Binarizer類對數(shù)據(jù)進行二值化處理。定量特征二值化的核心在于設定一個閾值,大于閾值的賦值為1,小于等于閾值的賦值為0,公式表達如下:
使用preproccessing庫的Binarizer類對數(shù)據(jù)進行二值化的代碼如下:


from sklearn.preprocessing import Binarizer #二值化,閾值設置為3,返回值為二值化后的數(shù)據(jù)Binarizer(threshold=3).fit_transform(iris.data)

5)離散化分箱處理(數(shù)值型轉類別型)


有時候,將數(shù)值型屬性轉換成類別型更有意義,同時將一定范圍內的數(shù)值劃分成確定的塊,使算法減少噪聲的干擾。在實際應用中,當你不想讓你的模型總是嘗試區(qū)分值之間是否太近時,分區(qū)能夠避免過擬合。例如,如果你所感興趣的是將一個城市作為整體,這時你可以將所有落入該城市的維度值進行整合成一個整體。分箱也能減小錯誤的影響,通過將一個給定值劃入到最近的塊中。對于一些特殊的模型(信用評分卡)開發(fā),有時候我們需要對連續(xù)型的特征(年齡、收入)進行離散化。常用的離散化方法包括等值劃分和等量劃分。例如某個特征的取值范圍為[0,10],我們可以將其劃分為10段,[0,1),[1,2),?,[9,10) - 離散特征的增加和減少都很容易,易于模型的快速迭代;- 稀疏向量內積乘法運算速度快,計算結果方便存儲,容易擴展;- 離散化后的特征對異常數(shù)據(jù)有很強的魯棒性模型也會更穩(wěn)定;- 離散化后可以進行特征交叉,由M+N個變量變?yōu)镸*N個變量,進一步引入非線性 提 升表達能力;- 特征離散化以后,起到了簡化了邏輯回歸模型的作用,降低了模型過擬合的風險
離散化方法的關鍵是怎么確定分段中的離散點,下面介紹幾種常用的離散化方法:- 等距離離散(等距分組) 顧名思義,就是離散點選取等距點。- 等樣本點離散(等深分組) 選取的離散點保證落在每段里的樣本點數(shù)量大致相同 - 決策樹離散化(最優(yōu)分組) 決策樹離散化方法通常也是每次離散化一個連續(xù)特征,原理如下:單獨用此特征和目標值y訓練一個決策樹模型,然后把訓練獲得的模型內的特征分割點作為離散化的離散點。- 其他離散化方法 其中,最優(yōu)分組除決策樹方法以外,還可以使用卡方分箱的方法,這種方法在評分卡開發(fā)中比較常見。


6)不處理


除了歸一化(去中心,方差歸一),不用做太多特殊處理,可以直接把連續(xù)特征扔到模型里使用。根據(jù)模型類型而定。


(2)離散型特征處理

1)數(shù)值化處理


二分類問題:能夠將類別屬性轉換成一個標量,最有效的場景應該就是二分類的情況。即{0,1}對應{類別1,類別2}。這種情況下,并不需要排序,并且你可以將屬性的值理解成屬于類別1或類別2的概率。多分類問題:選取多分類,編碼到[0,classnum)。類別不平衡問題:樣本層面可以采用oversampling/undersampling. 算法層面可以采用代價敏感方法/樣本設置權重 也不是所有的無序變量都需要做數(shù)值化處理,決策樹、隨機森林等樹模型可能不需要處理,視情況而定。
例:label encoder 一個變量的k個值,按序轉換成k個數(shù)字(1,2,3…k)。例如一個人的狀態(tài)status有三種取值:bad, normal, good,顯然bad < normal < good。這個時候bad, normal, good就可以分別轉換成 1、2、3。該方法局限性較大:- 不適用于建立預測具體數(shù)值的模型,比如線性回歸,只能用于分類, - 即使用于分類,也有一些模型不適合, - 可能結果的精度不如one-hot編碼。


2)啞編碼

①獨熱編碼(one-hot)


例:再次舉一個簡單的例子,由{紅,綠、藍}組成的顏色屬性,最常用的方式是把每個類別屬性轉換成二元屬性,即從{0,1}取一個值。因此基本上增加的屬性等于相應數(shù)目的類別。對于數(shù)據(jù)集中的每個實例,只有一個是1(其他的為0),這也就是獨熱(one-hot)編碼方式(類似于轉換成啞變量)。如果你不了解這個編碼的話,你可能會覺得分解會增加沒必要的麻煩(因為編碼大量的增加了數(shù)據(jù)集的維度)。相反,你可能會嘗試將類別屬性轉換成一個標量值,例如顏色屬性可能會用{1,2,3}表示{紅,綠,藍}。這里存在兩個問題,首先,對于一個數(shù)學模型,這意味著某種意義上紅色和綠色比和藍色更“相似”(因為|1-3| > |1-2|)。除非你的類別擁有排序的屬性(比如鐵路線上的站),這樣可能會誤導你的模型。然后,可能會導致統(tǒng)計指標(比如均值)無意義,更糟糕的情況是,會誤導你的模型。還是顏色的例子,假如你的數(shù)據(jù)集包含相同數(shù)量的紅色和藍色的實例,但是沒有綠色的,那么顏色的均值可能還是得到2,也就是綠色的意思。
啞編碼主要是采用N位狀態(tài)寄存器來對N個狀態(tài)進行編碼,一個變量N個值就轉換成N個虛擬變量,每個狀態(tài)都由他獨立的寄存器位,并且在任意時候只有一位有效。使用one-hot編碼,將離散特征的取值擴展到了歐式空間,離散特征的某個取值就對 應歐式空間的某個點。在回歸,分類,聚類等機器等學習算法中,特征之間距離的計算或相似度的計算是 非常重要的,而我們常用的距離或相似度的計算都是在歐式空間的相似度計算,計算 余弦相似性,基于的就是歐式空間。
優(yōu)點:簡單,且保證無共線性。將離散型特征使用one-hot編碼,確實會讓特征之間的距離計算更加合理。對離散型特征進行one-hot編碼可以加快計算速度。缺點:太?。ㄏ∈杈仃嚕?避免產生稀疏矩陣的常見方法是降維,將變量值較多的分類維度,盡可能降到最少,能降則降,不能降的,別勉強。


②順序性啞變量


與one-hot編碼一樣,都是將一個變量的k個值生成k個啞變量,但同時保護了特征的順序關系。一般的表達方式如下:
(上面這種表達方式很巧妙地利用遞進表達了值之間的順序關系。)


(3)時間序列處理

1)時間戳處理


時間戳屬性通常需要分離成多個維度比如年、月、日、小時、分鐘、秒鐘。但是在很多的應用中,大量的信息是不需要的。比如在一個監(jiān)督系統(tǒng)中,嘗試利用一個’位置+時間‘的函數(shù)預測一個城市的交通故障程度,這個實例中,大部分會受到誤導只通過不同的秒數(shù)去學習趨勢,其實是不合理的。并且維度’年’也不能很好的給模型增加值的變化,我們可能僅僅需要小時、日、月等維度。因此在呈現(xiàn)時間的時候,試著保證你所提供的所有數(shù)據(jù)是你的模型所需要的。并且別忘了時區(qū),假如你的數(shù)據(jù)源來自不同的地理數(shù)據(jù)源,別忘了利用時區(qū)將數(shù)據(jù)標準化。



五、特征選擇(Feature Selection)


1 特征檢驗

(1)單變量

1)正態(tài)性檢驗

2)顯著性分析

(2)多變量

1)一致性檢驗

2)多重共線性

2 特征選擇

(1)定義


從大量的特征中選擇少量的有用特征。不是所有的特征都是平等的。那些與問題不相關的屬性需要被刪除;還有一些特征可以比其他特征更重要;也有的特征跟其他的特征是冗余的。特征選擇就是自動地選擇對于問題最重要的特征的一個子集。


(2)作用

  • 簡化模型,增加模型的可解釋性
  • 縮短訓練時間
  • 避免維度災難
  • 改善模型通用性、降低過擬合

(3)方法


判斷特征是否發(fā)散:如果一個特征不發(fā)散,就是說這個特征大家都有或者非常相似,說明這個特征不需要。判斷特征和目標是否相關:與目標的相關性越高,越應該優(yōu)先選擇。按照特征評價標準分類:選擇使分類器的錯誤概率最小的特征或者特征組合。利用距離來度量樣本之間相似度。利用具有最小不確定性(Shannon熵、Renyi熵和條件熵)的那些特征來分類。利用相關系數(shù), 找出特征和類之間存在的相互關系;利用特征之間的依賴關系, 來表示特征的冗余性加以去除。- 特征選擇算法可以利用得分排序的方法選擇特征,如相關性和其他特征重要性手段;- 更高級的方法通過試錯來搜索特征子集。這些方法通過建立模型,評價模型,然后自動的獲得對于目標最具預測能力的特征子集。- 還有一些算法能得到特征選擇的副產品。比如說逐步回歸就是能夠自動的選擇特征來構建模型。- 正則化的方法比如lasso和嶺回歸可以作為特征選擇的算法。他們在構建模型的過程中刪去或者減小不重要特征的貢獻。(An Introduction to feature selection)
根據(jù)特征選擇的形式可以將特征選擇方法分為3種:- Filter:過濾法,按照發(fā)散性或者相關性對各個特征進行評分,設定閾值或者待選擇閾值的個數(shù),選擇特征。- Wrapper:包裝法,根據(jù)目標函數(shù)(通常是預測效果評分),每次選擇若干特征,或者排除若干特征。- Embedded:嵌入法,先使用某些機器學習的算法和模型進行訓練,得到各個特征的權值系數(shù),根據(jù)系數(shù)從大到小選擇特征。類似于Filter方法,但是是通過訓練來確定特征的優(yōu)劣。


1)過濾式(Filter)


過濾式特征選擇的評價標準從數(shù)據(jù)集本身的內在性質獲得,與特定的學習算法無關,因此具有較好的通用性。通常選擇和類別相關度大的特征或者特征子集。過濾式特征選擇的研究者認為,相關度較大的特征或者特征子集會在分類器上獲得較高的準確率。過濾式特征選擇的評價標準分為四種,即距離度量、信息度量、關聯(lián)度度量以及一致性度量。優(yōu)點:算法的通用性強;省去了分類器的訓練步驟,算法復雜性低,因而適用于大規(guī)模數(shù)據(jù)集;可以快速去除大量不相關的特征,作為特征的預篩選器非常合適。缺點:由于算法的評價標準獨立于特定的學習算法,所選的特征子集在分類準確率方面通常低于Wrapper方法。


①方差選擇法


使用方差選擇法,先要計算各個特征的方差,選擇方差大于閾值的特征 (Analysis of Variance:ANOVA,方差分析,通過分析研究不同來源的變異對總變異的貢獻大小,從而確定可控因素對研究結果影響力的大小)。


from sklearn.feature_selection import VarianceThreshold#方差選擇法,返回值為特征選擇后的數(shù)據(jù)#參數(shù)threshold為方差的閾值VarianceThreshold(threshold=3).fit_transform(iris.data)



②相關系數(shù)法


使用相關系數(shù)法,先要計算各個特征對目標值的相關系數(shù)以及相關系數(shù)的P值。用feature_selection庫的SelectKBest類結合相關系數(shù)來選擇特征的代碼如下:
from sklearn.feature_selection import SelectKBestfrom scipy.stats import pearsonr#選擇K個最好的特征,返回選擇特征后的數(shù)據(jù)#第一個參數(shù)為計算評估特征是否好的函數(shù),該函數(shù)輸入特征矩陣和目標向量,輸出二元組(評分,P值)的數(shù)組,數(shù)組第i項為第i個特征的評分和P值。在此定義為計算相關系數(shù)#參數(shù)k為選擇的特征個數(shù)SelectKBest(lambda X, Y: array(map(lambda x:pearsonr(x, Y), X.T)).T, k=2).fit_transform(iris.data, iris.target)
皮爾遜系數(shù)只能衡量線性相關性而互信息系數(shù)能夠很好地度量各種相關性,但是計算相對復雜一些,好在很多toolkit里邊都包含了這個工具(如sklearn的MINE),得到相關性之后就可以排序選擇特征了 (皮爾遜相關系數(shù),更多反應兩個服從正態(tài)分布的隨機變量的相關性,取值范圍在 [-1,+1] 之間。)


③互信息法


計算各個特征的信息增益 Linear Discriminant Analysis(LDA,線性判別分析):更 像一種特征抽取方式,基本思想是將高維的特征影到最佳鑒別矢量空間,這樣就可以抽取分類信息和達到壓縮特征空間維數(shù)的效果。投影后的樣本在子空間有最大可分離性。經典的互信息也是評價定性自變量對定性因變量的相關性的,互信息計算公式如下:
為了處理定量數(shù)據(jù),最大信息系數(shù)法被提出,使用feature_selection庫的SelectKBest類結合最大信息系數(shù)法來選擇特征的代碼如下:
from sklearn.feature_selection import SelectKBestfrom minepy import MINE#由于MINE的設計不是函數(shù)式的,定義mic方法將其為函數(shù)式的,返回一個二元組,二元組的第2項設置成固定的P值0.5def mic(x, y):    m = MINE()    m.compute_score(x, y)    return (m.mic(), 0.5)#選擇K個最好的特征,返回特征選擇后的數(shù)據(jù)SelectKBest(lambda X, Y: array(map(lambda x:mic(x, Y), X.T)).T, k=2).fit_transform(iris.data, iris.target)


④卡方檢驗(Chi-Square)


就是統(tǒng)計樣本的實際觀測值與理論推斷值之間的偏離程度,實際觀測值與理論推斷值之間的偏離程度就決定卡方值的大小,卡方值越大,越不符合;卡方值越小,偏差越小,越趨于符合。優(yōu)點:快速, 只需要基礎統(tǒng)計知識。缺點:特征之間的組合效應難以挖掘。經典的卡方檢驗是檢驗定性自變量對定性因變量的相關性。假設自變量有N種取值,因變量有M種取值,考慮自變量等于i且因變量等于j的樣本頻數(shù)的觀察值與期望的差距,構建統(tǒng)計量:
這個統(tǒng)計量的含義簡而言之就是自變量對因變量的相關性。用feature_selection庫的SelectKBest類結合卡方檢驗來選擇特征的代碼如下:
from sklearn.feature_selection import SelectKBestfrom sklearn.feature_selection import chi2#選擇K個最好的特征,返回選擇特征后的數(shù)據(jù)SelectKBest(chi2, k=2).fit_transform(iris.data, iris.target)
特點:執(zhí)行時間短(+):一般不會在數(shù)據(jù)集上進行迭代計算,且是分類器無關的,相比于訓練分類器要快。一般性(+):評價數(shù)據(jù)中屬性的本身的性質,而不是屬性與特定分類器的關聯(lián)關系(適合程度),所以得到的結果更具有一般性,而且對于很多分類器都能表現(xiàn)“良好”。選擇大規(guī)模子集(-):傾向于選擇全部最優(yōu)的特征子集,導致決定停止的條件決定權交給了用戶,具有較強的主觀性


2)封裝式(Wrapper)


Wrapper:封裝式特征選擇是利用學習算法的性能評價特征子集的優(yōu)劣。因此,對于一個待評價的特征子集,Wrapper方法需要訓練一個分類器,根據(jù)分類器的性能對該特征子集進行評價。Wrapper方法中用以評價特征的學習算法是多種多樣的,例如決策樹、神經網絡、貝葉斯分類器、近鄰法、支持向量機等等。優(yōu)點:相對于Filter方法,Wrapper方法找到的特征子集分類性能通常更好。缺點:Wrapper方法選出的特征通用性不強,當改變學習算法時,需要針對該學習算法重新進行特征選擇;由于每次對子集的評價都要進行分類器的訓練和測試,所以算法計算復雜度很高,尤其對于大規(guī)模數(shù)據(jù)集來說,算法的執(zhí)行時間很長。
基于目標函數(shù)


①完全搜索[窮舉]

· 遞歸特征消除法


遞歸消除特征法使用一個基模型來進行多輪訓練,每輪訓練后,消除若干權值系數(shù)的特征,再基于新的特征集進行下一輪訓練。使用feature_selection庫的RFE類來選擇特征的代碼如下:


· 遞歸特征消除法遞歸消除法


使用基模型(如LR)在訓練中進行迭代,選擇不同 特征 構建單個特征的模型,通過模型的準確性為特征排序,借此來選擇特征


②啟發(fā)式搜索[貪心]

· 前向選擇法


從0開始不斷向模型加能最大限度提升模型效果的特征數(shù)據(jù)用以訓練,直到任何訓練數(shù)據(jù)都無法提升模型表現(xiàn)。


· 后向剃除法


先用所有特征數(shù)據(jù)進行建模,再逐一丟棄貢獻最低的特征來提升模型效果,直到模型效果收斂。優(yōu)點:直接面向算法優(yōu)化, 不需要太多知識。缺點:龐大的搜索空間, 需要定義啟發(fā)式策略。
from sklearn.feature_selection import RFEfrom sklearn.linear_model import LogisticRegression#遞歸特征消除法,返回特征選擇后的數(shù)據(jù)#參數(shù)estimator為基模型#參數(shù)n_features_to_select為選擇的特征個數(shù)RFE(estimator=LogisticRegression(), n_features_to_select=2).fit_transform(iris.data, iris.target)


③隨機搜索[策略+好運氣]


Wrapper特點:準確性(+):由于特征子集是針對特定的分類器調準,能獲得較好的識別率。泛化能力(+):有很多機制可以防止過擬合,例如在分類器中可以使用交叉驗證等技術。執(zhí)行速度(-):對于每個候選的特征子集,必須重新訓練一個分類器甚至多個分類器(交叉驗證),所以對于計算密集型非常不適合。一般性(-):由于此種方法對分類器敏感,而不同的分類器具有不同原理的評價函數(shù)(損失函數(shù)),只能說最終選擇特征子集是對當前分類器“最好”的。


3)嵌入式(Embedded)


在嵌入式特征選擇中,特征選擇算法本身作為組成部分嵌入到學習算法里。最典型的即決策樹算法,如ID3、C4.5以及CART算法等,決策樹算法在樹增長過程的每個遞歸步都必須選擇一個特征,將樣本集劃分成較小的子集,選擇特征的依據(jù)通常是劃分后子節(jié)點的純度,劃分后子節(jié)點越純,則說明劃分效果越好,可見決策樹生成的過程也就是特征選擇的過程。嵌入法Embedded(效果最好速度最快,模式單調,快速并且效果明顯, 但是如何參數(shù)設置, 需要深厚的背景知識。) 在模型既定的條件下,尋找最優(yōu)特征子集 - 正則化項( L1、L2 ) - LASSO回歸 - 嶺回歸(RidgeRegression) - 決策樹 - ID3、C4.5、CART - 深度學習


①基于懲罰項


使用帶懲罰項的基模型,除了篩選出特征外,同時也進行了降維。使用帶懲罰項的基模型進行特征選擇 比如LR加入正則。通過L1正則項來選擇特征:L1正則方法具有稀疏解的特性,因此天然具備特征選擇的特性,但是要注意,L1沒有選到的特征不代表不重要,原因是兩個具有高相關性的特征可能只保留了一個,如果要確定哪個特征重要應再通過L2正則方法交叉檢驗 使用feature_selection庫的SelectFromModel類結合帶L1懲罰項的邏輯回歸模型,來選擇特征的代碼如下:
from sklearn.feature_selection import SelectFromModelfrom sklearn.linear_model import LogisticRegression#帶L1懲罰項的邏輯回歸作為基模型的特征選擇SelectFromModel(LogisticRegression(penalty="l1", C=0.1)).fit_transform(iris.data, iris.target)



L1懲罰項降維的原理在于保留多個對目標值具有同等相關性的特征中的一個,所以沒選到的特征不代表不重要。故,可結合L2懲罰項來優(yōu)化。具體操作為:若一個特征在L1中的權值為1,選擇在L2中權值差別不大且在L1中權值為0的特征構成同類集合,將這一集合中的特征平分L1中的權值,故需要構建一個新的邏輯回歸模型:
from sklearn.linear_model import LogisticRegression
class LR(LogisticRegression): def __init__(self, threshold=0.01, dual=False, tol=1e-4, C=1.0, fit_intercept=True, intercept_scaling=1, class_weight=None, random_state=None, solver='liblinear', max_iter=100, multi_class='ovr', verbose=0, warm_start=False, n_jobs=1):
#權值相近的閾值 self.threshold = threshold LogisticRegression.__init__(self, penalty='l1', dual=dual, tol=tol, C=C, fit_intercept=fit_intercept, intercept_scaling=intercept_scaling, class_weight=class_weight, random_state=random_state, solver=solver, max_iter=max_iter, multi_class=multi_class, verbose=verbose, warm_start=warm_start, n_jobs=n_jobs) #使用同樣的參數(shù)創(chuàng)建L2邏輯回歸 self.l2 = LogisticRegression(penalty='l2', dual=dual, tol=tol, C=C, fit_intercept=fit_intercept, intercept_scaling=intercept_scaling, class_weight = class_weight, random_state=random_state, solver=solver, max_iter=max_iter, multi_class=multi_class, verbose=verbose, warm_start=warm_start, n_jobs=n_jobs)
def fit(self, X, y, sample_weight=None): #訓練L1邏輯回歸 super(LR, self).fit(X, y, sample_weight=sample_weight) self.coef_old_ = self.coef_.copy() #訓練L2邏輯回歸 self.l2.fit(X, y, sample_weight=sample_weight)
cntOfRow, cntOfCol = self.coef_.shape #權值系數(shù)矩陣的行數(shù)對應目標值的種類數(shù)目 for i in range(cntOfRow): for j in range(cntOfCol): coef = self.coef_[i][j] #L1邏輯回歸的權值系數(shù)不為0 if coef != 0: idx = [j] #對應在L2邏輯回歸中的權值系數(shù) coef1 = self.l2.coef_[i][j] for k in range(cntOfCol): coef2 = self.l2.coef_[i][k] #在L2邏輯回歸中,權值系數(shù)之差小于設定的閾值,且在L1中對應的權值為0 if abs(coef1-coef2) < self.threshold and j != k and self.coef_[i][k] == 0: idx.append(k) #計算這一類特征的權值系數(shù)均值 mean = coef / len(idx) self.coef_[i][idx] = mean return self



使用feature_selection庫的SelectFromModel類結合帶L1以及L2懲罰項的邏輯回歸模型,來選擇特征的代碼如下:
from sklearn.feature_selection import SelectFromModel#帶L1和L2懲罰項的邏輯回歸作為基模型的特征選擇#參數(shù)threshold為權值系數(shù)之差的閾值SelectFromModel(LR(threshold=0.5, C=0.1)).fit_transform(iris.data, iris.target)


②基于樹模型


基于樹模型的特征選擇法 樹模型中GBDT也可用來作為基模型進行特征選擇,使用feature_selection庫的SelectFromModel類結合GBDT模型,來選擇特征的代碼如下:訓練能夠對特征打分的預選模型:RandomForest和Logistic Regression等都能對模型的特征打分,通過打分獲得相關性后再訓練最終模型;- Lasso - Elastic Net - Ridge Regression 優(yōu)點:快速, 并且面向算法。缺點:需要調整結構和參數(shù)配置, 而這需要深入的知識和經驗。
from sklearn.feature_selection import SelectFromModelfrom sklearn.ensemble import GradientBoostingClassifier#GBDT作為基模型的特征選擇SelectFromModel(GradientBoostingClassifier()).fit_transform(iris.data, iris.target)


③深度學習


目前這種手段正在隨著深度學習的流行而成為一種手段,尤其是在計算機視覺領域,原因是深度學習具有自動學習特征的能力,這也是深度學習又叫unsupervised feature learning的原因。從深度學習模型中選擇某一神經層的特征后就可以用來進行最終目標模型的訓練了。在特征學習中,K-means算法可以將一些沒有標簽的輸入數(shù)據(jù)進行聚類,然后使用每個類別的質心來生成新的特征。


3 特征構造

(1)定義


從原始數(shù)據(jù)中構造新特征 在機器學習或者統(tǒng)計學中,又稱為變量選擇、屬性選擇或者變量子集選擇,是在模型構建中,選擇相關特征并構成特征子集的過程。根據(jù)已有特征生成新特征,增加特征的非線性。常見的數(shù)據(jù)變換有基于多項式的、基于指數(shù)函數(shù)的、基于對數(shù)函數(shù)的。特征工程中引入的新特征,需要驗證它確實能提高預測得準確度,而不是加入一個無用的特征增加算法運算的復雜度。特征重要性和特征選擇可以告訴你特征的效用。你需要構造新的特征出來。這要求你在樣本數(shù)據(jù)上花費大量的時間并且思考問題的本質,數(shù)據(jù)的結構,以及怎么最好的在預測模型中利用他們。


(2)作用


對于表格型數(shù)據(jù),通常對特征進行混合聚集,組合或者分解分割來創(chuàng)造新的特征;對于文本數(shù)據(jù)通常需要設計特定的與問題相關的文檔指標;對于圖像數(shù)據(jù)通常需要花費大量時間指示過濾器發(fā)現(xiàn)相關的特征。這部分就是人們通常認為的特征工程最具藝術性的部分。這是一個漫長的部分,需要耗費大量的腦力和時間,并可以產生巨大的不同。


(3)方法

1)簡單構造

①四則運算


比如原來的特征是x1和x2,那么x1+x2就是一個新的特征,或者當x1大于某個數(shù)c的時候,就產生一個新的變量x3,并且x3=1,當x1小于c的時候,x3=0,所以這樣看來呢,可以按照這種方法構造出很多特征,這個就是構造。


②特征交叉(組合分類特征)


交叉特征算是特征工程中非常重要的方法之一了,它是將兩個或更多的類別屬性組合成一個。當組合的特征要比單個特征更好時,這是一項非常有用的技術。數(shù)學上來說,是對類別特征的所有可能值進行交叉相乘。假如擁有一個特征A,A有兩個可能值{A1,A2}。擁有一個特征B,存在{B1,B2}等可能值。然后,A&B之間的交叉特征如下:{(A1,B1),(A1,B2),(A2,B1),(A2,B2)},并且你可以給這些組合特征取任何名字,但是需要明白每個組合特征其實代表著A和B各自信息協(xié)同作用。一個更好地詮釋好的交叉特征的實例是類似于(經度,緯度)。一個相同的經度對應了地圖上很多的地方,緯度也是一樣。但是一旦你將經度和緯度組合到一起,它們就代表了地理上特定的一塊區(qū)域,區(qū)域中每一部分是擁有著類似的特性。


③分解類別特征


對于一個特征item_color有‘red’、‘green’、‘unknown’三個取值,那么可以創(chuàng)造一些新的特征例如:- 二值特征has_color:1知道具體顏色,0表示不知道。這個可以替換item_color特征用到更簡單的線性模型中。- 三個二值特征is_red、is_green和is_unknown。這個可以添加到原有特征中用到決策樹模型中。


④重構數(shù)值量


單位轉換 整數(shù)部分與小數(shù)部分分離 構造范圍二值特征 構造階段性的統(tǒng)計特征 構造其他二值特征


⑤分解Datatime

⑥窗口變量統(tǒng)計

2)機器學習

①監(jiān)督式學習

②非監(jiān)督式學習

4 特征提取

(1)定義


可能由于特征矩陣過大,一些樣本如果直接使用預測模型算法可能在原始數(shù)據(jù)中有太多的列被建模,導致計算量大,訓練時間長的問題,因此降低特征矩陣維度也是必不可少的。特征提取是一個自動化的降維過程。使得特征太多的樣本被建模的維數(shù)降低。


(2)作用


最大限度地降低數(shù)據(jù)的維度的前提下能夠同時保證保留目標的重要的信息,特征提取涉及到從原始屬性中自動生成一些新的特征集的一系列算法,降維算法就屬于這一類。特征提取是一個自動將觀測值降維到一個足夠建模的小數(shù)據(jù)集的過程。 數(shù)據(jù)降維有以下幾點好處:1、避免維度災難,導致算法失效,或者時間復雜度高  2、避免高維數(shù)據(jù)中引入的噪聲,防止過擬合  3、壓縮存儲,可視化分析


(3)方法


對于列表數(shù)據(jù),可使用的方法包括一些投影方法,像主成分分析和無監(jiān)督聚類算法。對于圖形數(shù)據(jù),可能包括一些直線檢測和邊緣檢測,對于不同領域有各自的方法。特征提取的關鍵點在于這些方法是自動的(只需要從簡單方法中設計和構建得到),還能夠解決不受控制的高維數(shù)據(jù)的問題。大部分的情況下,是將這些不同類型數(shù)據(jù)(如圖,語言,視頻等)存成數(shù)字格式來進行模擬觀察。 不同的數(shù)據(jù)降維方法除了實現(xiàn)降維目標的作用,同時具有各自的特點,比如主成分分析,降維后的各個特征在坐標上是正交;非負矩陣分解,因為在一些文本,圖像領域數(shù)據(jù)要求非負性,非負矩陣分解在降維的同時保證降維后的數(shù)據(jù)均非負;字典學習,可以基于任意基向量表示,特征之間不再是獨立,或者非負;局部線性嵌入,是一種典型的流型學習方法,具有在一定鄰域保證樣本之間的距離不變性。


1)線性降維


常見的降維方法除了基于L1懲罰項的模型以外,另外還有主成分分析法(PCA)和線性判別分析(LDA),線性判別分析本身也是一個分類模型。PCA和LDA有很多的相似點,其本質是要將原始的樣本映射到維度更低的樣本空間中,但是PCA和LDA的映射目標不一樣:PCA是為了讓映射后的樣本具有最大的發(fā)散性;而LDA是為了讓映射后的樣本有最好的分類性能。所以說PCA是一種無監(jiān)督的降維方法,而LDA是一種有監(jiān)督的降維方法。


①主成分分析法(PCA)


主成分分析 主成分分析算法(PCA)利用主成分分析方法,實現(xiàn)降維和降噪的功能。目前支持稠密數(shù)據(jù)格式。
選擇方差最大的K個特征[無監(jiān)督] 使用decomposition庫的PCA類選擇特征的代碼如下:


from sklearn.decomposition import PCA#主成分分析法,返回降維后的數(shù)據(jù)#參數(shù)n_components為主成分數(shù)目PCA(n_components=2).fit_transform(iris.data)


【特征工程】PCA原理(https://en.wikipedia.org/wiki/Principal_component_analysis?spm=a2c63.p38356.a3.15.5e352c87Nd0eJc)


②線性判別分析法(LDA)


選擇分類性能最好的特征[有監(jiān)督] 使用lda庫的LDA類選擇特征的代碼如下:
from sklearn.lda import LDA#線性判別分析法,返回降維后的數(shù)據(jù)#參數(shù)n_components為降維后的維數(shù) LDA(n_components=2).fit_transform(iris.data, iris.target)


③局部線性嵌入/LLE



④拉普拉斯特征映射/LE



⑤隨機鄰域嵌入/SNE



⑥t-分布鄰域嵌入/T-SNE



2)非線性降維

①核主成分分析(KPCA):帶核函數(shù)的PCA


局部線性嵌入(LLE):利用流形結構進行降維 還有拉普拉斯圖、MDS等


3)遷移學習降維

①遷移成分分析(TCA):不同領域之間遷移學習降維


六、入模評估


1 作用


模型評估一般有兩個目的:1. 檢驗特征工程的工作,查看所選擇的特征是否有利于提升模型的性能。2. 檢查參數(shù)調整的工作,通過調整模型參數(shù),找到最佳參數(shù)使得模型的分類、預測性能最佳。
特征工程需要在機器學習的應用中加深理解一個完整的特征工程、機器學習的處理過程是:應用機器學習的過程包含許多步驟。從問題的定義,到數(shù)據(jù)的選擇和準備,以及模型的準備,模型的評價和調參,最后是結果的表達。這個過程中與我們的話題相關的部分可以用下面幾步描述:1.選擇數(shù)據(jù):整合數(shù)據(jù),規(guī)范化到數(shù)據(jù)集中,集中數(shù)據(jù) 2.預處理數(shù)據(jù):格式化,清理,采樣 3.轉換數(shù)據(jù):特征工程要做的事情 4.建模數(shù)據(jù):建立模型,評價模型,調整模型 我們看到緊隨著特征工程就是建模。這表明,我們做特征工程需要與模型,表現(xiàn)度量相結合。同時也表明,我們需要留下那些適合建模的數(shù)據(jù)。比如說在最后一步規(guī)范化和標準化數(shù)據(jù)。這看起來是一個預處理的步驟,但實際上他幫助我們意識到對于一個有效模型需要什么樣的最終形態(tài)。
特征工程的迭代過程:知道特征工程的地位,我們就明確特征工程不是一個孤立的過程。特征工程是一個根據(jù)模型評價一次又一次的迭代過程。這個過程主要包括以下幾個步驟:1、頭腦風暴:深入了解問題,觀察數(shù)據(jù),研究特征工程和其他相關問題。2、設計特征:這個依賴于具體的問題,但是你可能使用自動化的特征提取方式,或者人工構造,或者二者結合。3、選擇特征:使用不同的特征重要性評價指標以及不同的特征選擇方法。4、評價模型:在未知數(shù)據(jù)集上測試模型性能
認真考慮并且設計在未知數(shù)據(jù)集上的測試方式。這是對特征工程過程最好的評價方式。


2 回歸預測問題


對于連續(xù)型目標變量的回歸預測問題,評估模型的方法一般有:R^2值 R^2越大,模型的預測效果越好。(后續(xù)補充)


3 分類預測問題


對于離散型目標變量的分類預測問題,評估模型的方法一般有:交叉檢驗 觀察模型的預測準確率,越大越好。但注意使用決策樹或隨機森林時的過擬合問題。AUC、ROC 觀察模型的ROC曲線及AUC值,越大越好



七、結束語

特征工程做的好,后期的模型調參更容易甚至不用調參,模型的穩(wěn)定性,可解釋性也要更好。如果特征工程做得不好,模型評估怎么調參都調不到理想的效果,那么就需要大量消耗時間繼續(xù)重復處理、篩選特征,直到模型達到理想的效果。所以,特征工程是一件極其繁瑣同時也極其重要的一件事情,至少暫用建模80%以上的時間,所以 需要以提升模型的性能和可解釋性為目標,有耐心地、邏輯清晰地去做。加油!



END



雙一流大學研究生團隊創(chuàng)建,專注于目標檢測與深度學習,希望可以將分享變成一種習慣!

整理不易,點贊三連↓

瀏覽 55
點贊
評論
收藏
分享

手機掃一掃分享

分享
舉報
評論
圖片
表情
推薦
點贊
評論
收藏
分享

手機掃一掃分享

分享
舉報

感谢您访问我们的网站,您可能还对以下资源感兴趣:

国产秋霞理论久久久电影-婷婷色九月综合激情丁香-欧美在线观看乱妇视频-精品国avA久久久久久久-国产乱码精品一区二区三区亚洲人-欧美熟妇一区二区三区蜜桃视频 成人黄色免费视频| 无码国产一区二区三区四区五区| 大肉大捧一出免费观看| 一级黄色视频在线观看| 日韩人妻无码视频| 无码秘蜜桃一区二区| a亚洲天堂| 88国产精品| 中文字幕在线播放av| 91国产精品在线| 无码人妻精品一区二区蜜桃漫画| 91成人无码看片在线观看网址| 人妻少妇一区| 99热国产精品| 2014亚洲天堂| 欧美一级特黄A片免费观看| 岛国电影av| 国产香蕉精品视频| 中文字幕AV无码| 亚洲AV无码国产精品| 99热加勒比| 大鸡巴操小逼视频| 伊人影院99| 2025av在线| 午夜性视频| 黄色无码视频| v天堂在线观看| 无码砖区| 黄色成人网站在线观看免费| 蜜桃久久久| 欧美成人A片在线观看| 黄色成人视频网站在线观看| 欧美大鸡巴在线观看| 91看片看婬黄大片女跟女| 无套免费视频欧美| 国产在线秘麻豆精品观看| 国产AV自拍-久| 小早川怜子精品一区二区| 成人大香蕉视频| 草久在线观看| 久久牛牛| 国产婷婷久久| 一级国产黄色视频| 成人无码网站在线观看| 日韩婬乱片A片AAA真人视频| 日韩人妻无码中文字幕| 日韩精品三区| 成人激情久久| 婷婷丁香一区二区三区| 91免费看| 仙踪林777777野大粗| h网站在线看| 麻豆精品传媒2021md| 波多野结衣无码一区二区| 婷婷五月综合网| 少妇高潮av久久久久久| 北条麻妃91人妻互换| 丰满人妻精品一区二区在线 | 人人看人人爱| 日韩无码中文字幕| 猫咪亚洲AV成人无码电影| 色吧超碰| 制服丝袜大香蕉| 国产成人精品视频| 懂色AV无码中字幕一区| 日韩理论在线| 俄女兵一级婬片A片| 欧美亚洲色色网视频| www.xxx| 免费无码在线播放| 亚洲热在线| 秋霞日韩| 嘉兴少妇按摩69XX| 欧美激情一区二区三区| 天堂av中文字幕| 蜜桃操逼| 天天干天天日天天干| 老司机在线免费视频| 性爱AV在线| 免费乱伦视频| 国产一级a毛一级a毛片视频黑人| 探花极品无套大学生| 影音先锋国产资源| 成人在线观看无码| 精品蜜桃秘一区二区三区在线播放 | 豆花视频久久| 毛片一级| 波多野结衣无码AV专区| 久久婷婷六月综合| 色四播播| 97国产在线观看| 人人妻人人爱人人操| 91超碰在线| 欧美不卡一区二区| 婷婷五月天综合网| 日本色影院| 久久久久久久麻豆| 欧美性视频网站| 亚洲无码AV网站| 一区二区三区在线观看视频| 2019中文字幕mv第三季歌词| 微熟女导航| 殴殴美日韩在线| 中文字幕第72页| 蜜桃av秘无码一区二区| 国产丝袜AV| 嘉兴少妇按摩69XX| 三级视频在线观看| 蜜桃系列一区二区精品| AV麻豆| 911国产视频| 亚洲成人免费在线观看| 操逼视频国产| 免费人成网站| 黄色视频网站观看| 能看毛片的网站| 国产黄色片在线免费观看| 久热中文在线观看精品视频| 韩国毛片| 熟妇一区二区| 人妻精品一区二区在线| 中国一级黄色毛片| 日韩无码二级| 久久久久久久麻豆| 99er在线观看视频| 日韩爱爱免费视频| 99久久婷婷国产综合精品漫| 亚洲性爱在线视频| 高潮国产视频| 成人无码电影在线观看| 亚洲中文久久| 欧美三级黄色| 你懂的在线网站| 懂色av粉嫩av蜜臀av| 免费久久久| 小视频+福利| 亚洲视频免费播放| 一本色道久久综合熟妇| 亚洲无码在线播放| 国产精品无码一区二区在线欢| 天天搞天天干| 国产日韩欧美| 懂色av粉嫩av蜜臀av| 操操操AV| 夜夜骑夜夜操| 日B免费视频| 天天综合天天| 99久久精品国产一区二区三区| 人人看人人摸人人草| 日产精品久久久久| 日韩高清在线播放| 亚洲欧美日韩一区二区| 在线看黄片| 日韩第一页| 在线二区| 狼友视频在在观看| 欧美精品一区二区少妇免费A片| 可以看的三级网站| 午夜福利av电影| 你懂的在线免费观看| 国产成人主播| 久久国产精品免费视频| 亚洲va欧洲va国产va不卡| 亚洲大片| 亚洲理论视频| XXXX国产| 青娱乐精品视频| 欧美日韩在线视频观看| 天天爽夜夜| 北条麻妃人妻中文字幕91影视| 色香蕉在线| 成人做爰黄AA片免费看三区| 一本道高清无码视频| 欧美经典自拍狼友| 99热国产| 国产欧美欧洲| 国产免费AV片在线无码| 91视频高清无码| 内射| 无码黄片免费| 无码视频一区| 亚洲无码二区| 91东热激情| 久久蜜桃成人| 一级片黄片| 国产综合一区二区| 无码爆操| 欧美日韩国产成人综合| 国产99999| 精品福利视频导航| 亚洲色情在线观看| 97视频在线免费观看| 性无码一区二区三区无码免费| 国产精成人品| 天天干天天日天天操| 西西www444无码大胆| 五十路熟妇| 免费版成人久久幺| 天堂中文资源库| 欧美激情亚洲| 天天精品| 天天摸天天添| 国产精品一区二区在线播放| 毛片资源| 国精产品一二四区黑人| 亚洲国产高清无码| 欧美一级婬片免费视频黄| 亚洲视频国产| 淫色五月| 亚洲综合二区| 亚洲素人无码| 91操操操| 婷婷福利导航| 日韩一卡二卡| 久久精品熟妇丰满人妻99| 女人A片一级黄色| 91AV在线免费观看| 天天中文字幕| 色片在线观看| 国产天堂| 俺去骚| 国产美女做爱视频| 青青草91视频| www.51av| 亚洲精品中文字幕在线| 欧美日韩一级二级三级| 99久热在线精品视频| 超碰人人摸| 成人自拍偷拍视频| 日韩一级爱爱| 91毛片观看| 亚洲国产精品18久久久久久| 男人天堂无码av| 91狠狠综合久久| 最新中文字幕在线视频| 四虎成人网站| 日韩无任何视频在线观看| 日韩色图在线观看| 国产黄色视频在线看| 蜜桃av在线| 男人天堂网站| 精品吃奶一区二区三区视频| 好吊顶亚洲AV大香蕉色色| 中文字幕在线观看网址最新地址| 99热这里都是精品| 人妻无码在线观看| 免费看黄色视频的网站| 草久影院| 日韩精品在线观看视频| 人妻免费在线视频| 一卡二卡三卡| 欧美三级片网址| 国产高清无码片| 欧美深夜福利视频| 欧美一级成人| 久久国产免费视频| 五月婷婷综合在线| 97三级| 婷婷丁香五月社区亚洲| 中文字幕AⅤ在线| 精品国产成人a在线观看| 蜜桃久久久| 九九久久国产精品| 天天插天天拍| 五月香婷婷| 中文午夜福利| 午夜福利在线播放| 免费黄色三级片| 国产在线观看免费视频| 91大熟女91大腚女人| 三级片男人的天堂| 99激情视频| brazzers疯狂作爱| 免费黄色成人| 一本高清无码| 中文字幕久久播放| 日韩成人AV毛片| 丝袜一区| 青青草av| 九九射| 在线黄色av| 一级欧美一级日韩| 嘿咻嘿咻动态图| 自拍偷拍综合网| 欧美一级性爱| 小小拗女BBw搡BBBB搡| 国产69精品久久久久久| 国产精品内射婷婷一级二| 亚洲最新无码视频| 日韩乱伦中文字幕| 日韩无码久久| 国产3p露脸普通话对白| 亚洲欧美高清| 成人无码视频| 成人一级黄色片| 爆草美女| 天天色色婷婷| 肏逼综合网| 韩日一区二区| 加勒比日韩无码| 少妇搡BBBB搡BBB搡HD(| 91亚洲电影| 中日韩中文字幕一区二区区别| av青青草原| 嫩BBB槡BBBB槡BBB| 特一级黄色| 操逼网首页| 辽宁模特张雪馨视频最新| 成人777777免费视频色| 日韩免费无码视频| 天天谢天天干| 人人干人人上| 91无码人妻传媒tv| 蜜臂AV| 无码人妻系列| 亚洲夜夜爱| 中文字幕在线视频第一页| 夜夜骑夜夜操| 黄色小视频免费| 熟女乱论| 久久久www| 国产精品不卡在线| 亚洲成人在线免费观看| 黄色视频在线观看大全| 中文字幕五月久久| 青青草东路热vv| 国产成人精品777777| 久久精品视频在线| 老司机午夜免费精品视频| 农村一级婬片A片AAA毛片古装| 69久久久久久久久久| 日韩欧美一区二区在线观看| 色五月婷婷中文字幕| 老熟女--91XX| 日韩精品一级| 老司机精品在线观看| 国产裸体网站| 亚洲成人黄色| 日韩熟妇无码| 日日干天天操| 西欧超碰在线| 日韩人妻在线观看| 亚洲AV中文在线| 亚洲欧美国产毛片在线| 日本三级AAA三级AAAA97 | 大炕上公让我高潮了六次| 中文字幕网站| 手机看片欧美+日韩+国产| 免费在线看黄色| 国产精品系列视频| 另类色综合| 日本三级片网站在线观看| 男人天堂新地址| 亚洲无码成人电影| 黄在线免费观看| 丁香六月激情| 鲁一鲁在线视频| 蜜桃视频无码| 波多野结衣AV网站| 亚洲AV无码电影| 日本一级片中文字幕| 内射视频免费观看| 天天操天天干欧美精品| 成人免费视频国产在线观看| 中国熟妇| 天天操夜夜爱| 国产欧美在线观看| 欧美精产国品一二三产品价格| 精品国产乱子伦一区二区三区最新章| 九色PORNY丨自拍蝌蚪| 亚洲黄片免费观看| 欧洲综合视频| 碰碰视频| 色哟哟无码精品一区二区三区| 国产无码久久| 青青草狠狠干| 欧美三P囗交做爰| 影音先锋成人在线视频| 国产黄片在线免费观看| 91成人视频免费观看| 久久久噜噜噜久久中文字幕色伊伊| 苍井空一区二区三区四区| 亚洲午夜无码| 日本少妇BBw| 国产精品网站在线观看| 免费av播放| 成人电影91| wwwxx国产| 一区二区三区四区五区在线| 中文字幕在线永久| 淫色视频| 日本69视频| 国产精品久久久久久久久免费无码| 97人人澡| 色情欧美一级A片| 91中文字幕在线播放| 欧美一在线一综合| 这里只有精品久久| 人人人操人人| 国产乱妇乱子伦视频免费观看让女人 | 无码秘蜜桃吴梦梦| 黄色视频在线观看亚洲一区二区三区免费| 日韩乱妇| 久久久999精品视频| 嫩草视频在线观看| 北岛玲视频在线| 天天操免费视频| 亚洲午夜福利视频在线观看| 爱操视频| 青青草原成人视频| 日韩性爱视频| 日韩熟妇无码中文字慕| 国产精品视频一区二区三区在线观看| 国产区AV| 成人中文字幕在线视频| 91精品亚洲| 三级大香蕉| 北条麻妃视频| 9999国产精品| 欧美啪啪视频| 91精品国产综合久久久蜜臀九色| 一区二区三区Av| 亚洲综合色网| 东京热无码一区| 日韩性爱一区二区| 五月伊人激情| 可以看的黄色视频| 大香蕉伊人视频| 欧美黄页| 18禁网站网址| 亚洲AV电影网| 午夜无码福利在线观看| 免费国产视频| 肏屄一区| 五月花在线视频| 性久久久久久久| 欧美AAA大片| 中文在线视频| 欧美AA视频| 五月天AV网站| 91.xxxxx| 偷拍亚洲色图| 操逼不卡视频| 欧美视频第一页| 午夜丁香婷婷| 一区二区三区AV| 亚州高清无码视频| 五月丁香亚洲综合| 成人A片在线观看| 国产精品久久久久久久久久久久久久久| 99视频色| 最近2021中文字幕免费| 国产在线观看无码| Av久| 视频在线一区| 久久久久亚洲AV无码成人片| 中文一级片| 国产精品视频99| 天天爽天天| 久久婷五月| 国产人妻一区二区精选| 淫乱骚穴| 日本十八禁网站| 91久久久久久久久久久久18 | 亚洲精品中文字幕成人片| 翔田千里在线一区二区三区| 国产精品秘麻豆果冻传媒潘甜甜丶| 东京热一区二区三区四区| 视频一视频二在线视频| 亚洲无码专区在线观看| 日本熟妇无码一区二区| 中文字幕观看| 水蜜桃在线观看视频| 亚洲国产A片| 女人的天堂av| 我要操影院| 3DAV一区二区三区动漫| 俺去夜| 乱视频| 操逼资源| 黄色福利网站| 久久午夜无码鲁丝片主演是谁| 日日操天天操夜夜操| 成人国产在线观看| 污视频网站在线观看| 又粗又硬又爽18级A片| 日韩人妻一区| www.91com| 青青激情视频| 玖玖在线视频| 伊人国产女| 日韩AV大片| 人人狠狠综合婷婷| 成人三级无码| 无码秘蜜桃吴梦梦| 日本色影院| 婷婷涩嫩草鲁丝久久午夜精品| sese在线| 日韩A片在线| 成人超碰在线| 亚洲欧洲综合| 中文字幕无码A片| 国产精品18进进出出17c| AV无码网站| 亚洲成人性爱视频| 人妻少妇精品视频一区二区三区| 亚洲无码偷拍| 天天爽夜夜爽人人爽| 九色PORNY丨自拍蝌蚪| 免费一级A片| 亚洲成人精品视频| 亚洲无码av中文字幕| 久久动图| 少妇视频| 中文字幕永久在线观看| 欧美色视频网| 天天综合网久久| 成人在线视频播放| 91成人在线播放| 动漫av网站| 亚洲中文字幕av天堂| 色婷婷中文字幕| 一区二区有限公司| 欧美国产另类| 懂色成人av影院| 91在线视频精品| 麻豆一区二区三区四区| 免费的黄色视频在线观看| 日韩中字无码黄片| 久久伊人网站| 日韩在线一级| 久久国产精品99久久人人澡| 五十路義母| 日日夜夜精品视频| 激情国产视频| 操B影院| 久久无码影视| 青春草视频在线观看| 99久久久国产精品无码| 色网站操逼| 思思热在线视频精品| 丁月婷婷五香天日五月天| 欧美成人a| 自拍成人视频| 亚洲日韩国产成人精品久久 | 精品国产欧美一区二区三区成人| 青娱乐精品在线视频| 欧美日韩加勒比| 成人在线免费视频| 亚洲综合91| 97亚洲精品| 久久波多野结衣一区二区| 成人毛片在线大全免费| 亚洲视频在线播放| 黄色资源在线观看| 青娱乐老视频| 日批动态图| 91视频网站入口| 久久中文字幕电影| 蜜桃视频网站| 免费v片在线观看| 久久婷婷五月综合伊人| 特一级黄色| 久草香蕉| 国产久久久久久| 婷婷色亚洲| 日本A在线观看| 一本色道久久无码人妻精品69| 蜜臀久久99精品久久久久久宅男| 国产乱伦片、| 久热久热| 黄色国产在线观看| 国产精品一线| 国产凹凸视频| 无码一级二级| 久草国产在线视频| 国产一级特黄大片| 亚洲无码激情在线| 久久久成人电影| 黄片视频免费在线观看| 草久视频| 人人澡人人澡人人| 七七久久| 麻豆国产在线| 国产乱子伦| 国产在线内射| 成人AV电影在线观看| 日韩免费在线| 中文视频在线观看| 亚洲综合视频在线观看| 欧美日韩国产中文字幕| 成人午夜福利视频| 一插菊花综合视频| 色吧超碰| 亚洲区在线播放| 天天干天天在线观看| 亚洲精品无码人妻| 日本AI高清无码在线观看网址 | 狼友视频在线看| 无码啪啪| 性色aV中文字幕| 尤物视频在线播放| 欧美性爱中文字幕| 无码人妻av黄色一区二区三区| 成人精品国产| 女人18片毛片60分钟黃菲菲| 久久久久9| 亚洲无码性爱视频| 日韩无码AV一区二区三区| 亚洲毛片亚洲毛片亚洲毛片| 国产精品伦子伦免费视频| 亚洲精品国产成人| 日韩一区二区三免费高清在线观看 | 天堂中文在线观看| 无码AV在线播放| 婷婷五月视频| 亚洲视频免费完整版在线播放| 欧美丰满人妻| 国产精品国产三级国产AⅤ原创| www.黄色com| 97国产在线观看| 五十路老国产| 91天天看| 亚洲成年人在线| av天堂中文| 激情综合网五月婷婷| 欧美裸体视频| 91一区二区在线播放精品| 欧美亚洲成人网站| 国产粉嫩小泬白浆18p| 91无码成人视频| 久久久精品黄色网址| 人妻人玩| 一区二区三区四区在线| 欧美一区二区三区在线| 日本无码一区二区三三| 无码久久| 高潮视频在线观看| 国产福利av| 国产成人无码A片免费看| 久热国产视频| 免费高清无码视频| 99综合网| 在线观看国产免费视频| 欧美视频在线观看免费| 亚洲精品在线视频| 亚洲性爱视频在线观看| 成人性爱视频在线观看| 操逼操逼操逼操逼| 久久嫩草精品久久久久| 台湾无码在线| 精品69| 午夜性视频| 国产精品久久久久久久久久久免费看 | 精品人人人| 免费无码国产在线怀| 欧美一区二区三区成人| 亚洲无码一区二区三| 51成人精品午夜福利| 人人摸人人摸人人| 三须三级久久三级久久18| 不卡无码中文字幕| 日韩无码视频播放| 欧美18成人| 亚洲精品麻豆| 亚洲天堂成人在线| 美女久久久久| 久色天堂| 影音先锋乱伦| 亚洲一区二区在线播放| 北京熟妇搡BBBB搡BBBB| 人妻天天操| 成人无码免费一区二区中文| 亚洲国产成人91精品| 国产黄色无码| 夜操| 91老熟女视频| 日本親子亂子倫XXXX50路| 国产成人无码精品| 久久精品无码视频| 奇米88888| 久草新视频| 性爱视频无码| 久肏| 国产在线h| 久久99老妇伦国产熟女| 东北嫖老熟女一区二区视频网站| 中文字幕网站| 欧美成人网站在线观看| 亚洲成人av| 欧美日韩中国操逼打炮| 成人AV电影在线观看| 肏逼视频免费看| 亚洲三级片免费观看| 911国产视频| 9I成人免费版视频| 丁香综合网| 国产五月天婷婷| 国产乱子伦-区二区三区熟睡91 | 日韩视频久久| 欧洲第一无人区观看| 亚洲精品一区二区三区新线路| 2018天天日天天操| 久久久久久久久久久国产精品| 免费污视频在线观看| 伊人久久成人| 免费Av在线| 大香蕉AV在线观看| 久久黄色大片| 大香蕉精品在线视频| 大香蕉av在线观看| A视频在线观看| 日韩免费毛片| 国产成人精品一区二区| 浙江妇搡BBBB搡BBBB| 强伦轩人妻一区二区三区最新版本更新内容 | 国产精品51麻豆cm传媒| 日韩中文字幕一区二区| 国产第页| 日本一级特黄大片AAAAA级 | 五月婷亚洲精品AV天堂| 成人特级毛片全部免费播放| 久操视频网| 免费a片在线观看| 999精品视频| 色妞视频精品一区| 天天添夜夜添| 俺去骚| 内射一区二区三区| 中文字幕亚洲天堂| 黄在观看线| 久久久久成人精品无码| 亚欧洲精品在线视频免费观看| 在线播放JUY-925被丈夫上司侵犯的第7天| 日韩AV高清| 欧美三P囗交做爰| 久操视频在线| 国产三级AV在线观看| 安微妇搡BBBB搡BBBB日| 九九香蕉网| 婷婷丁香色五月| 玖玖资源站中文字幕| 老太色HD色老太HD| 亚洲AV无码电影| 黄色视频网站免费| 中文字幕高清| 人人插人人澡| 91亚瑟视频| 日韩色情网| 中文字幕人妻系列| 国产精品在线观看视频| 亚洲黄色录像| 男女激情网站| 日本一节片在线播放| 成人亚洲性情网站www在线| 蜜臀久久99久久久久久宅男| 国产又粗又黄| 亚洲无码入口| 懂色av粉嫩av蜜臀av| 特级西西人体大胆无码| 国产在线观看免费视频今夜| 热久久综合网站| 一级a一级a爰片免费免免中国A片 一级一级a免一级a做免费线看内裤 | 亚洲视频天天射| 三级黄色免费网站| 亚洲午夜精品视频| 狠狠一区| 91免费视频网站| 蜜桃成人AV| 国产乱伦视屏| 国产1区2区3区中文字幕| 日韩欧美在线不卡| 青青草超碰在线| 一本色道久久加勒比精品| 无码中文暮| 波多野结衣被操| a片在线观看免费| 尤物精品在线| 天天射天天爽| 免费黄片在线看| 99极品视频| aⅴ免费观看| 大学生一级特黄大片| 丁香五月天在线| 日韩无码网址| 在线观看日韩三级片av| 艹逼逼视频| 国产在线播放av| 国产一级婬乱片AV片AAA毛片| 99热香蕉| 东京热综合| 国产乱伦精品视频| 一本久道无码| 自拍视频网| 欧美成人三区性价比| 日本人妻A片成人免费看片| 999久久久久| 操比无码| 天天干天天日天天射| 人人干人人干人人| 69无码| 高清的日逼| 黄色在线观看国产| 九九香蕉视频| 亚洲A片在线观看| 逼特逼| 8090操逼网| 欧美日韩一级毛| 黄色视频在线观看国产| 免费在线观看黄色视频网站| 亚洲成人网站视频| 在线观看小视频| 欧美操逼网址| 91亚洲在线| 动图综合亚洲综合欧美男男| 精品吃奶一区二区三区视频| 在线观看视频国产| 18禁网站禁片免费观看| 亚洲天堂在线视频观看| 波多野结衣网| 国产理论在线| 欧美日韩一二| 清清草视频| 亚洲福利一区二区| 狠狠插网站| 国产精品主播| 毛片网站在线观看| 亚洲成年人网| 国产精品久久久大香蕉| 日本成人无码| 东方成人AV| 青娱乐国产精品| 黄色无码视频在线观看| 午夜高清视频| 人人色人人| 起碰在线视频| 我要操影院| 91亚洲精品在线| 午夜操人妻| 黑人aV| 亚洲69p| 日韩视频免费在线观看| 99九九99九九九99九他書對| 日韩欧美群交| 中文字幕日韩av| 欧美九九| 亚洲中文AV在线| 亚洲精品中文字幕乱码三区91| 久久无码一区| 国产一区二区三区成人| 91久久婷婷亚洲精品成人| 欧美性猛交XXXX乱大交| 99视频免费在线观看| 国产欧美在线免费观看| AV婷婷五月天| 五月色综合| 亚洲高清无码久久| 操熟女视频| 神马午夜精品| 大香蕉av一区二区三区在线观看 | 国产乱子伦-区二区三区熟睡91 | 婷婷五月AV| 91探花秘在线播放| 中文字幕在线视频无码| 自拍做爱视频| 婷婷久久五月| 120分钟婬片免费看| 日本操B视频| 懂色av,蜜臀AV粉嫩av| 黑人无码一二三四五区| 四房五月婷婷| 91香蕉麻豆| 日韩视频一级| 亚洲毛片网站| 一级黄色免费电影| 偷拍视频网站北条麻妃| 婷婷五月丁香在线| 日本亚洲黄色视频| 欧美成人精品无码网站| 在线免费观看成人网站| 欧美成人午夜福利| 制服.丝袜.亚洲.中文豆花| 18禁在线看| 91丨熟女丨对白| 在线高清无码| 人人爽人人爽人人| 亚洲AV无码成人| 色玖玖| 先锋影音AV资源站| 97视频在线观看免费| 2025最新国产精品每日更新| 97久久综合| 国产小骚逼| 激情内射| 蜜臀久久99精品久久久| www.第四色| 国产乱在线| 精品蜜桃秘一区二区三区在线播放| 中文字幕无码在线播放| 免费看黄色录像|