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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

scikit-learning_特征分析(数据挖掘入门与实践-实验7)

發布時間:2024/4/18 编程问答 23 豆豆
生活随笔 收集整理的這篇文章主要介紹了 scikit-learning_特征分析(数据挖掘入门与实践-实验7) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
#數據導入 import os import pandas as pdadult_filename="adult.data" adult = pd.read_csv(adult_filename, header=None, names=["Age", "Work-Class", "fnlwgt", "Education", "Education-Num", "Marital-Status", "Occupation", "Relationship", "Race", "Sex", "Capital-gain", "Capital-loss", "Hours-per-week", "Native-Country", "Earnings-Raw"]) adult.dropna(how='all',inplace=True) #adult.columns#adult.loc[:5]#輸出特征 每周工時的特性(means、min、max...) #adult["Hours-per-week"].describe()#輸出特征 受教育年限的means #adult["Education-Num"].median()#輸出特征 工種類別 #adult["Work-Class"].unique()#生成特征 每周工時是否高于40 adult["LongHours"]=adult["Hours-per-week"]>40#####################################刪除特征方差達不到標準的特征(方差越低,對個體的區分力度越小) import numpy as np#生成3*10的矩陣,數據從0-29 X=np.arange(30).reshape((10,3)) #將第二列置1,此時第二列的方差為0 X[:,1]=1#Xt僅保留了X的第一列、第三列,第二列方差為0被剔除 from sklearn.feature_selection import VarianceThreshold vt = VarianceThreshold() Xt = vt.fit_transform(X)#輸出每列的方差 #print(vt.variances_)####################################單個特征檢驗 X=adult[["Age", "Education-Num", "Capital-gain", "Capital-loss", "Hours-per-week"]].values#目標類別創建 稅前收入是否達到5wdollars Y=(adult["Earnings-Raw"]=='>50k').values#創建轉換器 卡方評分 from sklearn.feature_selection import SelectKBest from sklearn.feature_selection import chi2 transformer=SelectKBest(score_func=chi2,k=3)#評分函數為卡方,分類效果較好的特征數量為3#評分開始 Xt_chi2=transformer.fit_transform(X, Y) #print(transformer.scores_)#轉換器創建 皮爾遜相關系數評分 from scipy.stats import pearsonr def multivariate_pearsonr(X, y):scores, pvalues = [], [] for column in range(X.shape[1]):cur_score, cur_p = pearsonr(X[:,column], y) scores.append(abs(cur_score)) pvalues.append(cur_p)return (np.array(scores), np.array(pvalues))#評分開始 transformer = SelectKBest(score_func=multivariate_pearsonr, k=3) Xt_pearson = transformer.fit_transform(X, Y) print(transformer.scores_)###############################兩特征提取方法對比 from sklearn.tree import DecisionTreeClassifier from sklearn.model_selection import cross_val_score clf = DecisionTreeClassifier(random_state=14) scores_chi2 = cross_val_score(clf, Xt_chi2, Y, scoring='accuracy') scores_pearson = cross_val_score(clf, Xt_pearson, Y, scoring='accuracy') #print("The chi2_method accurary is {0:.1f}%".format(100*np.mean(scores_chi2))) #print("The pearson_method accurary is {0:.1f}%".format(100*np.mean(scores_pearson)))

總結

以上是生活随笔為你收集整理的scikit-learning_特征分析(数据挖掘入门与实践-实验7)的全部內容,希望文章能夠幫你解決所遇到的問題。

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