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

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

【机器学习】6大监督学习模型:毒蘑菇分类

發(fā)布時間:2025/3/12 编程问答 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【机器学习】6大监督学习模型:毒蘑菇分类 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

公眾號:尤而小屋
作者:Peter
編輯:Peter

大家好,我是Peter~

本文是kaggle案例分享的第3篇,賽題的名稱是:Mushroom Classification,Safe to eat or deadly poison?

數(shù)據(jù)來自UCI:https://archive.ics.uci.edu/ml/datasets/mushroom

kaggle源碼地址:https://www.kaggle.com/nirajvermafcb/comparing-various-ml-models-roc-curve-comparison

排名

下面是kaggle上針對本題的排名。第一名側(cè)重點是特征選擇,沒有用到本題的數(shù)據(jù),我個人感覺跑偏了;第二名側(cè)重點是基于貝葉斯理論的分類,能力有限,貝葉斯這塊學(xué)習(xí)好了專門再說。

所以,選擇了第三名的notebook源碼來學(xué)習(xí)。作者將6種監(jiān)督學(xué)習(xí)的方法在本數(shù)據(jù)集上的建模、模型評估等過程進(jìn)行了比較。

數(shù)據(jù)集

這份數(shù)據(jù)集是UCI捐獻(xiàn)給kaggle的。總樣本數(shù)為8124,其中6513個樣本做訓(xùn)練,1611個樣本做測試;并且,其中可食用有4208樣本,占51.8%;有毒的樣本為3916,占48.2%。每個樣本描述了蘑菇的22個屬性,比如形狀、氣味等。

誤食野生蘑菇中毒事件時有發(fā)生,且蘑菇形態(tài)千差萬別,對于非專業(yè)人士,無法從外觀、形態(tài)、顏色等方面區(qū)分有毒蘑菇與可食用蘑菇,沒有一個簡單的標(biāo)準(zhǔn)能夠?qū)⒂卸灸⒐胶涂墒秤媚⒐絽^(qū)分開來。要了解蘑菇是否可食用,必須采集具有不同特征屬性的蘑菇是否有毒進(jìn)行分析。

對蘑菇的22種特征屬性進(jìn)行分析,從而得到蘑菇可使用性模型,更好的預(yù)測出蘑菇是否可食用。

下面是UCI顯示的具體數(shù)據(jù)信息:

屬性特征的解釋:

數(shù)據(jù)EDA

導(dǎo)入數(shù)據(jù)

import?pandas?as?pd import?numpy?as?npimport?plotly_express?as?px from?matplotlib?import?pyplot?as?plt import?seaborn?as?sns#?忽略警告 import?warnings warnings.filterwarnings('ignore')

原始數(shù)據(jù)有8124條記錄,23個屬性;并且不存在缺失值

有無毒對比

統(tǒng)計有毒和無毒的數(shù)量對比:

可視化分析

菌蓋顏色

首先我們討論下菌蓋的顏色:每種菌蓋顏色的次數(shù)

fig?=?px.bar(cap,x="color",y="number",color="number",text="number",color_continuous_scale="rainbow")#?fig.update_layout(text_position="outside") fig.show()

到底有毒的蘑菇是哪幾種顏色較多了?統(tǒng)計有毒和無毒下的顏色分布:

fig?=?px.bar(cap_class,x="color",y="number",color="class",text="number",barmode="group",)fig.show()

小結(jié):顏色n、g、e在有毒p情況是比較多的

菌的氣味

統(tǒng)計每種氣味的數(shù)量:

fig?=?px.bar(odor,x="odor",y="number",color="number",text="number",color_continuous_scale="rainbow")fig.show()

上面是針對整體數(shù)據(jù)的情況,下面分有毒和無毒來繼續(xù)討論:

fig?=?px.bar(odor_class,x="odor",y="number",color="class",text="number",barmode="group",)fig.show()

小結(jié):從上面的兩張圖中,我們看出來:f這種氣味是最容易造成有毒

特征相關(guān)性

將特征之間的相關(guān)性系數(shù)繪制成熱力圖,查看分布情況:

corr?=?data.corr() sns.heatmap(corr)plt.show()

特征工程

特征轉(zhuǎn)換

原數(shù)據(jù)中的特征都是文本類型,我們將其轉(zhuǎn)成數(shù)值型,方便后續(xù)分析:

1、轉(zhuǎn)換前

2、實施轉(zhuǎn)換

