91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

  • 大小: 2.48MB
    文件類型: .zip
    金幣: 2
    下載: 0 次
    發布日期: 2023-12-30
  • 語言: C/C++
  • 標簽: C++??PCA??KPCA??

資源簡介

C++實現數據降維,包括PCA、KPCA兩種方法,資源為Visual Studio2013完整工程代碼。

資源截圖

代碼片段和文件信息

#include“pca.h“????
#include“kpca.h“
void?main()
{
//pca

cout?< int?i?j?t;
int?m?n;
double?**x?**c?**v?**Project;
double?*A?*B;
sourcedata?pp;

double?eps?=?0.000001;?//jacobi方法的終止精度????????????
double?getratio?=?0.9;?//特征值的提取率??????
const??char?*File?=?“test1.txt“;??//原始數據文件名稱????
const?char?*projectfile?=?“pcaproject.txt“;?//處理后的數據文件名稱????
PCA?pca(2?3);???//聲明一個臨時對象調用成員函數來獲取數據????
pp?=?pca.getdata(File);??//獲取外部數據????
x?=?pp.data;
m?=?pp.m;
n?=?pp.n;

cout?< A?=?new?double[n];
B?=?new?double[n];
v?=?new?double*[n];
for?(i?=?0;?i? v[i]?=?new?double[n];
PCA??testpca(m?n);???//聲明一個對象并初始化???????????
testpca.standarddata(x);?//對數據進行標準化處理???????????
c?=?testpca.matrixproduct(x);?//獲取協方差矩陣???????
i?=?testpca.jcb(c?v?eps?100);?//求取特征值和特征向量????
for?(int?k?=?0;?k? A[k]?=?c[k][k];?//獲取特征值????
testpca.zhengjiao(v);???//正交化特征向量????
testpca.selectionsort(A?v);?//特征值和特征向量排序????????
t?=?testpca.selectcharactor(A?getratio?B);?//提取特征值????
cout?< cout?< for?(i?=?0;?i?<=?t?-?1;?i++)
printf(“%13.7e??“?A[i]);
printf(“\n\n“);
for?(i?=?0;?i? {
for?(j?=?0;?j? printf(“%13.7e??“?v[i][j]);
printf(“\n“);

}
cout?< for?(i?=?0;?i? cout?< cout?< cout?< if?(t?>=?1?&&?t?<=?n)
Project?=?testpca.getProject(t?x?v);??//計算投影???????
else
cout?< testpca.saveProject(projectfile?Project?t);?//保存數據到文件??



//kpca

cout?< int?a;
int?l?=?50;?//隨機提取樣本的數目
const?char?*File2?=?“test2.txt“;
const?char*eigenvectors?=?“eigen.txt“;?//特征值和特征向量存儲文件名稱
const?char?*projectfile2?=?“kpcaproject.txt“;?//提取出的投影文件存儲名稱
SourceData?pdata;

double??gaussparameter;???//gauss?kernel?parameter
double?**K?**KL;?//gauss?kernel?matrix

KPCA?kpca(3?2);
pdata?=?kpca.getdata(File2);?//獲取外部數據
x?=?pdata.data;
m?=?pdata.m;
n?=?pdata.n;

A?=?new?double[m];
B?=?new?double[m];
KPCA??testkpca(m?n);?//聲明一個對象
gaussparameter?=?testkpca.getvar(x?m?n?l?100?800);

cout?< K?=?testkpca.getkernelmatrix(x?gaussparameter?1);
KL?=?testkpca.modifykernelmatrix(K);?//修正核矩陣
c?=?new?double*[m];
for?(a?=?0;?a c[a]?=?new?double[m];
v?=?new?double*[m];
for?(a?=?0;?a v[a]?=?new?double[m];
for?(a?=?0;?a for?(j?=?0;?j c[a][j]?=?KL[a][j];
a?=?testkpca.jcb(c?v?eps?10000); //求取特征值和特征向量
cout?< if?(a?!=?-1)
{
for?(a?=?0;?a A[a]?=?c[a][a];?//獲取特征值
}
else
cout?< testk

?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2017-06-05?16:01??169070003\
?????目錄???????????0??2017-06-05?16:01??169070003\169070003\
?????文件?????7733248??2017-06-05?16:01??169070003\169070003.sdf
?????文件?????????973??2017-06-05?13:57??169070003\169070003.sln
?????文件???????17920??2017-06-05?16:01??169070003\169070003.v12.suo
?????文件????????4215??2017-06-05?14:02??169070003\169070003\169070003.vcxproj
?????文件????????1147??2017-06-05?14:02??169070003\169070003\169070003.vcxproj.filters
?????目錄???????????0??2017-06-05?18:22??169070003\169070003\Debug\
?????文件?????????859??2017-06-05?14:48??169070003\169070003\Debug\169070003.Build.CppClean.log
?????文件????????1667??2017-06-05?14:48??169070003\169070003\Debug\169070003.log
?????目錄???????????0??2017-06-05?14:48??169070003\169070003\Debug\169070003.tlog\
?????文件?????????168??2017-06-05?14:48??169070003\169070003\Debug\169070003.tlog\169070003.lastbuildstate
?????文件?????????708??2017-06-05?14:48??169070003\169070003\Debug\169070003.tlog\cl.command.1.tlog
?????文件????????7192??2017-06-05?14:48??169070003\169070003\Debug\169070003.tlog\CL.read.1.tlog
?????文件?????????484??2017-06-05?14:48??169070003\169070003\Debug\169070003.tlog\CL.write.1.tlog
?????文件????????1154??2017-06-05?14:48??169070003\169070003\Debug\169070003.tlog\link.command.1.tlog
?????文件????????2542??2017-06-05?14:48??169070003\169070003\Debug\169070003.tlog\link.read.1.tlog
?????文件?????????462??2017-06-05?14:48??169070003\169070003\Debug\169070003.tlog\link.write.1.tlog
?????文件??????441629??2017-06-05?14:17??169070003\169070003\eigen.txt
?????文件???????????3??2017-06-05?14:17??169070003\169070003\gaussparameter.txt
?????文件???????11949??2017-06-05?14:03??169070003\169070003\kpca.h
?????文件????????7257??2017-06-05?14:17??169070003\169070003\kpcaproject.txt
?????文件????????3841??2017-06-05?16:01??169070003\169070003\main.cpp
?????文件????????6969??2017-06-05?14:58??169070003\169070003\pca.h
?????文件???????10266??2017-06-05?14:17??169070003\169070003\pcaproject.txt
?????文件????????9284??2017-06-04?21:26??169070003\169070003\test1.txt
?????文件????????9284??2017-06-04?20:16??169070003\169070003\test2.txt
?????目錄???????????0??2017-06-05?18:22??169070003\Debug\
?????文件???????????3??2017-06-05?14:50??169070003\Debug\gaussparameter.txt
?????文件???????10266??2017-06-05?14:49??169070003\Debug\pcaproject.txt
?????文件????????9284??2017-06-04?21:26??169070003\Debug\test1.txt
............此處省略1個文件信息

評論

共有 條評論