1500字范文,内容丰富有趣,写作好帮手!
1500字范文 > PCA主成分分析_特征创建(数据挖掘入门与实践-实验8)

PCA主成分分析_特征创建(数据挖掘入门与实践-实验8)

时间:2020-10-03 23:30:42

相关推荐

PCA主成分分析_特征创建(数据挖掘入门与实践-实验8)

##############################数据处理#数据导入 $$ 数据转换import osimport numpy as npimport pandas as pdfrom collections import defaultdictdef convert_number():try:return float(x)except ValueError:return np.nanconverters=defaultdict(convert_number)converters[1558]=lambda x: 1 if x.strip() == "ad." else 0#问号处理for i in range(0,1558):converters[i]=lambda x: np.nan if x.strip() == "?" else xads=pd.read_csv("ad.data",header=None,converters=converters)ads.head()#特征抽取ads.dropna(inplace=True)X=ads.drop(1558,axis=1).valuesy=ads[1558]X[:5]#############################主成分分析from sklearn.decomposition import PCApca=PCA(n_components=5)Xd=pca.fit_transform(X)np.set_printoptions(precision=3,suppress=True)pca.explained_variance_ratio_##PCA评估from sklearn.tree import DecisionTreeClassifierfrom sklearn.model_selection import cross_val_scoreclf=DecisionTreeClassifier()scores_reduced=cross_val_score(clf,Xd,y,scoring='accuracy')print("the accuracy is {0:.1f}%".format(100*np.mean(scores_reduced)))#作图%matplotlib inlinefrom matplotlib import pyplot as plt#类别获取classes=set(y)#颜色指定colors=['red','green']for cur_class,color in zip(classes,colors):mask=(y==cur_class).valuesplt.scatter(Xd[mask,0], Xd[mask,1], marker='o', color=color, label=int(cur_class))plt.legend() plt.show()

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。