from?sklearn.preprocessing?import?LabelEncoder??#?類型編碼 labelencoder?=?LabelEncoder()for?col?in?data.columns:data[col]?=?labelencoder.fit_transform(data[col])#?轉(zhuǎn)換后 data.head()

3、查看部分屬性的轉(zhuǎn)換結(jié)果

數(shù)據(jù)分布

查看數(shù)據(jù)轉(zhuǎn)換編碼后的數(shù)據(jù)分布情況:

ax?=?sns.boxplot(x='class',?y='stalk-color-above-ring',data=data)ax?=?sns.stripplot(x="class",?y='stalk-color-above-ring',data=data,?jitter=True,edgecolor="gray")plt.title("Class?w.r.t?stalkcolor?above?ring",fontsize=12)plt.show()

分離特征和標(biāo)簽

X?=?data.iloc[:,1:23]??#?特征 y?=?data.iloc[:,?0]??#?標(biāo)簽

數(shù)據(jù)標(biāo)準(zhǔn)化

#?歸一化(Normalization)、標(biāo)準(zhǔn)化(Standardization)from?sklearn.preprocessing?import?StandardScaler scaler?=?StandardScaler() X?=?scaler.fit_transform(X) X

主成分分析PCA

PCA過程

原始數(shù)據(jù)中22個屬性可能并不是特征都是有效數(shù)據(jù),或者說某些屬性本身就存在一定的關(guān)系,造成了特征屬性的重疊。我們采用主成分分析,先找出關(guān)鍵的特征:

#?1、實施pca from?sklearn.decomposition?import?PCA pca?=?PCA() pca.fit_transform(X)#?2、得到相關(guān)系數(shù) covariance?=?pca.get_covariance()#?3、得到每個變量對應(yīng)的方差值 explained_variance=pca.explained_variance_ explained_variance

通過繪圖來展示每個主成分的得分關(guān)系:

with?plt.style.context("dark_background"):??#?背景plt.figure(figsize=(6,4))??#?大小plt.bar(range(22),??#?主成分個數(shù)explained_variance,??#?方差值alpha=0.5,??#?透明度align="center",label="individual?explained?variance"??#?標(biāo)簽)plt.ylabel('Explained?variance?ratio')??#?軸名稱和圖例plt.xlabel('Principal?components')plt.legend(loc="best")plt.tight_layout()??#?自動調(diào)整子圖參數(shù)

結(jié)論:從上面的圖形中看出來最后的4個主成分方差之和很小;前面的17個占據(jù)了90%以上的方差,可作為主成分。

We can see that the last 4 components has less amount of variance of the data.The 1st 17 components retains more than 90% of the data.

2個主成分下的數(shù)據(jù)分布

然后我們利用基于2個屬性的數(shù)據(jù)來實施K-means聚類:

1、2個主成分下的原始數(shù)據(jù)分布

N?=?data.values pca?=?PCA(n_components=2) x?=?pca.fit_transform(N)plt.figure(figsize=(5,5)) plt.scatter(x[:,0],x[:,1]) plt.show()

2、實施聚類建模后的分布:

from?sklearn.cluster?import?KMeans km?=?KMeans(n_clusters=2,random_state=5)N?=?data.values??#?numpy數(shù)組形式 X_clustered?=?km.fit_predict(N)??#?建模結(jié)果0-1label_color_map?=?{0:"g",??#?分類結(jié)果只有0和1,進(jìn)行打標(biāo)1:"y"} label_color?=?[label_color_map[l]?for?l?in?X_clustered]plt.figure(figsize=(5,5)) #?x?=?pca.fit_transform(N) plt.scatter(x[:,0],x[:,1],?c=label_color) plt.show()

基于17主成分下的建模

這個地方自己也沒有看懂:總共是22個屬性,上面選取了4個特征,為什么這里是基于17個主成分的分析??

先做了基于17個主成分的轉(zhuǎn)換

數(shù)據(jù)集的劃分:訓(xùn)練集和測試集占比為8-2

from?sklearn.model_selection?import?train_test_split X_train,?X_test,?y_train,?y_test?=?train_test_split(X,?y,?test_size=0.2,?random_state=4)

下面開始是6種監(jiān)督學(xué)習(xí)方法的具體過程:

模型1:邏輯回歸

