注:本文仅作为个人附件链接所用,请勿转载。
主成分分析是降维里面常见的技术,它的求值是一个解析解,并不需要进行迭代,其主成分可由原数据直接求得。本文不讲原理,而是以一个脑电波数据的例子进行展示,该脑电波数据分为正负两个样本集各52个样本,每个样本的维数为59维,全部放在一个文件里面,其对应的标签也放在一个文件里面(见数据网盘链接),现对该脑电数据进行主成分分析降维,要求提取特征值最大的前面两个维度在平面坐标系上画出来。使用python语言实现。
# -*- coding:utf-8 -*-
__author__ = 'gf'
import numpy as np
from pylab import *
import matplotlib.pyplot as plt
A = np.zeros((59,104),dtype=float)
f = open('D:\\mydata\\mydata.txt') #打开数据文件文件
lines = f.readlines() #把全部数据文件读到一个列表lines中
A_row = 0 #表示矩阵的行,从0行开始
for line in lines: #把lines中的数据逐行读取出来
list = line.strip('\n') #处理逐行数据:strip表示把头尾的'\n'去掉,split表示以空格来分割行数据,然后把处理后的行数据返回到list列表中 #然后方阵A的下一行接着读
list=list.strip(&