日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

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

编程问答

如何进行特征选择?

發布時間:2023/12/9 编程问答 53 豆豆
生活随笔 收集整理的這篇文章主要介紹了 如何进行特征选择? 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

? ?特征選擇(排序)對于數據科學家、機器學習從業者來說非常重要。好的特征選擇能夠提升模型的性能,更能幫助我們理解數據的特點、底層結構,這對進一步改善模型、算法都有著重要作用。

特征選擇主要有兩個功能:

  • 減少特征數量、降維,使模型泛化能力更強,減少過擬合
  • 增強對特征和特征值之間的理解
  • ? ?拿到數據集,一個特征選擇方法,往往很難同時完成這兩個目的。通常情況下,我們經常不管三七二十一,選擇一種自己最熟悉或者最方便的特征選擇方法(往往目的是降維,而忽略了對特征和數據理解的目的)。

    ? ?在許多機器學習相關的書里,很難找到關于特征選擇的內容,因為特征選擇要解決的問題往往被視為機器學習的一種副作用,一般不會單獨拿出來討論。


    本文將結合Scikit-learn提供的例子介紹幾種常用的特征選擇方法,它們各自的優缺點和問題。

    1、去掉取值變化小的特征 Removing features with low variance

    ? ?這應該是最簡單的特征選擇方法了:假設某特征的特征值只有0和1,并且在所有輸入樣本中,95%的實例的該特征取值都是1,那就可以認為這個特征作用不大。如果100%都是1,那這個特征就沒意義了。當特征值都是離散型變量的時候這種方法才能用,如果是連續型變量,就需要將連續變量離散化之后才能用,而且實際當中,一般不太會有95%以上都取某個值的特征存在,所以這種方法雖然簡單但是不太好用。可以把它作為特征選擇的預處理,先去掉那些取值變化小的特征,然后再從接下來提到的的特征選擇方法中選擇合適的進行進一步的特征選擇。


    2、單變量特征選擇 Univariate feature selection

    ? ?單變量特征選擇能夠對每一個特征進行測試,衡量該特征和響應變量之間的關系,根據得分扔掉不好的特征。對于回歸和分類問題可以采用卡方檢驗等方式對特征進行測試。

    ? ?這種方法比較簡單,易于運行,易于理解,通常對于理解數據有較好的效果(但對特征優化、提高泛化能力來說不一定有效);這種方法有許多改進的版本、變種。

    2.1 Pearson相關系數 Pearson Correlation

    ? ?皮爾森相關系數是一種最簡單的,能幫助理解特征和響應變量之間關系的方法,該方法衡量的是變量之間的線性相關性,結果的取值區間為[-1,1],-1表示完全的負相關(這個變量下降,那個就會上升),+1表示完全的正相關,0表示沒有線性相關。

    ? ?Pearson Correlation速度快、易于計算,經常在拿到數據(經過清洗和特征提取之后的)之后第一時間就執行。Scipy的pearsonr方法能夠同時計算相關系數和p-value,

    import numpy as np from scipy.stats import pearsonr np.random.seed(0) size = 300 x = np.random.normal(0, 1, size) print "Lower noise", pearsonr(x, x + np.random.normal(0, 1, size)) print "Higher noise", pearsonr(x, x + np.random.normal(0, 10, size))

    Lower noise (0.71824836862138386, 7.3240173129992273e-49)
    Higher noise (0.057964292079338148, 0.31700993885324746)

    ? ?這個例子中,我們比較了變量在加入噪音之前和之后的差異。當噪音比較小的時候,相關性很強,p-value很低。

    ? ?Scikit-learn提供的f_regrssion方法能夠批量計算特征的p-value,非常方便,參考sklearn的pipeline

    ? ?Pearson相關系數的一個明顯缺陷是,作為特征排序機制,他只對線性關系敏感。如果關系是非線性的,即便兩個變量具有一一對應的關系,Pearson相關性也可能會接近0。

    x = np.random.uniform(-1, 1, 100000) print pearsonr(x, x**2)[0]

    -0.00230804707612

    ? ?更多類似的例子參考sample plots。另外,如果僅僅根據相關系數這個值來判斷的話,有時候會具有很強的誤導性,如Anscombe’s quartet,最好把數據可視化出來,以免得出錯誤的結論。

    2.2 互信息和最大信息系數 Mutual information and maximal information coefficient (MIC)

    ? ? ? ? 以上就是經典的互信息公式了。想把互信息直接用于特征選擇其實不是太方便:1、它不屬于度量方式,也沒有辦法歸一化,在不同數據及上的結果無法做比較;2、對于連續變量的計算不是很方便(X和Y都是集合,x,y都是離散的取值),通常變量需要先離散化,而互信息的結果對離散化的方式很敏感。

    ? ?最大信息系數克服了這兩個問題。它首先尋找一種最優的離散化方式,然后把互信息取值轉換成一種度量方式,取值區間在[0,1]。minepy提供了MIC功能。

    反過頭來看y=x^2這個例子,MIC算出來的互信息值為1(最大的取值)。

    from minepy import MINE m = MINE() x = np.random.uniform(-1, 1, 10000) m.compute_score(x, x**2) print m.mic()

    1.0

    ? ?MIC的統計能力遭到了一些質疑,當零假設不成立時,MIC的統計就會受到影響。在有的數據集上不存在這個問題,但有的數據集上就存在這個問題。

    2.3 距離相關系數 (Distance correlation)

    ? ?距離相關系數是為了克服Pearson相關系數的弱點而生的。在x和x^2這個例子中,即便Pearson相關系數是0,我們也不能斷定這兩個變量是獨立的(有可能是非線性相關);但如果距離相關系數是0,那么我們就可以說這兩個變量是獨立的。

    ? ?R的energy包里提供了距離相關系數的實現,另外這是Python gist的實現。

    #R-code > x = runif (1000, -1, 1) > dcor(x, x**2) [1] 0.4943864

    ? ?盡管有MIC和距離相關系數在了,但當變量之間的關系接近線性相關的時候,Pearson相關系數仍然是不可替代的。第一、Pearson相關系數計算速度快,這在處理大規模數據的時候很重要。第二、Pearson相關系數的取值區間是[-1,1],而MIC和距離相關系數都是[0,1]。這個特點使得Pearson相關系數能夠表征更豐富的關系,符號表示關系的正負,絕對值能夠表示強度。當然,Pearson相關性有效的前提是兩個變量的變化關系是單調的。

    2.4 基于學習模型的特征排序 (Model based ranking)

    ? ?這種方法的思路是直接使用你要用的機器學習算法,針對每個單獨的特征和響應變量建立預測模型。其實Pearson相關系數等價于線性回歸里的標準化回歸系數。假如某個特征和響應變量之間的關系是非線性的,可以用基于樹的方法(決策樹、隨機森林)、或者擴展的線性模型等。基于樹的方法比較易于使用,因為他們對非線性關系的建模比較好,并且不需要太多的調試。但要注意過擬合問題,因此樹的深度最好不要太大,再就是運用交叉驗證。

    ? ?在波士頓房價數據集上使用sklearn的隨機森林回歸給出一個單變量選擇的例子:

    from sklearn.cross_validation import cross_val_score, ShuffleSplit from sklearn.datasets import load_boston from sklearn.ensemble import RandomForestRegressor#Load boston housing dataset as an example boston = load_boston() X = boston["data"] Y = boston["target"] names = boston["feature_names"]rf = RandomForestRegressor(n_estimators=20, max_depth=4) scores = [] for i in range(X.shape[1]):score = cross_val_score(rf, X[:, i:i+1], Y, scoring="r2",cv=ShuffleSplit(len(X), 3, .3))scores.append((round(np.mean(score), 3), names[i])) print sorted(scores, reverse=True)

    [(0.636, 'LSTAT'), (0.59, 'RM'), (0.472, 'NOX'), (0.369, 'INDUS'), (0.311, 'PTRATIO'), (0.24, 'TAX'), (0.24, 'CRIM'), (0.185, 'RAD'), (0.16, 'ZN'), (0.087, 'B'), (0.062, 'DIS'), (0.036, 'CHAS'), (0.027, 'AGE')]


    3 線性模型和正則化

    ? ?單變量特征選擇方法獨立的衡量每個特征與響應變量之間的關系,另一種主流的特征選擇方法是基于機器學習模型的方法。有些機器學習方法本身就具有對特征進行打分的機制,或者很容易將其運用到特征選擇任務中,例如回歸模型,SVM,決策樹,隨機森林等等。說句題外話,這種方法好像在一些地方叫做wrapper類型,大概意思是說,特征排序模型和機器學習模型是耦盒在一起的,對應的非wrapper類型的特征選擇方法叫做filter類型。

    ? ?下面將介紹如何用回歸模型的系數來選擇特征。越是重要的特征在模型中對應的系數就會越大,而跟輸出變量越是無關的特征對應的系數就會越接近于0。在噪音不多的數據上,或者是數據量遠遠大于特征數的數據上,如果特征之間相對來說是比較獨立的,那么即便是運用最簡單的線性回歸模型也一樣能取得非常好的效果。

    from sklearn.linear_model import LinearRegression import numpy as npnp.random.seed(0) size = 5000#A dataset with 3 features X = np.random.normal(0, 1, (size, 3)) #Y = X0 + 2*X1 + noise Y = X[:,0] + 2*X[:,1] + np.random.normal(0, 2, size) lr = LinearRegression() lr.fit(X, Y)#A helper method for pretty-printing linear models def pretty_print_linear(coefs, names = None, sort = False):if names == None:names = ["X%s" % x for x in range(len(coefs))]lst = zip(coefs, names)if sort:lst = sorted(lst, key = lambda x:-np.abs(x[0]))return " + ".join("%s * %s" % (round(coef, 3), name)for coef, name in lst)print "Linear model:", pretty_print_linear(lr.coef_)

    Linear model: 0.984 * X0 + 1.995 * X1 + -0.041 * X2

    ? ?在這個例子當中,盡管數據中存在一些噪音,但這種特征選擇模型仍然能夠很好的體現出數據的底層結構。當然這也是因為例子中的這個問題非常適合用線性模型來解:特征和響應變量之間全都是線性關系,并且特征之間均是獨立的。

    ? ?在很多實際的數據當中,往往存在多個互相關聯的特征,這時候模型就會變得不穩定,數據中細微的變化就可能導致模型的巨大變化(模型的變化本質上是系數,或者叫參數,可以理解成W),這會讓模型的預測變得困難,這種現象也稱為多重共線性。例如,假設我們有個數據集,它的真實模型應該是Y=X1+X2,當我們觀察的時候,發現Y'=X1+X2+e,e是噪音。如果X1和X2之間存在線性關系,例如X1約等于X2,這個時候由于噪音e的存在,我們學到的模型可能就不是Y=X1+X2了,有可能是Y=2X1,或者Y=-X1+3X2。

    ? ?下邊這個例子當中,在同一個數據上加入了一些噪音,用隨機森林算法進行特征選擇。

    from sklearn.linear_model import LinearRegressionsize = 100 np.random.seed(seed=5)X_seed = np.random.normal(0, 1, size) X1 = X_seed + np.random.normal(0, .1, size) X2 = X_seed + np.random.normal(0, .1, size) X3 = X_seed + np.random.normal(0, .1, size)Y = X1 + X2 + X3 + np.random.normal(0,1, size) X = np.array([X1, X2, X3]).Tlr = LinearRegression() lr.fit(X,Y) print "Linear model:", pretty_print_linear(lr.coef_)

    Linear model: -1.291 * X0 + 1.591 * X1 + 2.747 * X2

    ? ?系數之和接近3,基本上和上上個例子的結果一致,應該說學到的模型對于預測來說還是不錯的。但是,如果從系數的字面意思上去解釋特征的重要性的話,X3對于輸出變量來說具有很強的正面影響,而X1具有負面影響,而實際上所有特征與輸出變量之間的影響是均等的。

    ? ?同樣的方法和套路可以用到類似的線性模型上,比如邏輯回歸。

    3.1 正則化模型

    ? ?正則化就是把額外的約束或者懲罰項加到已有模型(損失函數)上,以防止過擬合并提高泛化能力。損失函數由原來的E(X,Y)變為E(X,Y)+alpha||w||,w是模型系數組成的向量(有些地方也叫參數parameter,coefficients),||·||一般是L1或者L2范數,alpha是一個可調的參數,控制著正則化的強度。當用在線性模型上時,L1正則化和L2正則化也稱為Lasso和Ridge。

    3.2 L1正則化/Lasso

    ? ?L1正則化將系數w的l1范數作為懲罰項加到損失函數上,由于正則項非零,這就迫使那些弱的特征所對應的系數變成0。因此L1正則化往往會使學到的模型很稀疏(系數w經常為0),這個特性使得L1正則化成為一種很好的特征選擇方法。

    Scikit-learn為線性回歸提供了Lasso,為分類提供了L1邏輯回歸。

    下面的例子在波士頓房價數據上運行了Lasso,其中參數alpha是通過grid search進行優化的。

    from sklearn.linear_model import Lasso from sklearn.preprocessing import StandardScaler from sklearn.datasets import load_bostonboston = load_boston() scaler = StandardScaler() X = scaler.fit_transform(boston["data"]) Y = boston["target"] names = boston["feature_names"]lasso = Lasso(alpha=.3) lasso.fit(X, Y)print "Lasso model: ", pretty_print_linear(lasso.coef_, names, sort = True)

    Lasso model: -3.707 * LSTAT + 2.992 * RM + -1.757 * PTRATIO + -1.081 * DIS + -0.7 * NOX + 0.631 * B + 0.54 * CHAS + -0.236 * CRIM + 0.081 * ZN + -0.0 * INDUS + -0.0 * AGE + 0.0 * RAD + -0.0 * TAX

    ? ?可以看到,很多特征的系數都是0。如果繼續增加alpha的值,得到的模型就會越來越稀疏,即越來越多的特征系數會變成0。

    然而,L1正則化像非正則化線性模型一樣也是不穩定的,如果特征集合中具有相關聯的特征,當數據發生細微變化時也有可能導致很大的模型差異。

    3.3 L2正則化/Ridge regression

    ? ?L2正則化將系數向量的L2范數添加到了損失函數中。由于L2懲罰項中系數是二次方的,這使得L2和L1有著諸多差異,最明顯的一點就是,L2正則化會讓系數的取值變得平均。對于關聯特征,這意味著他們能夠獲得更相近的對應系數。還是以Y=X1+X2為例,假設X1和X2具有很強的關聯,如果用L1正則化,不論學到的模型是Y=X1+X2還是Y=2X1,懲罰都是一樣的,都是2alpha。但是對于L2來說,第一個模型的懲罰項是2alpha,但第二個模型的是4*alpha。可以看出,系數之和為常數時,各系數相等時懲罰是最小的,所以才有了L2會讓各個系數趨于相同的特點。

    ? ?可以看出,L2正則化對于特征選擇來說一種穩定的模型,不像L1正則化那樣,系數會因為細微的數據變化而波動。所以L2正則化和L1正則化提供的價值是不同的,L2正則化對于特征理解來說更加有用:表示能力強的特征對應的系數是非零。

    ? ?回過頭來看看3個互相關聯的特征的例子,分別以10個不同的種子隨機初始化運行10次,來觀察L1和L2正則化的穩定性。

    from sklearn.linear_model import Ridge from sklearn.metrics import r2_score size = 100#We run the method 10 times with different random seeds for i in range(10):print "Random seed %s" % inp.random.seed(seed=i)X_seed = np.random.normal(0, 1, size)X1 = X_seed + np.random.normal(0, .1, size)X2 = X_seed + np.random.normal(0, .1, size)X3 = X_seed + np.random.normal(0, .1, size)Y = X1 + X2 + X3 + np.random.normal(0, 1, size)X = np.array([X1, X2, X3]).Tlr = LinearRegression()lr.fit(X,Y)print "Linear model:", pretty_print_linear(lr.coef_)ridge = Ridge(alpha=10)ridge.fit(X,Y)print "Ridge model:", pretty_print_linear(ridge.coef_)print

    Random seed 0 Linear model: 0.728 * X0 + 2.309 * X1 + -0.082 * X2 Ridge model: 0.938 * X0 + 1.059 * X1 + 0.877 * X2

    Random seed 1 Linear model: 1.152 * X0 + 2.366 * X1 + -0.599 * X2 Ridge model: 0.984 * X0 + 1.068 * X1 + 0.759 * X2

    Random seed 2 Linear model: 0.697 * X0 + 0.322 * X1 + 2.086 * X2 Ridge model: 0.972 * X0 + 0.943 * X1 + 1.085 * X2

    Random seed 3 Linear model: 0.287 * X0 + 1.254 * X1 + 1.491 * X2 Ridge model: 0.919 * X0 + 1.005 * X1 + 1.033 * X2

    Random seed 4 Linear model: 0.187 * X0 + 0.772 * X1 + 2.189 * X2 Ridge model: 0.964 * X0 + 0.982 * X1 + 1.098 * X2

    Random seed 5 Linear model: -1.291 * X0 + 1.591 * X1 + 2.747 * X2 Ridge model: 0.758 * X0 + 1.011 * X1 + 1.139 * X2

    Random seed 6 Linear model: 1.199 * X0 + -0.031 * X1 + 1.915 * X2 Ridge model: 1.016 * X0 + 0.89 * X1 + 1.091 * X2

    Random seed 7 Linear model: 1.474 * X0 + 1.762 * X1 + -0.151 * X2 Ridge model: 1.018 * X0 + 1.039 * X1 + 0.901 * X2

    Random seed 8 Linear model: 0.084 * X0 + 1.88 * X1 + 1.107 * X2 Ridge model: 0.907 * X0 + 1.071 * X1 + 1.008 * X2

    Random seed 9 Linear model: 0.714 * X0 + 0.776 * X1 + 1.364 * X2 Ridge model: 0.896 * X0 + 0.903 * X1 + 0.98 * X2

    ? ?可以看出,不同的數據上線性回歸得到的模型(系數)相差甚遠,但對于L2正則化模型來說,結果中的系數非常的穩定,差別較小,都比較接近于1,能夠反映出數據的內在結構。


    4 隨機森林

    ? ?隨機森林具有準確率高、魯棒性好、易于使用等優點,這使得它成為了目前最流行的機器學習算法之一。隨機森林提供了兩種特征選擇的方法:mean decrease impurity和mean decrease accuracy。

    4.1 平均不純度減少 mean decrease impurity

    ? ?隨機森林由多個決策樹構成。決策樹中的每一個節點都是關于某個特征的條件,為的是將數據集按照不同的響應變量一分為二。利用不純度可以確定節點(最優條件),對于分類問題,通常采用基尼不純度或者信息增益,對于回歸問題,通常采用的是方差或者最小二乘擬合。當訓練決策樹的時候,可以計算出每個特征減少了多少樹的不純度。對于一個決策樹森林來說,可以算出每個特征平均減少了多少不純度,并把它平均減少的不純度作為特征選擇的值。

    下邊的例子是sklearn中基于隨機森林的特征重要度度量方法:

    from sklearn.datasets import load_boston from sklearn.ensemble import RandomForestRegressor import numpy as np #Load boston housing dataset as an example boston = load_boston() X = boston["data"] Y = boston["target"] names = boston["feature_names"] rf = RandomForestRegressor() rf.fit(X, Y) print "Features sorted by their score:" print sorted(zip(map(lambda x: round(x, 4), rf.feature_importances_), names), reverse=True)

    Features sorted by their score: [(0.5298, 'LSTAT'), (0.4116, 'RM'), (0.0252, 'DIS'), (0.0172, 'CRIM'), (0.0065, 'NOX'), (0.0035, 'PTRATIO'), (0.0021, 'TAX'), (0.0017, 'AGE'), (0.0012, 'B'), (0.0008, 'INDUS'), (0.0004, 'RAD'), (0.0001, 'CHAS'), (0.0, 'ZN')]

    ? ?這里特征得分實際上采用的是Gini Importance。使用基于不純度的方法的時候,要記住:1、這種方法存在偏向,對具有更多類別的變量會更有利;2、對于存在關聯的多個特征,其中任意一個都可以作為指示器(優秀的特征),并且一旦某個特征被選擇之后,其他特征的重要度就會急劇下降,因為不純度已經被選中的那個特征降下來了,其他的特征就很難再降低那么多不純度了,這樣一來,只有先被選中的那個特征重要度很高,其他的關聯特征重要度往往較低。在理解數據時,這就會造成誤解,導致錯誤的認為先被選中的特征是很重要的,而其余的特征是不重要的,但實際上這些特征對響應變量的作用確實非常接近的(這跟Lasso是很像的)。

    ? ?特征隨機選擇方法稍微緩解了這個問題,但總的來說并沒有完全解決。下面的例子中,X0、X1、X2是三個互相關聯的變量,在沒有噪音的情況下,輸出變量是三者之和。

    size = 10000 np.random.seed(seed=10) X_seed = np.random.normal(0, 1, size) X0 = X_seed + np.random.normal(0, .1, size) X1 = X_seed + np.random.normal(0, .1, size) X2 = X_seed + np.random.normal(0, .1, size) X = np.array([X0, X1, X2]).T Y = X0 + X1 + X2rf = RandomForestRegressor(n_estimators=20, max_features=2) rf.fit(X, Y); print "Scores for X0, X1, X2:", map(lambda x:round (x,3),rf.feature_importances_)

    Scores for X0, X1, X2: [0.278, 0.66, 0.062]

    ? ?當計算特征重要性時,可以看到X1的重要度比X2的重要度要高出10倍,但實際上他們真正的重要度是一樣的。盡管數據量已經很大且沒有噪音,且用了20棵樹來做隨機選擇,但這個問題還是會存在。

    ? ?需要注意的一點是,關聯特征的打分存在不穩定的現象,這不僅僅是隨機森林特有的,大多數基于模型的特征選擇方法都存在這個問題。

    4.2 平均精確率減少 Mean decrease accuracy

    ? ?另一種常用的特征選擇方法就是直接度量每個特征對模型精確率的影響。主要思路是打亂每個特征的特征值順序,并且度量順序變動對模型的精確率的影響。很明顯,對于不重要的變量來說,打亂順序對模型的精確率影響不會太大,但是對于重要的變量來說,打亂順序就會降低模型的精確率。

    ? ?這個方法sklearn中沒有直接提供,但是很容易實現,下面繼續在波士頓房價數據集上進行實現。

    from sklearn.cross_validation import ShuffleSplit from sklearn.metrics import r2_score from collections import defaultdictX = boston["data"] Y = boston["target"]rf = RandomForestRegressor() scores = defaultdict(list)#crossvalidate the scores on a number of different random splits of the data for train_idx, test_idx in ShuffleSplit(len(X), 100, .3):X_train, X_test = X[train_idx], X[test_idx]Y_train, Y_test = Y[train_idx], Y[test_idx]r = rf.fit(X_train, Y_train)acc = r2_score(Y_test, rf.predict(X_test))for i in range(X.shape[1]):X_t = X_test.copy()np.random.shuffle(X_t[:, i])shuff_acc = r2_score(Y_test, rf.predict(X_t))scores[names[i]].append((acc-shuff_acc)/acc) print "Features sorted by their score:" print sorted([(round(np.mean(score), 4), feat) forfeat, score in scores.items()], reverse=True)

    Features sorted by their score: [(0.7276, 'LSTAT'), (0.5675, 'RM'), (0.0867, 'DIS'), (0.0407, 'NOX'), (0.0351, 'CRIM'), (0.0233, 'PTRATIO'), (0.0168, 'TAX'), (0.0122, 'AGE'), (0.005, 'B'), (0.0048, 'INDUS'), (0.0043, 'RAD'), (0.0004, 'ZN'), (0.0001, 'CHAS')]

    ? ?在這個例子當中,LSTAT和RM這兩個特征對模型的性能有著很大的影響,打亂這兩個特征的特征值使得模型的性能下降了73%和57%。注意,盡管這些我們是在所有特征上進行了訓練得到了模型,然后才得到了每個特征的重要性測試,這并不意味著我們扔掉某個或者某些重要特征后模型的性能就一定會下降很多,因為即便某個特征刪掉之后,其關聯特征一樣可以發揮作用,讓模型性能基本上不變。


    5 兩種頂層特征選擇算法

    ? ?之所以叫做頂層,是因為他們都是建立在基于模型的特征選擇方法基礎之上的,例如回歸和SVM,在不同的子集上建立模型,然后匯總最終確定特征得分。

    5.1 穩定性選擇 Stability selection

    ? ?穩定性選擇是一種基于二次抽樣和選擇算法相結合較新的方法,選擇算法可以是回歸、SVM或其他類似的方法。它的主要思想是在不同的數據子集和特征子集上運行特征選擇算法,不斷的重復,最終匯總特征選擇結果,比如可以統計某個特征被認為是重要特征的頻率(被選為重要特征的次數除以它所在的子集被測試的次數)。理想情況下,重要特征的得分會接近100%。稍微弱一點的特征得分會是非0的數,而最無用的特征得分將會接近于0。

    ? ?sklearn在隨機lasso和隨機邏輯回歸中有對穩定性選擇的實現。

    from sklearn.linear_model import RandomizedLasso from sklearn.datasets import load_boston boston = load_boston()#using the Boston housing data. #Data gets scaled automatically by sklearn's implementation X = boston["data"] Y = boston["target"] names = boston["feature_names"]rlasso = RandomizedLasso(alpha=0.025) rlasso.fit(X, Y)print "Features sorted by their score:" print sorted(zip(map(lambda x: round(x, 4), rlasso.scores_), names), reverse=True)

    Features sorted by their score: [(1.0, 'RM'), (1.0, 'PTRATIO'), (1.0, 'LSTAT'), (0.62, 'CHAS'), (0.595, 'B'), (0.39, 'TAX'), (0.385, 'CRIM'), (0.25, 'DIS'), (0.22, 'NOX'), (0.125, 'INDUS'), (0.045, 'ZN'), (0.02, 'RAD'), (0.015, 'AGE')]

    ? ?在上邊這個例子當中,最高的3個特征得分是1.0,這表示他們總會被選作有用的特征(當然,得分會收到正則化參數alpha的影響,但是sklearn的隨機lasso能夠自動選擇最優的alpha)。接下來的幾個特征得分就開始下降,但是下降的不是特別急劇,這跟純lasso的方法和隨機森林的結果不一樣。能夠看出穩定性選擇對于克服過擬合和對數據理解來說都是有幫助的:總的來說,好的特征不會因為有相似的特征、關聯特征而得分為0,這跟Lasso是不同的。對于特征選擇任務,在許多數據集和環境下,穩定性選擇往往是性能最好的方法之一。

    5.2 遞歸特征消除 Recursive feature elimination (RFE)

    ? ?遞歸特征消除的主要思想是反復的構建模型(如SVM或者回歸模型)然后選出最好的(或者最差的)的特征(可以根據系數來選),把選出來的特征放到一遍,然后在剩余的特征上重復這個過程,直到所有特征都遍歷了。這個過程中特征被消除的次序就是特征的排序。因此,這是一種尋找最優特征子集的貪心算法。

    ? ?RFE的穩定性很大程度上取決于在迭代的時候底層用哪種模型。例如,假如RFE采用的普通的回歸,沒有經過正則化的回歸是不穩定的,那么RFE就是不穩定的;假如采用的是Ridge,而用Ridge正則化的回歸是穩定的,那么RFE就是穩定的。

    ? ?Sklearn提供了RFE包,可以用于特征消除,還提供了RFECV,可以通過交叉驗證來對的特征進行排序。

    from sklearn.feature_selection import RFE from sklearn.linear_model import LinearRegressionboston = load_boston() X = boston["data"] Y = boston["target"] names = boston["feature_names"]#use linear regression as the model lr = LinearRegression() #rank all features, i.e continue the elimination until the last one rfe = RFE(lr, n_features_to_select=1) rfe.fit(X,Y)print "Features sorted by their rank:" print sorted(zip(map(lambda x: round(x, 4), rfe.ranking_), names))

    Features sorted by their rank: [(1.0, 'NOX'), (2.0, 'RM'), (3.0, 'CHAS'), (4.0, 'PTRATIO'), (5.0, 'DIS'), (6.0, 'LSTAT'), (7.0, 'RAD'), (8.0, 'CRIM'), (9.0, 'INDUS'), (10.0, 'ZN'), (11.0, 'TAX'), (12.0, 'B'), (13.0, 'AGE')]


    6 一個完整的例子

    ? ?下面將本文所有提到的方法進行實驗對比,數據集采用Friedman #1 回歸數據(這篇論文中的數據)。數據是用這個公式產生的:

    ? ? ? ? X1到X5是由單變量分布生成的,e是標準正態變量N(0,1)。另外,原始的數據集中含有5個噪音變量 X5,...,X10,跟響應變量是獨立的。我們增加了4個額外的變量X11,...X14,分別是X1,...,X4的關聯變量,通過f(x)=x+N(0,0.01)生成,這將產生大于0.999的關聯系數。這樣生成的數據能夠體現出不同的特征排序方法應對關聯特征時的表現。

    ? ?接下來將會在上述數據上運行所有的特征選擇方法,并且將每種方法給出的得分進行歸一化,讓取值都落在0-1之間。對于RFE來說,由于它給出的是順序而不是得分,我們將最好的5個的得分定為1,其他的特征的得分均勻的分布在0-1之間。

    from sklearn.datasets import load_boston from sklearn.linear_model import (LinearRegression, Ridge, Lasso, RandomizedLasso) from sklearn.feature_selection import RFE, f_regression from sklearn.preprocessing import MinMaxScaler from sklearn.ensemble import RandomForestRegressor import numpy as np from minepy import MINEnp.random.seed(0)size = 750 X = np.random.uniform(0, 1, (size, 14))#"Friedamn #1” regression problem Y = (10 * np.sin(np.pi*X[:,0]*X[:,1]) + 20*(X[:,2] - .5)**2 +10*X[:,3] + 5*X[:,4] + np.random.normal(0,1)) #Add 3 additional correlated variables (correlated with X1-X3) X[:,10:] = X[:,:4] + np.random.normal(0, .025, (size,4))names = ["x%s" % i for i in range(1,15)]ranks = {}def rank_to_dict(ranks, names, order=1):minmax = MinMaxScaler()ranks = minmax.fit_transform(order*np.array([ranks]).T).T[0]ranks = map(lambda x: round(x, 2), ranks)return dict(zip(names, ranks ))lr = LinearRegression(normalize=True) lr.fit(X, Y) ranks["Linear reg"] = rank_to_dict(np.abs(lr.coef_), names)ridge = Ridge(alpha=7) ridge.fit(X, Y) ranks["Ridge"] = rank_to_dict(np.abs(ridge.coef_), names)lasso = Lasso(alpha=.05) lasso.fit(X, Y) ranks["Lasso"] = rank_to_dict(np.abs(lasso.coef_), names)rlasso = RandomizedLasso(alpha=0.04) rlasso.fit(X, Y) ranks["Stability"] = rank_to_dict(np.abs(rlasso.scores_), names)#stop the search when 5 features are left (they will get equal scores) rfe = RFE(lr, n_features_to_select=5) rfe.fit(X,Y) ranks["RFE"] = rank_to_dict(map(float, rfe.ranking_), names, order=-1)rf = RandomForestRegressor() rf.fit(X,Y) ranks["RF"] = rank_to_dict(rf.feature_importances_, names)f, pval = f_regression(X, Y, center=True) ranks["Corr."] = rank_to_dict(f, names)mine = MINE() mic_scores = [] for i in range(X.shape[1]):mine.compute_score(X[:,i], Y)m = mine.mic()mic_scores.append(m)ranks["MIC"] = rank_to_dict(mic_scores, names)r = {} for name in names:r[name] = round(np.mean([ranks[method][name] for method in ranks.keys()]), 2)methods = sorted(ranks.keys()) ranks["Mean"] = r methods.append("Mean")print "\t%s" % "\t".join(methods) for name in names:print "%s\t%s" % (name, "\t".join(map(str, [ranks[method][name] for method in methods])))

    從以上結果中可以找到一些有趣的發現:

    ? ?特征之間存在線性關聯關系,每個特征都是獨立評價的,因此X1,...X4的得分和X11,...X14的得分非常接近,而噪音特征X5,...,X10正如預期的那樣和響應變量之間幾乎沒有關系。由于變量X3是二次的,因此X3和響應變量之間看不出有關系(除了MIC之外,其他方法都找不到關系)。這種方法能夠衡量出特征和響應變量之間的線性關系,但若想選出優質特征來提升模型的泛化能力,這種方法就不是特別給力了,因為所有的優質特征都不可避免的會被挑出來兩次。

    ? ?Lasso能夠挑出一些優質特征,同時讓其他特征的系數趨于0。當如需要減少特征數的時候它很有用,但是對于數據理解來說不是很好用。(例如在結果表中,X11,X12,X13的得分都是0,好像他們跟輸出變量之間沒有很強的聯系,但實際上不是這樣的)

    ? ?MIC對特征一視同仁,這一點上和關聯系數有點像,另外,它能夠找出X3和響應變量之間的非線性關系。

    ? ?隨機森林基于不純度的排序結果非常鮮明,在得分最高的幾個特征之后的特征,得分急劇的下降。從表中可以看到,得分第三的特征比第一的小4倍。而其他的特征選擇算法就沒有下降的這么劇烈。

    ? ?Ridge將回歸系數均勻的分攤到各個關聯變量上,從表中可以看出,X11,...,X14和X1,...,X4的得分非常接近。

    ? ?穩定性選擇常常是一種既能夠有助于理解數據又能夠挑出優質特征的這種選擇,在結果表中就能很好的看出。像Lasso一樣,它能找到那些性能比較好的特征(X1,X2,X4,X5),同時,與這些特征關聯度很強的變量也得到了較高的得分。


    總結

  • 對于理解數據、數據的結構、特點來說,單變量特征選擇是個非常好的選擇。盡管可以用它對特征進行排序來優化模型,但由于它不能發現冗余(例如假如一個特征子集,其中的特征之間具有很強的關聯,那么從中選擇最優的特征時就很難考慮到冗余的問題)。
  • 正則化的線性模型對于特征理解和特征選擇來說是非常強大的工具。L1正則化能夠生成稀疏的模型,對于選擇特征子集來說非常有用;相比起L1正則化,L2正則化的表現更加穩定,由于有用的特征往往對應系數非零,因此L2正則化對于數據的理解來說很合適。由于響應變量和特征之間往往是非線性關系,可以采用basis expansion的方式將特征轉換到一個更加合適的空間當中,在此基礎上再考慮運用簡單的線性模型。
  • 隨機森林是一種非常流行的特征選擇方法,它易于使用,一般不需要feature engineering、調參等繁瑣的步驟,并且很多工具包都提供了平均不純度下降方法。它的兩個主要問題,1是重要的特征有可能得分很低(關聯特征問題),2是這種方法對特征變量類別多的特征越有利(偏向問題)。盡管如此,這種方法仍然非常值得在你的應用中試一試。
  • 特征選擇在很多機器學習和數據挖掘場景中都是非常有用的。在使用的時候要弄清楚自己的目標是什么,然后找到哪種方法適用于自己的任務。當選擇最優特征以提升模型性能的時候,可以采用交叉驗證的方法來驗證某種方法是否比其他方法要好。當用特征選擇的方法來理解數據的時候要留心,特征選擇模型的穩定性非常重要,穩定性差的模型很容易就會導致錯誤的結論。對數據進行二次采樣然后在子集上運行特征選擇算法能夠有所幫助,如果在各個子集上的結果是一致的,那就可以說在這個數據集上得出來的結論是可信的,可以用這種特征選擇模型的結果來理解數據。
  • Tips

    ? ?什么是卡方檢驗?用方差來衡量某個觀測頻率和理論頻率之間差異性的方法

    ? ?什么是皮爾森卡方檢驗?這是一種最常用的卡方檢驗方法,它有兩個用途:1是計算某個變量對某種分布的擬合程度,2是根據兩個觀測變量的Contingency table來計算這兩個變量是否是獨立的。主要有三個步驟:第一步用方差和的方式來計算觀測頻率和理論頻率之間卡方值;第二步算出卡方檢驗的自由度(行數-1乘以列數-1);第三步比較卡方值和對應自由度的卡方分布,判斷顯著性。

    ? ?什么是p-value?簡單地說,p-value就是為了驗證假設和實際之間一致性的統計學意義的值,即假設檢驗。有些地方叫右尾概率,根據卡方值和自由度可以算出一個固定的p-value,

    ? ?什么是響應變量(response value)?簡單地說,模型的輸入叫做explanatroy variables,模型的輸出叫做response variables,其實就是要驗證該特征對結果造成了什么樣的影響

    ? ?什么是統計能力(statistical power)?

    ? ?什么是度量(metric)?

    ? ?什么是零假設(null hypothesis)?在相關性檢驗中,一般會取“兩者之間無關聯”作為零假設,而在獨立性檢驗中,一般會取“兩者之間是獨立”作為零假設。與零假設相對的是備擇假設(對立假設),即希望證明是正確的另一種可能。

    ? ?什么是多重共線性?

    ? ?什么是grid search?

    That's it

    References

  • http://blog.datadive.net/selecting-good-features-part-i-univariate-selection/
  • http://blog.datadive.net/selecting-good-features-part-ii-linear-models-and-regularization/
  • http://scikit-learn.org/stable/modules/feature_selection.html#univariate-feature-selection
  • http://www.quora.com/What-are-some-feature-selection-methods
  • http://www.quora.com/What-are-some-feature-selection-algorithms
  • http://www.quora.com/What-are-some-feature-selection-methods-for-SVMs
  • http://www.quora.com/What-is-the-difference-between-principal-component-analysis-PCA-and-feature-selection-in-machine-learning-Is-PCA-a-means-of-feature-selection
  • 本文轉載自:http://chaoslog.com/te-zheng-xuan-ze.html

    總結

    以上是生活随笔為你收集整理的如何进行特征选择?的全部內容,希望文章能夠幫你解決所遇到的問題。

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

    五月宗合网 | 91在线视频网址 | 国产精品久久影院 | 国产精品午夜在线观看 | 国产黄色精品 | 国产免费观看久久 | avsex| 天天拍天天色 | 狠狠黄| 国产精品成人av久久 | 亚洲高清视频在线观看 | 国产成人区 | 中文字幕av专区 | 99精品在线视频播放 | 中文字幕在线观看视频一区二区三区 | 亚洲毛片一区二区三区 | 免费看污污视频的网站 | 人人躁| av再线观看 | 国产欧美三级 | 国产一级片网站 | 在线看一区二区 | 精品一区二区6 | a黄色 | 视频高清 | 色妞色视频一区二区三区四区 | 玖玖爱在线观看 | 精品视频成人 | 天天色天天射天天干 | 国产 日韩 欧美 自拍 | av在线电影网站 | av久久在线 | 一区二区三区免费在线观看视频 | 欧美日韩在线精品 | 在线一区电影 | 久久草草影视免费网 | 精品久久久久免费极品大片 | 免费福利在线视频 | 天天射天天射天天射 | 成人av在线影视 | 日韩欧美视频免费观看 | 99在线观看视频 | 国产91精品高清一区二区三区 | 欧美成人xxxxx | 国产亚洲精品久久久久5区 成人h电影在线观看 | 久久久精品欧美一区二区免费 | 日韩在线视频线视频免费网站 | 午夜婷婷综合 | 日本一区二区三区视频在线播放 | 日本xxxx.com| 欧美在线观看视频一区二区 | 91最新视频在线观看 | www.天天色 | 国内精品久久久久久久久久 | 丝袜美女在线观看 | 日韩av偷拍 | 久久专区 | 久久精品99国产国产 | 国产成人久久精品77777综合 | www.97视频| 五月婷婷丁香激情 | 国产麻豆果冻传媒在线观看 | 五月婷在线 | 日本久久影视 | 成人一区二区三区中文字幕 | 日韩欧美精品在线视频 | av黄色在线播放 | 久久中文字幕在线视频 | 欧美日韩国产高清视频 | 国产这里只有精品 | 草樱av| 国产精品九九九九九九 | 色老板在线 | 欧美日韩国产综合一区二区 | 一区二区伦理电影 | 国产一线二线三线性视频 | 欧美激情精品久久久久久变态 | 久久精品毛片基地 | 91av在线不卡 | 激情久久综合 | 一区二区三区 中文字幕 | 国产精品久久久久永久免费观看 | 99精品在线免费观看 | 欧美日韩高清在线一区 | 成人黄色片在线播放 | 久久夜色精品国产欧美乱极品 | 国产福利电影网址 | 成人性生交大片免费看中文网站 | 97人人添人澡人人爽超碰动图 | 精品在线小视频 | 公与妇乱理三级xxx 在线观看视频在线观看 | 国产精品久久久久久麻豆一区 | 麻豆一二三精选视频 | 国产精品久久久一区二区 | 视频成人永久免费视频 | 在线 高清 中文字幕 | 五月天亚洲激情 | 欧美一级爽 | 九九久久影视 | 天天综合精品 | 91最新在线 | 男女拍拍免费视频 | 在线日韩av| 日韩在线观看一区二区三区 | 免费观看黄色12片一级视频 | 色婷婷视频在线 | 久久久精品福利视频 | av在线中文 | 日日夜夜天天久久 | 亚洲国产精品va在线看黑人动漫 | 美女黄色网在线播放 | 久久久免费视频播放 | 伊人五月在线 | 韩日av在线 | 天天干,夜夜爽 | 狠狠干狠狠操 | 九九热免费在线视频 | 狠狠色综合网站久久久久久久 | 亚洲成人黄 | 久亚洲| 国产精品视频999 | 国产精品网站一区二区三区 | 草久久久久久久 | 婷婷国产v亚洲v欧美久久 | 伊人日日干 | 天天干天天做 | 少妇超碰在线 | 欧美精品一区二区免费 | 91精品在线视频观看 | 麻豆影视在线免费观看 | 日韩xxxxxxxxx| 日日干日日色 | 国产伦精品一区二区三区四区视频 | 在线免费视频 你懂得 | 欧美高清成人 | 婷婷六月综合亚洲 | 国产精品mv | 亚洲国产欧美在线人成大黄瓜 | 三级黄色a | 天天综合婷婷 | av电影不卡 | 久久av影视 | 天天爽天天做 | 久久综合九色综合97_ 久久久 | 91久草视频 | 国产日韩精品一区二区三区 | 亚洲专区一二三 | 色国产精品一区在线观看 | 丁香综合网 | 天天干天天射天天插 | 国产成人久久av免费高清密臂 | 日韩在线精品 | 丁香网五月天 | 欧美日韩视频在线观看免费 | 免费毛片aaaaaa | 激情动态| 一区二区高清在线 | 日日精品 | 美女中文字幕 | 亚洲不卡123 | 欧美亚洲免费在线一区 | 国产精品18p | 国产日韩中文字幕 | a电影免费看| 国产小视频在线免费观看 | 91视频中文字幕 | 国产亚洲精品精品精品 | 精品久久久久久久久亚洲 | 狠狠躁日日躁夜夜躁av | 久久理论片 | 亚洲精品视频中文字幕 | 一级片免费观看 | 91精品一区国产高清在线gif | 97在线看| 91av资源在线 | 九色自拍视频 | 久久久免费高清视频 | 丁香花在线视频观看免费 | 精品96久久久久久中文字幕无 | www.com黄色 | 国产一二三区av | 亚洲国产精品日韩 | 国产精品九九久久99视频 | 香蕉视频在线免费看 | 欧美日韩国产伦理 | 视频二区在线 | 特级毛片在线 | 99久视频| 91 在线视频 | 免费视频一区二区 | 97超在线视频 | 日韩 在线观看 | 亚洲国产免费看 | 九九热免费观看 | 久久99国产精品视频 | 午夜av免费看 | 国产色视频一区 | 免费看日韩 | 99久久国产免费看 | 一区三区视频在线观看 | av黄网站 | 国产精品麻豆三级一区视频 | 在线免费三级 | 日韩高清一区二区 | av福利在线免费观看 | 三级av免费观看 | 国产精品成人自产拍在线观看 | 天天综合亚洲 | 国产免费观看高清完整版 | 国产乱对白刺激视频不卡 | 国产精品一区二区三区免费视频 | 在线成人免费电影 | 国产探花视频在线播放 | 欧美一二三区在线观看 | 日韩在线免费视频观看 | 久久毛片网 | av一本久道久久波多野结衣 | 精品久久一区 | 国产高h视频 | 色视频网页 | 探花系列在线 | 国产欧美精品一区二区三区 | 色综合咪咪久久网 | av一区在线播放 | 国产精品av免费观看 | 91一区二区三区在线观看 | 中文字幕资源网 | 欧美国产91 | 亚洲人成综合 | 成年人在线看片 | 日韩电影一区二区三区 | 在线视频久久 | 久久综合毛片 | 性色在线视频 | 亚洲精品乱码久久久久久按摩 | 成人网444ppp | 色窝资源 | 婷色| 久久伊人婷婷 | 日韩网站在线观看 | 日韩黄色在线观看 | 国产网站色 | 国产一级片免费视频 | 99色免费 | 精品在线观看视频 | 2021av在线| 丝袜制服综合网 | 中文一区在线 | 韩国一区视频 | 韩国av一区 | 亚洲精品99久久久久久 | 国产精品欧美精品 | 色综合欧洲 | 999视频网站 | 亚洲欧美婷婷六月色综合 | 国产中文字幕一区 | 九九综合久久 | 91亚洲国产成人久久精品网站 | 日本三级全黄少妇三2023 | a天堂最新版中文在线地址 久久99久久精品国产 | 五月天丁香综合 | 国产精品久久久久久久久久久免费看 | 天天操夜夜逼 | av中文天堂| www.五月婷 | 中文字幕资源网 国产 | 婷婷在线综合 | 手机在线看永久av片免费 | 午夜av剧场 | 国产精品一区二区三区四 | 亚洲日本成人网 | 国产精品99久久免费黑人 | 国产视频在线观看一区二区 | 日韩在线观看影院 | 在线免费观看视频a | 97成人精品视频在线观看 | 国产精品自拍在线 | 日日爱视频 | 丁香六月五月婷婷 | www.久草.com | 综合久久网 | 久久综合九九 | av电影免费在线看 | 日韩网站中文字幕 | 粉嫩av一区二区三区免费 | 天天综合网在线 | 天天摸天天操天天爽 | 日韩免费看| 韩日电影在线免费看 | 久久影院中文字幕 | 久久精品这里都是精品 | 日韩av免费在线看 | 日韩一区二区在线免费观看 | 在线视频欧美精品 | 美女视频免费精品 | av 一区二区三区四区 | 亚洲欧洲久久久 | 中文字幕一区二区三区久久蜜桃 | 中文字幕电影网 | 婷婷色资源 | 成人午夜电影免费在线观看 | 国产一区视频在线 | 香蕉视频网站在线观看 | 天天操天天玩 | 中文字幕有码在线播放 | 免费在线观看av网站 | 色姑娘综合 | 久草综合视频 | 丁香五香天综合情 | 美女在线国产 | 正在播放一区二区 | 成年人免费电影在线观看 | 日韩精品一区二区在线视频 | 国产精品黄色影片导航在线观看 | 亚洲成人精品在线 | 国产xxxx性hd极品 | 2019天天干天天色 | 亚洲婷婷伊人 | 天天射天天搞 | 五月婷婷六月丁香 | 91成人看片 | 激情婷婷综合网 | 国产视频一区在线免费观看 | 久久人人爽人人片av | 国产精品久久久久四虎 | 国产超碰97| 9在线观看免费高清完整 | 日韩欧美电影在线观看 | 91综合色| 不卡精品视频 | 菠萝菠萝蜜在线播放 | 91av视频在线观看免费 | 婷婷成人综合 | 日日操网| 色婷婷视频在线观看 | 亚洲成人精品在线 | 久久这里只有精品视频首页 | 国产精品久久视频 | 久久久国产一区二区 | 日韩欧美在线综合网 | 亚洲人片在线观看 | 国产三级精品三级在线观看 | 香蕉视频在线免费看 | 亚洲黄色小说网 | 2019精品手机国产品在线 | 最近中文字幕视频网 | 国内精品久久久久影院一蜜桃 | 9999在线视频 | 国产精品福利在线 | 久久久久久黄 | 99热精品国产一区二区在线观看 | 亚洲一区二区三区四区在线视频 | 五月婷香蕉久色在线看 | 亚洲激情在线视频 | 色狠狠综合 | 99久久精品国产网站 | 91在线小视频 | 天天爱天天操 | 久久久久久久久久久影视 | 99久久精品免费看国产四区 | 亚洲九九九 | 一级黄色电影网站 | 黄色的网站免费看 | 亚洲资源在线观看 | 狠狠操综合网 | av大全在线 | 97超碰总站 | 日本中文字幕观看 | 国产99精品在线观看 | 亚洲激情 在线 | 国产一级片久久 | 91av在 | 成人网444ppp | 精品久久久久久亚洲综合网站 | 亚洲狠狠丁香婷婷综合久久久 | 91精品综合在线观看 | 一级性av| 中文字幕免费高清 | 欧美精品一级视频 | 日日夜夜精品 | 蜜桃麻豆www久久囤产精品 | 91中文字幕视频 | 久99久精品| 国产精品久久久久一区二区 | 在线成人免费av | 日韩高清不卡在线 | 色五月成人| 99高清视频有精品视频 | 日韩小视频 | 欧美极品少妇xxxx | 日韩最新在线视频 | 国产97色在线 | 国内精品久久久久久久久久 | 亚洲视频免费视频 | 在线国产视频一区 | 亚洲成人影音 | 国产精品高潮在线观看 | 91中文字幕在线 | 亚洲精品视频在线 | 久久一线 | 久久免费国产精品 | 中国精品一区二区 | 99视频免费播放 | 最近高清中文字幕在线国语5 | 93久久精品日日躁夜夜躁欧美 | 精品国产欧美一区二区三区不卡 | 国产精品视频资源 | 国产资源免费 | 在线观影网站 | 亚洲一二三久久 | 日韩精品在线视频 | 免费看黄色大全 | 国产最新视频在线 | 亚洲欧美日韩不卡 | 五月婷婷操 | 五月婷婷在线视频 | 日韩| 狠狠色丁香婷婷综合久小说久 | 天天色天天综合 | 久久人人爽人人爽人人片av免费 | 亚洲欧美日本一区二区三区 | 99欧美精品 | 婷婷色视频 | 日韩激情视频在线观看 | 激情久久久久 | 日韩欧美黄色网址 | 日韩视频免费 | 日韩在线免费高清视频 | 人人爱夜夜操 | 国产精品地址 | 天天曰天天射 | 五月婷婷六月丁香激情 | 国产精品一区二区美女视频免费看 | 日韩高清在线不卡 | 奇米四色影狠狠爱7777 | avove黑丝| 视频 天天草 | 9色在线视频 | 黄色三级网站在线观看 | 久久不卡电影 | 日韩在线视频国产 | 玖玖在线精品 | 日本精品视频在线观看 | 超碰在线观看99 | www.福利| 蜜桃视频日韩 | 国产欧美精品一区二区三区四区 | av理论电影 | 久草国产在线 | 天天爱天天射天天干天天 | 一区二区三区在线视频111 | 欧美一级在线观看视频 | 亚洲成aⅴ人在线观看 | 日韩在线免费高清视频 | 亚洲精品视频网 | 久久久免费看片 | 国产精品视频免费在线观看 | 99色亚洲| 精品一区91 | 丁香视频全集免费观看 | 日韩免费中文 | 天堂av影院 | 精品你懂的 | 制服丝袜欧美 | 狠狠色噜噜狠狠狠 | 深夜精品福利 | 99久久久久国产精品免费 | 久久69精品久久久久久久电影好 | 天天射狠狠干 | 色婷婷伊人 | 在线观看色网站 | 久久精品视频播放 | 五月婷社区| 久久久久久免费网 | 国产在线一区二区三区播放 | 国产成人精品午夜在线播放 | 国产主播99 | 日韩中文字幕91 | 五月天丁香视频 | 久久网站最新地址 | 青青草在久久免费久久免费 | 久久久久免费看 | 日韩中文在线观看 | 91精品国产九九九久久久亚洲 | 在线看毛片网站 | 三级动态视频在线观看 | 久久精品美女 | 婷婷av网站 | 久久综合爱| 久久久999免费视频 日韩网站在线 | 91精品天码美女少妇 | 婷婷六月天丁香 | 天天综合操 | 免费性网站 | 在线播放一区 | 日韩资源在线播放 | ,午夜性刺激免费看视频 | 婷婷伊人网 | 久久网站免费 | 午夜精品一区二区三区免费 | 久久精品国产一区二区电影 | 国产中文字幕视频在线观看 | 成人黄色国产 | 人人澡人人舔 | 久久久性 | 欧美日韩国产一区二 | 日韩精品一区二区三区免费观看视频 | 亚洲日韩中文字幕在线播放 | 亚洲 欧美 综合 在线 精品 | 婷婷丁香导航 | 婷婷色中文网 | 最新日韩在线观看 | 欧美va天堂va视频va在线 | 日本精品免费看 | 91精品导航| 久久精品韩国 | 9ⅰ精品久久久久久久久中文字幕 | 亚洲动漫在线观看 | 极品美女被弄高潮视频网站 | 亚洲视频网站在线观看 | 97涩涩视频 | 特片网久久 | 日日操日日插 | 99精品一区二区三区 | 色婷婷av国产精品 | 免费看一级黄色大全 | 亚洲1级片| 国产视频一级 | 天天射天天操天天色 | 国产精品久久久久久久久久免费 | 久久免费国产精品 | av在线电影网站 | 91成年人在线观看 | 天天操导航| 久久99精品国产麻豆宅宅 | 开心激情网五月天 | 国产精品久久久久久久久久久久久久 | 欧美久久电影 | 亚洲午夜在线视频 | 免费在线激情电影 | 色网站视频 | 最近字幕在线观看第一季 | 国产伦精品一区二区三区… | 国产午夜剧场 | 亚洲无在线 | 欧美 激情 国产 91 在线 | 色婷婷免费视频 | 国产精品av久久久久久无 | 精品在线二区 | 国产一区在线免费观看视频 | 在线观看视频一区二区三区 | 久久久精品综合 | 午夜视频欧美 | 午夜黄色一级片 | 国产一区二区在线免费 | 亚洲综合视频在线 | 亚洲免费公开视频 | 亚洲一级性 | 国产乱码精品一区二区蜜臀 | 成人试看120秒 | 日本中文字幕视频 | 一区二区三区观看 | 欧美日韩综合在线 | 激情偷乱人伦小说视频在线观看 | 超级碰碰免费视频 | 日韩免费网址 | 亚洲最大av | 97电影网站 | 中文字幕xxxx | 99视频国产精品免费观看 | 香蕉色综合 | 福利一区二区在线 | 麻豆观看 | 久久久一本精品99久久精品66 | 日本精品一 | 狠狠ri| 欧美亚洲国产一卡 | 免费福利在线观看 | 最近中文字幕高清字幕免费mv | av色网站 | av黄色成人| 美女久久久久久久 | 久久久久久免费网 | 又黄又刺激视频 | 久久九九国产视频 | 日韩欧在线 | 久久99久久精品国产 | 国产精品区一区 | 日日干视频 | 中文网丁香综合网 | 久久国产精品久久w女人spa | 亚洲视频999 | 国产日韩精品在线观看 | 日韩视频精品在线 | 日韩av成人在线 | 日韩精品第一区 | 国产乱码精品一区二区三区介绍 | 国产成人在线精品 | av888.com| 国产又黄又猛又粗 | 亚州国产精品视频 | 中文字幕 成人 | 日本爱爱免费视频 | 国产精久久 | 国产精品黄色在线观看 | 日日骑| 在线观看视频国产 | 五月婷婷狠狠 | 蜜桃av观看 | 久久不射电影院 | 婷婷激情综合网 | 欧美另类xxx | 一本一本久久a久久精品综合妖精 | 亚洲人视频在线 | 国产一级在线免费观看 | 国产1区2区3区在线 亚洲自拍偷拍色图 | 久久精品日产第一区二区三区乱码 | 日本中文在线观看 | www.成人sex| 欧美一区二区在线刺激视频 | 国产在线a| 四虎国产精| 久久人人爽爽人人爽人人片av | 人人干人人干人人干 | 久久国产精品久久w女人spa | 欧美一级电影免费观看 | 午夜狠狠操 | 99午夜| 欧美日本日韩aⅴ在线视频 插插插色综合 | 欧美日韩不卡一区 | 久久久久免费观看 | 在线观看亚洲a | 少妇bbb搡bbbb搡bbbb′ | 免费人成在线观看网站 | 免费三级在线 | 久久久高清免费视频 | 亚洲乱码国产乱码精品天美传媒 | 亚洲一区尤物 | 国产精品剧情 | 国产成人一区二区三区免费看 | 五月婷婷综合久久 | 日本精a在线观看 | 就要干b| 中文字幕色在线视频 | 久久免费视频一区 | 精品一区二区三区在线播放 | 在线天堂8√| 国产综合福利在线 | 五月婷婷综合激情 | 99综合影院在线 | 一级黄色大片 | 国产剧情一区二区 | 色婷婷骚婷婷 | 久久久久久网址 | 一区二区不卡在线观看 | 日韩精品久久一区二区三区 | 精品中文字幕在线 | 丝袜美女在线观看 | 国产精品破处视频 | 久久久久久久久久久久电影 | 蜜臀av在线一区二区三区 | a天堂在线看 | 欧美电影在线观看 | 国产高清专区 | 91精品在线观看视频 | 黄色1级大片 | 日韩精品中文字幕久久臀 | 国产又粗又硬又爽视频 | 一级黄色片在线免费观看 | 六月丁香社区 | 精品xxx| 欧美亚洲另类在线视频 | 欧美最爽乱淫视频播放 | 国产精品日韩久久久久 | 久久精品国产第一区二区三区 | 免费观看一级视频 | 精品国产一区二区三区四 | 天堂av在线网 | www.在线看片.com | 婷婷五月在线视频 | 天天色 天天 | 久久精品1区 | 一级性视频 | 国产精品福利在线播放 | 九九久久影院 | 亚洲自拍自偷 | 国产精品毛片久久久久久 | 日韩免费视频网站 | 国产精品视频永久免费播放 | 亚洲一二三区精品 | 久草97| 黄色软件视频网站 | 超碰在线94| av福利电影| 成年免费在线视频 | av大全在线观看 | 国产美女视频 | 狠狠的干狠狠的操 | 66av99精品福利视频在线 | 色在线中文字幕 | 婷婷色在线 | 精品日韩在线一区 | 国产午夜精品一区二区三区嫩草 | av在线官网 | 在线99视频 | 日日日日日 | 99性视频| 久久久www成人免费精品张筱雨 | 亚洲综合欧美精品电影 | 天天综合操 | 97超碰成人在线 | 精品在线观看国产 | 日韩素人在线观看 | 精品视频 | 久久精品久久综合 | 免费a网站 | 你操综合 | 最新超碰在线 | 激情五月婷婷网 | 久在线 | 精品国产激情 | 国产黄在线看 | 日韩视频免费在线观看 | 久久久精品国产一区二区电影四季 | 麻豆传媒视频在线免费观看 | 婷婷夜夜 | 国产日韩欧美精品在线观看 | 玖玖综合网 | 超碰97国产在线 | 69绿帽绿奴3pvideos| 久久九九久久 | 九九热在线免费观看 | 色欧美88888久久久久久影院 | 一区二区 精品 | 久久字幕网| 国产又粗又猛又黄又爽 | 日本公乱妇视频 | 麻豆视频一区二区 | 日韩精品一区二区久久 | 久久午夜精品视频 | www黄色软件| 成 人 免费 黄 色 视频 | 日韩成片 | 亚洲精品美女久久久久 | 99视频| av 一区 二区 久久 | 天天曰天天爽 | 欧美aaa一级| 午夜 免费| 免费高清看电视网站 | 在线不卡的av | av免费看在线 | 国产亚洲日本 | 天天干,夜夜操 | 99热国内精品 | 久久综合在线 | 日本 在线 视频 中文 有码 | 在线不卡a | 久久国产电影 | 操操操人人| 成年人免费看片网站 | 国产精品一区二区av麻豆 | 日韩a级黄色片 | 亚洲在线网址 | 欧美激情精品久久久久 | 免费成人在线视频网站 | 日本黄色免费在线 | 精品国产三级a∨在线欧美 免费一级片在线观看 | 午夜.dj高清免费观看视频 | 国产亚洲在线 | 亚洲 欧美 综合 在线 精品 | 探花视频在线观看免费版 | 久久高清av | 高清不卡一区二区在线 | 中文字幕在线观看第二页 | 1000部18岁以下禁看视频 | 国产69精品久久久久99尤 | 国产黄色高清 | 日韩区欠美精品av视频 | www.色婷婷.com| 人人爱人人射 | 九九久久久久久久久激情 | 亚洲午夜大片 | 欧美精品三级在线观看 | 天天干天天操天天操 | 久久天堂影院 | 在线观看片 | 国产精品久久久久久久久久久久冷 | 免费高清在线观看成人 | 玖玖在线看 | 在线看中文字幕 | 97天堂| 日韩免费b | 国产成人精品一区二区三区福利 | 九九热精品视频在线播放 | 香蕉视频在线看 | 精品久久久久久综合日本 | 国产精品尤物视频 | 丁香av | 欧美一区二区在线刺激视频 | 夜夜骑日日操 | 亚洲国产资源 | 在线观看91精品视频 | avav片| 亚洲国产精品一区二区久久hs | 天天草天天 | 国产色妞影院wwwxxx | 在线观看日本高清mv视频 | 婷婷亚洲综合五月天小说 | 永久免费av在线播放 | 丝袜美腿亚洲综合 | 在线免费中文字幕 | 久草久视频| 91精品网站 | 成av在线| 日本电影黄色 | 69精品在线观看 | a色视频 | 精品国产中文字幕 | 亚洲精品影视在线观看 | 免费手机黄色网址 | 国产一线二线三线性视频 | www.天天操 | 久久久精品电影 | 日韩在线短视频 | www黄色 | 久久99精品久久久久久清纯直播 | 日韩免费一区二区三区 | 亚洲精品乱码久久久久久蜜桃欧美 | 久久国产免费 | 欧美精品被 | 久久午夜鲁丝片 | 国产午夜精品久久久久久久久久 | 国产aa精品 | 91在线精品一区二区 | 手机av电影在线 | 成人黄色免费在线观看 | 国产精品男女视频 | 99亚洲天堂 | 久久99影院 | 人人澡人人干 | av中文字幕不卡 | 亚洲精品一区二区三区四区高清 | 91在线麻豆 | 91天天操 | 午夜12点| 免费看wwwwwwwwwww的视频 久久久久久99精品 91中文字幕视频 | 国产精品中文久久久久久久 | 色播五月激情综合网 | 麻豆久久一区二区 | 麻豆视频观看 | 日韩成人看片 | 亚洲综合激情小说 | 伊人永久 | 丁香花中文在线免费观看 | 国产精品尤物 | 精品美女国产在线 | 国产精品一区电影 | 日韩在线视频网址 | 中文字幕视频免费观看 | 亚洲最大的av网站 | 国产美女主播精品一区二区三区 | 热99在线视频 | 欧美性超爽| 日韩二级毛片 | 中文字幕 国产视频 | 久草在线视频看看 | 色丁香婷婷 | 久久毛片高清国产 | 国产视频亚洲 | 国产在线中文字幕 | 日韩视频免费观看高清 | 玖玖在线观看视频 | 天天色宗合 | 成人四虎影院 | 成人av中文字幕 | 久久中文网| 中文字幕一区二区三区精华液 | 久热爱| 日本午夜在线亚洲.国产 | 免费日韩一区 | 91传媒在线观看 | 在线亚洲成人 | 黄色亚洲精品 | 黄色影院在线观看 | 毛片精品免费在线观看 | 99精品视频99 | 91av综合| 摸bbb搡bbb搡bbbb | 免费黄色特级片 | 中文字幕免费 | 亚洲欧美日韩精品久久奇米一区 | 日批网站免费观看 | 免费在线黄网 | 丰满少妇在线观看网站 | 欧美在线视频一区二区 | 亚洲 欧洲av | av日韩av| 日韩女同一区二区三区在线观看 | free,性欧美 九九交易行官网 | 超碰在线最新网址 | 九九精品久久久 | a√天堂中文在线 | 中文国产在线观看 | 免费观看国产精品视频 | 成人中文字幕+乱码+中文字幕 | 午夜久久久久 | 亚洲一区二区观看 | 亚洲精品美女久久久久网站 | 亚洲黄色精品 | 亚在线播放中文视频 | 国产高清在线永久 | 在线黄色国产 | 日韩在线视频观看免费 | 亚洲天堂网站视频 | 天天人人综合 | 午夜精品视频福利 | 狠狠躁日日躁狂躁夜夜躁 | 亚洲欧美视频在线观看 | 色婷婷综合在线 | 久久精品91视频 | 日韩av看片| 欧美在线一二区 | 亚洲精品456在线播放乱码 | av在线免费播放网站 | 天天色天天射天天操 | 高清中文字幕av | 亚洲精品9| 成人免费一级 | 中文字幕二区在线观看 | 又湿又紧又大又爽a视频国产 | 一级精品视频在线观看宜春院 | 新版资源中文在线观看 | 亚洲少妇自拍 | 激情综合网在线观看 | 免费日p视频 | 92中文资源在线 | 日韩在线观看电影 | 色亚洲激情 | 中文字幕国产精品一区二区 | 国产亚洲精品无 | 91麻豆精品国产91久久久无限制版 | 91麻豆传媒| 日韩在线一级 | 在线免费观看黄网站 | 国产一区福利 | 中文字幕在线有码 | 国产精品久久久视频 | 日本爱爱免费 | 丁香五婷 | 亚洲天天综合网 | 一本一本久久a久久精品牛牛影视 | 国产成人精品亚洲日本在线观看 | 国产日产精品一区二区三区四区 | 日韩视频中文字幕在线观看 | 在线有码中文字幕 | 一级做a视频 | 成人在线免费观看视视频 | 久久不射电影院 | 免费91在线 | 久久精品国产精品亚洲 | 中文字幕 国产专区 | 五月天婷婷狠狠 | 黄色一级免费 | 夜夜躁天天躁很躁波 | 一区二区三区在线视频观看58 | 三级黄色片子 | 91亚色免费视频 | 亚洲视频免费在线观看 | 日韩精品一区二区在线 | 久久视频中文字幕 | 7777xxxx| 精品国产一二三四区 | 久久综合免费视频影院 | 黄色三级在线 | 成人欧美一区二区三区在线观看 | 波多野结衣日韩 | 亚洲一区二区精品在线 | 久久精品久久99精品久久 | 天天干.com | 国产在线久久久 | 亚洲一区网 | 日韩中文字幕免费视频 | 欧美午夜一区二区福利视频 | 成人国产精品免费观看 | 最近中文字幕完整高清 | 免费毛片一区二区三区久久久 | 依人成人综合网 | 国产亚洲精品久久久久久无几年桃 | 午夜在线免费观看 | 在线观看视频福利 | 色综合久久网 | 久久久久女教师免费一区 | 日本公妇色中文字幕 | 一本一本久久aa综合精品 | 在线观看一区 | 国产黄色美女 | 国产精品久久久久久久久久久杏吧 |