from?sklearn.linear_model?import?LogisticRegression??#?邏輯回歸(分類) from?sklearn.model_selection?import?cross_val_score??#?交叉驗證得分 from?sklearn?import?metrics??#?模型評價#?建立模型 model_LR?=?LogisticRegression() model_LR.fit(X_train,?y_train)

查看具體的預(yù)測效果:

model_LR.score(X_test,y_pred)#?結(jié)果 1.0??#?效果很好

邏輯回歸下的混淆矩陣:

confusion_matrix?=?metrics.confusion_matrix(y_test,?y_pred) confusion_matrix#?結(jié)果? array([[815,??30],[?36,?744]])

具體的auc值:

auc_roc?=?metrics.roc_auc_score(y_test,?y_pred)??#?測試紙和預(yù)測值 auc_roc#?結(jié)果 0.9591715976331362

真假陽性

from?sklearn.metrics?import?roc_curve,?auc false_positive_rate,?true_positive_rate,thresholds?=?roc_curve(y_test,?y_prob)roc_auc?=?auc(false_positive_rate,true_positive_rate) roc_auc#?結(jié)果 0.9903474434835382

ROC曲線

import?matplotlib.pyplot?as?plt plt.figure(figsize=(10,10)) plt.title("ROC")??#?Receiver?Operating?Characteristic plt.plot(false_positive_rate,true_positive_rate,color="red",label="AUC?=?%0.2f"%roc_auc)plt.legend(loc="lower?right") plt.plot([0,1],[0,1],linestyle="--") plt.axis("tight") #?真陽性:預(yù)測類別為1的positive;預(yù)測正確True plt.ylabel("True?Positive?Rate")? #?假陽性:預(yù)測類別為1的positive;預(yù)測錯誤False plt.xlabel("False?Positive?Rate")

下面是對邏輯回歸模型進(jìn)行校正。這里的校正主要就是采取網(wǎng)格搜索的方法來選取最佳的參數(shù),然后進(jìn)行下一步的建模。網(wǎng)格搜索的過程:

from?sklearn.linear_model?import?LogisticRegression from?sklearn.model_selection?import?cross_val_score from?sklearn?import?metrics#?未優(yōu)化的模型 LR_model=?LogisticRegression() #?待確定的參數(shù) tuned_parameters?=?{"C":[0.001,0.01,0.1,1,10,100,1000],"penalty":['l1','l2']??#?選擇不同的正則方式,防止過擬合} #?網(wǎng)格搜索模塊 from?sklearn.model_selection?import?GridSearchCV #?加入網(wǎng)格搜索功能 LR?=?GridSearchCV(LR_model,?tuned_parameters,cv=10) #?搜索之后再建模 LR.fit(X_train,?y_train)#?確定參數(shù) print(LR.best_params_){'C':?100,?'penalty':?'l2'}

查看優(yōu)化后的預(yù)測情況:

混淆矩陣和AUC情況:

ROC曲線情況:

from?sklearn.metrics?import?roc_curve,?auc false_positive_rate,?true_positive_rate,?thresholds?=?roc_curve(y_test,?y_prob)#roc_auc?=?auc(false_positive_rate,?true_positive_rate)import?matplotlib.pyplot?as?plt plt.figure(figsize=(10,10)) plt.title("ROC")??#?Receiver?Operating?Characteristic plt.plot(false_positive_rate,true_positive_rate,color="red",label="AUC?=?%0.2f"%roc_auc)plt.legend(loc="lower?right") plt.plot([0,1],[0,1],linestyle="--") plt.axis("tight") #?真陽性:預(yù)測類別為1的positive;預(yù)測正確True plt.ylabel("True?Positive?Rate")? #?假陽性:預(yù)測類別為1的positive;預(yù)測錯誤False plt.xlabel("False?Positive?Rate")

模型2:高斯樸素貝葉斯

建模

from?sklearn.naive_bayes?import?GaussianNB model_naive?=?GaussianNB()#?建模 model_naive.fit(X_train,?y_train)#?預(yù)測概率 y_prob?=?model_naive.predict_proba(X_test)[:,1]?? y_pred?=?np.where(y_prob?>?0.5,1,0) model_naive.score(X_test,y_pred)#?結(jié)果 1

預(yù)測值和真實值不等的數(shù)量:111個

交叉驗證

scores?=?cross_val_score(model_naive,X,y,cv=10,scoring="accuracy") scores

混淆矩陣和AUC

真假陽性

