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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

【Python-ML】抽取最优化分类的特征子空间的LDA方法

發布時間:2025/4/16 python 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【Python-ML】抽取最优化分类的特征子空间的LDA方法 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
# -*- coding: utf-8 -*- ''' Created on 2018年1月18日 @author: Jason.F @summary: 特征抽取-LDA方法,監督,發現最優化分類的特征子空間,基于特征呈正態分布和特征間相互獨立 ''' import pandas as pd import numpy as np from sklearn.cross_validation import train_test_split from sklearn.preprocessing import MinMaxScaler from sklearn.preprocessing import StandardScaler from sklearn.linear_model import LogisticRegression import matplotlib.pyplot as plt #第一步:導入數據,對原始d維數據集做標準化處理 df_wine = pd.read_csv('https://archive.ics.uci.edu/ml/machine-learning-databases/wine/wine.data',header=None) df_wine.columns=['Class label','Alcohol','Malic acid','Ash','Alcalinity of ash','Magnesium','Total phenols','Flavanoids','Nonflavanoid phenols','Proanthocyanins','Color intensity','Hue','OD280/OD315 of diluted wines','Proline'] print ('class labels:',np.unique(df_wine['Class label'])) #分割訓練集合測試集 X,y=df_wine.iloc[:,1:].values,df_wine.iloc[:,0].values X_train,X_test,y_train,y_test=train_test_split(X,y,test_size=0.3,random_state=0) #特征值縮放-標準化 stdsc=StandardScaler() X_train_std=stdsc.fit_transform(X_train) X_test_std=stdsc.fit_transform(X_test) #第二步:對于每一類別計算d維的均值向量 np.set_printoptions(precision=4) mean_vecs=[] for label in range(1,4):mean_vecs.append(np.mean(X_train_std[y_train==label],axis=0))print ('MV %s: %s \n' %(label,mean_vecs[label-1])) #第三步:構造類間的散布矩陣和類內的散布矩陣 d=13 #特征數量 #計算類內散布矩陣 #觀察訓練集的類別樣本是否均勻,計算散布矩陣的前提是訓練集的類標是均勻分布的 print ('class label distribution:%s' %np.bincount(y_train)[1:]) S_W=np.zeros((d,d))#初始化類內散布矩陣 for label,mv in zip(range(1,4),mean_vecs):#class_scatter=np.zeros((d,d))#for row in X[y==label]:# row,mv =row.reshape(d,1),mv.reshape(d,1)# class_scatter+= (row-mv).dot((row-mv).T)#類標分布不均勻,對特征值做標準化,用標準化后的特征值計算散布矩陣class_scatter=np.cov(X_train_std[y_train==label].T)#協方差矩陣是歸一化的散布矩陣S_W += class_scatter print ('Within-class scatter matrix: %sx%s' %(S_W.shape[0],S_W.shape[1])) #計算類間散布矩陣 mean_overall = np.mean(X_train_std,axis=0) S_B=np.zeros((d,d))#初始化類間散布矩陣 for i ,mean_vec in enumerate(mean_vecs):n=X_train_std[y_train==i+1,:].shape[0]mean_vec=mean_vec.reshape(d,1)mean_overall=mean_overall.reshape(d,1)S_B+=n*(mean_vec-mean_overall).dot((mean_vec-mean_overall).T) print ('Between-class scatter matrix: %sx%s' %(S_B.shape[0],S_B.shape[1])) #第四部:計算類間類內乘積的矩陣的特征值和特征向量 eigen_vals,eigen_vecs=np.linalg.eig(np.linalg.inv(S_W).dot(S_B)) eigen_pairs=[(np.abs(eigen_vals[i]), eigen_vecs[:, i]) for i in range(len(eigen_vals))] eigen_pairs=sorted(eigen_pairs,key=lambda k:k[0],reverse=True) print ('Eigenvalues in decreasing order:\n') for eigen_val in eigen_pairs:print (eigen_val[0]) #可視化特征判定類別區分能力的圖,按照特征值排序繪制出特征對線性判別信息保持程度 tot=sum(eigen_vals.real) discr=[(i/tot) for i in sorted(eigen_vals.real,reverse=True)] cum_discr=np.cumsum(discr) plt.bar(range(1,14),discr,alpha=0.5,align='center',label='individual discriminability') plt.step(range(1,14),cum_discr,where='mid',label='cumulative discriminability') plt.ylabel('discriminability ratio') plt.xlabel('Linear Discriminants') plt.ylim([-0.1,1.1]) plt.legend(loc='best') plt.show() #第五步:選取前k個特征值所對應的特征向量,構造一個dXk維的轉換矩陣W,其中特征向量以列的形式排列 w=np.hstack((eigen_pairs[0][1][:,np.newaxis].real,eigen_pairs[1][1][:,np.newaxis].real))#選取前2個特征,構建13X2維的映射矩陣W print ('Matrix W:\n',w) #第六步:使用轉換矩陣W將樣本映射到新的特征子空間 X_train_lda=X_train_std.dot(w) X_test_lda=X_test_std.dot(w) colors=['r','b','g'] markers=['s','x','o'] for l,c,m in zip(np.unique(y_train),colors,markers):plt.scatter(X_train_lda[y_train == l, 0],X_train_lda[y_train == l, 1],c=c, label=l, marker=m) plt.xlabel('LD 1') plt.ylabel('LD 2') plt.legend(loc='upper right') plt.show() #第五步:轉換后的數據集進行線性訓練 lr=LogisticRegression() lr.fit(X_train_lda,y_train) print ('Training accuracy:',lr.score(X_train_lda, y_train)) print ('Test accuracy:',lr.score(X_test_lda, y_test))

