首页 > 编程知识 正文

数据挖掘算法,数据挖掘apriori算法

时间:2023-05-04 04:16:05 阅读:167202 作者:213

注:实验代码链接到数据集下载

简档: PCA(principalcomponentanalysis )主成分分析算法在图像识别和高维数据降维处理中具有较强的应用能力,算法主要通过在计算中选择特征值较大的特征向量对原始数据进行线性变换一般取得的原始数据的维度较高,例如具有1000个特征,这1000个特征中可能含有很多无用的信息和噪声。 如果只有100个真正有用的特征,可以使用PCA算法将1000个特征降低到100个特征。 由此,不仅可以去除不必要的噪声,还可以减少计算量。

算法流程图:

实验部分:

实验数据集采用att_afaces数据集。 PCA算法程序定义部: #定义PCA方法的defpca(data,p ) : # )输入量为data :数据,k:data=NP.float32 ) NP.mat ) data ) ) (输入为200行,10304列)求出data_mean=NP.mean(data,0 ) #平均值,压缩axis=0:行,针对各列求出平均值,返回z=data-NP.tile (数据,0 ) 1 ) )沿x轴复制1倍),沿y轴复制2倍)的v=NP.LinaLG.EIG(z*z.t )特征值和特征向量eigValIndice=np.argsort(D ) d ) p ) n _ eigvalindice=eigvalindice (-1:-(n1 ) :-1 ) # ) #最大的n个特征值的下标v1=v ) :n_eigValIndice] # 特征向量归一化v1(:I )/=NP.Linalg.norm ) V1(3360,I ) ) NP.linalg.norm65

的n值方法的定义方差百分比部分:

defpercentage2n(Eigvals, percentage1) :sortarray=NP.sort ) Eigvals ) #升序sortarray=sortarray [-133603360-1 ]即,降序阵列sum=sum (soray )

数据读取部分:

#数据读取defloadimageset (folder=u ' att _ faces (, sampleCount=5) : # )加载图片集,随机选择sampleCount图片进行训练,注意根据自己文件的文件设置trainData=[] #个数据,改变列表格式ytest=[]forkinrange(40 ) : # y总共包含40个文件夹folder2=OS.path.join(folder,' s%d'%(k1 ) )。 从第一个文件夹进行循环搜索时,会得到40个文件夹的名称data=[ cv2.im read ] d.encode ) )。)每个图都是(112行,92列) sample=random.sandom.sard ) sampleCount ) traindata.extend(data[I].ravel ) for训练集testdata.extend([data[I].ravel ) ) forIinrange 其他一些是测试集# ytest.extend ([ k ] * (10-sample count ) ) y test是0到10# yTrain.extend([k]* samplecount ) ) ytrain增加5位数值prinnnain ytrainreturnnp.array (train data )、np.array )、np.array )、NP.arrain

PCA算法实验、数据集、代码包下载链接

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。