#?導(dǎo)入評價模塊 from?sklearn.metrics?import?roc_curve,?auc#?評價指標(biāo) false_positive_rate,?true_positive_rate,?thresholds?=?roc_curve(y_test,?y_prob)#?roc曲線面積 roc_auc?=?auc(false_positive_rate,?true_positive_rate) roc_auc#?結(jié)果 0.9592201486876043

ROC曲線

AUC的值才0.96

#?繪圖 import?matplotlib.pyplot?as?plt plt.figure(figsize=(10,10))plt.title("ROC") plt.plot(false_positive_rate,true_positive_rate,color="red",label="AUC=%0.2f"%roc_auc)plt.legend(loc="lower?right") plt.plot([0,1],[0,1],linestyle='--')plt.axis("tight") plt.xlabel('False?Positive?Rate') plt.ylabel('True?Positive?Rate') plt.show()

模型3:支持向量機SVM

默認(rèn)參數(shù)下的支持向量機過程

建模過程

from?sklearn.svm?import?SVC svm_model?=?SVC()tuned_parameters?=?{'C':?[1,?10,?100,500,?1000],'kernel':?['linear','rbf'],'C':?[1,?10,?100,500,?1000],?'gamma':?[1,0.1,0.01,0.001,?0.0001],?'kernel':?['rbf'] }

隨機網(wǎng)格搜索-RandomizedSearchCV

from?sklearn.model_selection?import?RandomizedSearchCV#?建立隨機搜索模型 model_svm?=?RandomizedSearchCV(svm_model,??#?待搜索模型tuned_parameters,??#?參數(shù)cv=10,??#?10折交叉驗證scoring="accuracy",??#?評分標(biāo)準(zhǔn)n_iter=20??#?迭代次數(shù))#?訓(xùn)練模型 model_svm.fit(X_train,y_train)RandomizedSearchCV(cv=10,?estimator=SVC(),?n_iter=20,param_distributions={'C':?[1,?10,?100,?500,?1000],'gamma':?[1,?0.1,?0.01,?0.001,?0.0001],'kernel':?['rbf']},scoring='accuracy')#?最佳得分效果 print(model_svm.best_score_) 1.0

得分最佳匹配參數(shù):

#?預(yù)測 y_pred?=?model_svm.predict(X_test)#?預(yù)測值和原始標(biāo)簽值計算:分類準(zhǔn)確率 metrics.accuracy_score(y_pred,?y_test) #?結(jié)果 1

混淆矩陣

查看具體的混淆矩陣和預(yù)測情況:

ROC曲線

from?sklearn.metrics?import?roc_curve,?auc false_positive_rate,?true_positive_rate,?thresholds?=?roc_curve(y_test,?y_pred) roc_auc?=?auc(false_positive_rate,?true_positive_rate)import?matplotlib.pyplot?as?pltplt.figure(figsize=(10,10)) plt.title('ROC')plt.plot(false_positive_rate,true_positive_rate,?color='red',label?=?'AUC?=?%0.2f'?%?roc_auc)plt.legend(loc?=?'lower?right') plt.plot([0,?1],?[0,?1],linestyle='--')plt.axis('tight') plt.ylabel('True?Positive?Rate') plt.xlabel('False?Positive?Rate')

模型5:隨機森林

建模擬合

from?sklearn.ensemble?import?RandomForestClassifier#?建模 model_RR?=?RandomForestClassifier() #?擬合 model_RR.fit(X_train,?y_train)

預(yù)測得分

混淆矩陣

ROC曲線

from?sklearn.metrics?import?roc_curve,?aucfalse_positive_rate,?true_positive_rate,?thresholds?=?roc_curve(y_test,?y_prob)roc_auc?=?auc(false_positive_rate,?true_positive_rate) roc_auc??#?1import?matplotlib.pyplot?as?plt plt.figure(figsize=(10,10)) plt.title('ROC')plt.plot(false_positive_rate,true_positive_rate,?color='red',label?=?'AUC?=?%0.2f'?%?roc_auc)plt.legend(loc?=?'lower?right') plt.plot([0,?1],?[0,?1],linestyle='--')plt.axis('tight') plt.ylabel('True?Positive?Rate') plt.xlabel('False?Positive?Rate') plt.show()

模型6:決策樹(CART)

建模