結果:

('class labels:', array([1, 2, 3], dtype=int64)) MV 1: [ 0.9259 -0.3091 0.2592 -0.7989 0.3039 0.9608 1.0515 -0.6306 0.53540.2209 0.4855 0.798 1.2017] MV 2: [-0.8727 -0.3854 -0.4437 0.2481 -0.2409 -0.1059 0.0187 -0.0164 0.1095-0.8796 0.4392 0.2776 -0.7016] MV 3: [ 0.1637 0.8929 0.3249 0.5658 -0.01 -0.9499 -1.228 0.7436 -0.76520.979 -1.1698 -1.3007 -0.3912] class label distribution:[40 49 35] Within-class scatter matrix: 13x13 Between-class scatter matrix: 13x13 Eigenvalues in decreasing order:452.721581245 156.43636122 1.07585370555e-13 4.43873563999e-14 2.87266009341e-14 2.84217094304e-14 2.40168676571e-14 1.59453089024e-14 1.59453089024e-14 9.93723443031e-15 9.93723443031e-15 2.82769841287e-15 2.82769841287e-15 ('Matrix W:\n', array([[-0.0662, -0.3797],[ 0.0386, -0.2206],[-0.0217, -0.3816],[ 0.184 , 0.3018],[-0.0034, 0.0141],[ 0.2326, 0.0234],[-0.7747, 0.1869],[-0.0811, 0.0696],[ 0.0875, 0.1796],[ 0.185 , -0.284 ],[-0.066 , 0.2349],[-0.3805, 0.073 ],[-0.3285, -0.5971]])) ('Training accuracy:', 0.99193548387096775) ('Test accuracy:', 1.0)



總結

以上是生活随笔為你收集整理的【Python-ML】抽取最优化分类的特征子空间的LDA方法的全部內容,希望文章能夠幫你解決所遇到的問題。

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

主站蜘蛛池模板: 在线日韩 | 欧美黄色特级片 | 亚洲人在线观看视频 | 国产做受入口竹菊 | 黄色一级播放 | 夜夜天天操 | 日本啪啪网| 成人作爱视频 | 美梦视频大全在线观看高清 | 夜夜干夜夜 | 日韩精品免费在线观看 | 秋霞啪啪片 | 精品国产一区二区三区四区精华 | aaa大片十八岁禁止 中文字幕亚洲在线观看 | 人人妻人人藻人人爽欧美一区 | 成人欧美精品一区二区 | 亚洲综合图色 | 国产欧美一区二区三区免费看 | 久久中文字幕在线 | 日韩v欧美| 人妻精油按摩bd高清中文字幕 | 亚洲精品777| 国产综合久久久久 | 看一级黄色片 | 国产在线看 | 国产精品电影院 | 日本成人综合 | 久久偷看各类wc女厕嘘嘘偷窃 | 亚洲影院av | 在线精品播放 | 天天操天天摸天天干 | 91美女高潮出水 | 亚洲精品视频一区 | 一二三区在线视频 | 99精品人妻无码专区在线视频区 | 免费观看黄色 | 成人精品黄段子 | 国产一区二区三区四 | 国产欧美精品一区二区在线播放 | 超黄网站在线观看 | 女人一级一片30分 | 国产精品自拍合集 | 精品在线视频一区二区三区 | 在线日韩三级 | 99久久综合国产精品二区 | 国产女人水真多18毛片18精品 | 91视频直接看 | 欧美中文在线观看 | 欧美日韩精品一区二区三区视频播放 | 久久久久久欧美 | 疯狂揉花蒂控制高潮h | 秋霞毛片| 国产精品第三页 | 成人激情四射网 | 国产精品视频久久久久久久 | 美女国产精品 | 国产人妻一区二区三区四区五区六 | 久久久国产高清 | 欧美20p| 一本色道久久加勒比精品 | 91视频色| 天堂av免费在线观看 | 色播视频在线播放 | 秋霞在线一区 | 日本一区二区在线观看视频 | 黄a网站| 日本免费在线观看 | 真实人妻互换毛片视频 | 一级黄色在线 | 台湾av在线播放 | 国产一区二区三区在线免费观看 | 日本黄色大片网站 | 免费看欧美成人a片无码 | 亚洲天天看 | 亚州国产| 亚洲com | 国产在线拍揄自揄拍无码视频 | 色人阁av| 国产精品黄色片 | 日产精品久久久 | 中国黄色a级 | 一区二区啪啪啪 | 7777在线视频| 熟妇人妻中文字幕无码老熟妇 | 国精品一区二区三区 | 婷婷五月综合激情 | 国产亚洲欧美在线视频 | 午夜视频在线免费看 | 91精品国产综合久久久久久久 | 欧美真人性野外做爰 | 欧美bbbbb性bbbbb视频 | 天天综合天天添夜夜添狠狠添 | 香港日本韩国三级网站 | 国产精品18久久久久久vr下载 | 日日干日日摸 | 久久99精品久久久久久琪琪 | 亚洲va欧美| 99视频这里有精品 | 日本无遮羞调教打屁股网站 |