from?sklearn.tree?import?DecisionTreeClassifier#?建模 model_tree?=?DecisionTreeClassifier() model_tree.fit(X_train,?y_train)#?預(yù)測 y_prob?=?model_tree.predict_proba(X_test)[:,1]#?預(yù)測的概率轉(zhuǎn)成0-1分類 y_pred?=?np.where(y_prob?>?0.5,?1,?0) model_tree.score(X_test,?y_pred) #?結(jié)果 1

混淆矩陣

各種評價指標(biāo)的體現(xiàn):

ROC曲線

from?sklearn.metrics?import?roc_curve,?auc false_positive_rate,?true_positive_rate,?thresholds?=?roc_curve(y_test,?y_prob) roc_auc?=?auc(false_positive_rate,?true_positive_rate) roc_auc??#?1import?matplotlib.pyplot?as?plt plt.figure(figsize=(10,10))??#?畫布 plt.title('ROC')??#?標(biāo)題plt.plot(false_positive_rate,??#?繪圖true_positive_rate,?color='red',label?=?'AUC?=?%0.2f'?%?roc_auc)??plt.legend(loc?=?'lower?right')?#??圖例位置 plt.plot([0,?1],?[0,?1],linestyle='--')??#?正比例直線plt.axis('tight') plt.xlabel('False?Positive?Rate') plt.ylabel('True?Positive?Rate') plt.show()

模型6:神經(jīng)網(wǎng)絡(luò)ANN

建模

混淆矩陣

ROC曲線

#?真假陽性 from?sklearn.metrics?import?roc_curve,?auc false_positive_rate,?true_positive_rate,?thresholds?=?roc_curve(y_test,?y_prob) roc_auc?=?auc(false_positive_rate,?true_positive_rate) roc_auc??#?1#?繪制ROC曲線import?matplotlib.pyplot?as?plt plt.figure(figsize=(10,10)) plt.title('ROC') plt.plot(false_positive_rate,true_positive_rate,?color='red',label?=?'AUC?=?%0.2f'?%?roc_auc)plt.legend(loc?=?'lower?right') plt.plot([0,?1],?[0,?1],linestyle='--')plt.axis('tight') plt.ylabel('True?Positive?Rate') plt.xlabel('False?Positive?Rate') plt.show()

下面對神經(jīng)網(wǎng)絡(luò)的參數(shù)進(jìn)行調(diào)優(yōu):

  • hidden_layer_sizes:隱藏層個數(shù)

  • activation:激活函數(shù)

  • alpha:學(xué)習(xí)率

  • max_iter:最大迭代次數(shù)

網(wǎng)格搜索

from?sklearn.neural_network?import?MLPClassifier#?實例化 mlp_model?=?MLPClassifier() #?待調(diào)節(jié)參數(shù) tuned_parameters={'hidden_layer_sizes':?range(1,200,10),'activation':?['tanh','logistic','relu'],'alpha':[0.0001,0.001,0.01,0.1,1,10],'max_iter':?range(50,200,50) }model_mlp=?RandomizedSearchCV(mlp_model,tuned_parameters,cv=10,scoring='accuracy',n_iter=5,n_jobs=?-1,random_state=5) model_mlp.fit(X_train,y_train)

模型屬性

調(diào)優(yōu)之后的模型屬性情況以及合適的參數(shù):

ROC曲線

from?sklearn.metrics?import?roc_curve,?auc false_positive_rate,?true_positive_rate,?thresholds?=?roc_curve(y_test,?y_prob) roc_auc?=?auc(false_positive_rate,?true_positive_rate) roc_auc??#?1import?matplotlib.pyplot?as?plt plt.figure(figsize=(10,10)) plt.title('ROC')plt.plot(false_positive_rate,true_positive_rate,?color='red',label?=?'AUC?=?%0.2f'?%?roc_auc)plt.legend(loc?=?'lower?right') plt.plot([0,?1],?[0,?1],linestyle='--')plt.axis('tight') plt.xlabel('False?Positive?Rate') plt.ylabel('True?Positive?Rate')

混淆矩陣和ROC

這是一篇很好的文章來解釋混淆矩陣和ROC:https://www.cnblogs.com/wuliytTaotao/p/9285227.html

1、什么是混淆矩陣?

2、4大指標(biāo)

TP、FP、TN、FN,第二個字母表示樣本被預(yù)測的類別,第一個字母表示樣本的預(yù)測類別與真實類別是否一致。

3、準(zhǔn)確率

4、精準(zhǔn)率和召回率

5、F_1和F_B

6、ROC曲線

AUC全稱為Area Under Curve,表示一條曲線下面的面積,ROC曲線的AUC值可以用來對模型進(jìn)行評價。ROC曲線如圖 1 所示:

總結(jié)

看完這篇notebook源碼,你需要掌握的知識點:

  • 機器學(xué)習(xí)建模整體思路:選擇模型、建模、網(wǎng)格搜索調(diào)參、模型評估、ROC曲線(分類)

  • 特征工程的技術(shù):編碼轉(zhuǎn)換、數(shù)據(jù)標(biāo)準(zhǔn)化、數(shù)據(jù)集劃分

  • 評價指標(biāo):混淆矩陣、ROC曲線作為重點,后續(xù)有文章專門講解

往期精彩回顧適合初學(xué)者入門人工智能的路線及資料下載機器學(xué)習(xí)及深度學(xué)習(xí)筆記等資料打印機器學(xué)習(xí)在線手冊深度學(xué)習(xí)筆記專輯《統(tǒng)計學(xué)習(xí)方法》的代碼復(fù)現(xiàn)專輯 AI基礎(chǔ)下載黃海廣老師《機器學(xué)習(xí)課程》視頻課黃海廣老師《機器學(xué)習(xí)課程》711頁完整版課件

本站qq群955171419,加入微信群請掃碼:

總結(jié)

以上是生活随笔為你收集整理的【机器学习】6大监督学习模型:毒蘑菇分类的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 把高贵美妇调教成玩物 | 日韩av在线网| 在线能看的av | 粉嫩av四季av绯色av | 成人久久| 肉视频在线观看 | 美腿丝袜av | 91亚洲欧美激情 | 神马午夜麻豆 | 精品久久久久久中文字幕 | 制服av在线 | 小柔的淫辱日记(1~7) | 国产激情一区二区三区视频免樱桃 | 97成人在线观看 | 九九99精品视频 | 热精品| 亚洲成av人片在www色猫咪 | 无套内谢少妇高潮免费 | feel性丰满白嫩嫩hd | 麻豆免费在线播放 | 日本免费三区 | 亚洲制服丝袜诱惑 | 日本三不卡| 美女裸体网站久久久 | 91亚洲国产成人精品一区 | 亚洲欧美一级 | 欧美日韩天堂 | av在线播放网址 | 国产精品第十页 | 极品国产在线 | 亚洲天堂岛 | 国产精品久久久国产盗摄 | 久久成人亚洲 | 少妇人妻综合久久中文字幕 | 加勒比一区二区 | 91九色论坛 | 人妻洗澡被强公日日澡电影 | 日日综合 | 四房婷婷 | 98超碰在线 | 国产精品2| 精品视频在线免费观看 | 无人在线观看高清视频 | 总裁边开会边做小娇妻h | 一区二区三区视频免费视 | 久久mm| 国产成人精品国内自产拍免费看 | 在线 色 | 国产精品99视频 | 日p视频在线观看 | 国产精品v欧美精品v日韩 | 亚洲v国产 | 国产一区二区在 | 国内精品视频一区 | 色小说香蕉 | 淫视频在线观看 | 久久国产精品一区二区 | 天堂在线资源8 | 90岁肥老奶奶毛毛外套 | 日本福利片在线观看 | 国产你懂的| 精品国产一区二区三区在线观看 | 狠狠干2020 | 午夜免费在线观看 | 天天舔天天操天天干 | 久久国产麻豆 | 超碰人体 | 爱情岛亚洲首页论坛 | 性无码专区无码 | 性综合网 | www.在线视频 | 欧美69精品久久久久久不卡 | 男女搞黄网站 | 99久久99久久精品国产片果冰 | 放荡闺蜜高h苏桃情事h | 自拍日韩亚洲一区在线 | 97色综合| 色视频网站在线观看 | 今天最新中文字幕mv高清 | 男女视频在线免费观看 | 欧美专区 日韩专区 | 杂技xxx裸体xxxx欧美 | 少妇又色又紧又黄又刺激免费 | 羞羞羞网站 | 成人av男人的天堂 | 亚洲AV无码成人精品区先锋 | 国产精品15p| 超碰97在线人人 | 黑人巨大猛交丰满少妇 | 亚洲人在线观看视频 | 午夜寂寞影院在线观看 | 丁香激情五月 | 国产高清在线视频 | 欧美日韩中 | 一级全黄男女免费大片 | 91免费在线 | 999久久久精品 | 久久七| 午夜伦理视频 |