資源簡介
GitHub搬運,作者主頁:https://github.com/osama-afifi

代碼片段和文件信息
#include?“KmeansPP.h“
using?namespace?std;
KmeansPP::KmeansPP(const?std::vector?&input_data)?
:?input_data(input_data)?random_index_gen(0?input_data.size()-1)?random_real_gen(0?1)?random_engine(rd())
{}
KmeansPP::~KmeansPP(void)
{}
vector?>?KmeansPP::RunKMeansPP(int?K?vector?¢roids)
{
assert(K<=input_data.size());
vector?>?clusters_vec(K);?
//?First:?initalize?the?initial?centroids?according?to?K-Means?Plus?Plus?Algorithm
init();
int?first_centroid?=?random_index_gen(random_engine);
initial_centroids_.push_back(input_data[first_centroid]);
for(int?i=1?;?i {
updateNearestClusters(initial_centroids_);
initial_centroids_.push_back(input_data[getNextInitialCentroidIndex()]);
}
//?Second:?Continue?as?in?the?regular?K-means?clustering?algoithm
cur_centroids_?=?initial_centroids_;
do
{
prev_centroids_?=?cur_centroids_;
updateNearestClusters(cur_centroids_);
updateCentroids(cur_centroids_);
}
while(!equalCentroids(cur_centroids_prev_centroids_));
//?Push?resuts?into?the?clusters?vector
for(int?i?=?0?;?i clusters_vec[nearest_cluster_idx[i]].push_back(i);
centroids?=?cur_centroids_;
return?clusters_vec;
}
int?KmeansPP::getNextInitialCentroidIndex()
{
/* Adding?the?rest?of?the?points?according?to?the?probability?D(x)/SIGMA(D(x))
where?D(x)?is?the?distance?between?a?datapoint?x?and?it‘s?nearest?cluster?*/
//?Total?Error?i.e?SIGMA(D(x)
double?total_distance=0;
for?(int?i?=?0;?i? total_distance?+=?nearest_cluster_dist[i];
//?The?probability?D(x)/SIGMA(D(x))
vector?cumm_prob(input_data.size()0);
for?(int?i?=?0;?i? cumm_prob[i]?=?(nearest_cluster_dist[i]?/?total_distance);
//?Cummulating
for?(int?i?=?1;?i? cumm_prob[i]?+=?cumm_prob[i-1];
//?Choosing?the?next?point?with?a?probabilty?D(x)/SIGMA(D(x))
int?rand_num?=?random_real_gen(random_engine);
for?(int?i?=?0;?i? if?(rand_num? return?i;
return?cumm_prob.size()-?1;
}
void?KmeansPP::updateNearestClusters(const?vector?¢roids_)
{
for?(int?i?=?0;?i? {
int?idx?=?getClosestCentroidIndex(i?centroids_);
nearest_cluster_idx[i]?=?idx;
nearest_cluster_dist[i]?=?distance(centroids_[idx]input_data[i]);
}
}
void?KmeansPP::updateCentroids(const?vector?¢roids_)
{
vectorfreq(centroids_.size()0);
vectornew_centroids(centroids_.size()vector(centroids_[0].size()0));
for?(int?i?=?0;?i? {
++freq[nearest_cluster_idx[i]];
for(int?j=0?;?j new_centroids[nearest_cluster_idx[i]][j]?+=?input_data[i][j];
}
for?(int?i?=?0;?i? if(freq[i])
for?(int?j?=?0;?j? new_centroids[i][j]?*=?(1.0/(double)freq[i])
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2015-05-09?16:21??RBF-Radial-Basis-Function-Network-master\
?????目錄???????????0??2015-05-09?16:21??RBF-Radial-Basis-Function-Network-master\Debug\
?????文件???????19456??2015-05-09?16:21??RBF-Radial-Basis-Function-Network-master\Debug\RadialBasisFunctionNetwok.pdb
?????文件??????280576??2015-05-09?16:21??RBF-Radial-Basis-Function-Network-master\Debug\RadialBasisFunctionNetwork.exe
?????文件?????2183464??2015-05-09?16:21??RBF-Radial-Basis-Function-Network-master\Debug\RadialBasisFunctionNetwork.ilk
?????文件?????2706432??2015-05-09?16:21??RBF-Radial-Basis-Function-Network-master\Debug\RadialBasisFunctionNetwork.pdb
?????文件?????????371??2015-05-09?16:21??RBF-Radial-Basis-Function-Network-master\README.md
?????文件?????8716288??2015-05-09?16:21??RBF-Radial-Basis-Function-Network-master\RadialBasisFunctionNetwok.sdf
?????文件????16711680??2015-05-09?16:21??RBF-Radial-Basis-Function-Network-master\RadialBasisFunctionNetwork.sdf
?????文件?????????925??2015-05-09?16:21??RBF-Radial-Basis-Function-Network-master\RadialBasisFunctionNetwork.sln
?????文件???????27648??2015-05-09?16:21??RBF-Radial-Basis-Function-Network-master\RadialBasisFunctionNetwork.suo
?????文件???????43008??2015-05-09?16:21??RBF-Radial-Basis-Function-Network-master\RadialBasisFunctionNetwork.v11.suo
?????目錄???????????0??2015-05-09?16:21??RBF-Radial-Basis-Function-Network-master\RadialBasisFunctionNetwork\
?????目錄???????????0??2015-05-09?16:21??RBF-Radial-Basis-Function-Network-master\RadialBasisFunctionNetwork\Debug\
?????文件???????46016??2015-05-09?16:21??RBF-Radial-Basis-Function-Network-master\RadialBasisFunctionNetwork\Debug\CL.read.1.tlog
?????文件????????3612??2015-05-09?16:21??RBF-Radial-Basis-Function-Network-master\RadialBasisFunctionNetwork\Debug\CL.write.1.tlog
?????文件??????871662??2015-05-09?16:21??RBF-Radial-Basis-Function-Network-master\RadialBasisFunctionNetwork\Debug\KmeansPP.obj
?????文件??????791299??2015-05-09?16:21??RBF-Radial-Basis-Function-Network-master\RadialBasisFunctionNetwork\Debug\RBFNetwork.obj
?????文件????????2082??2015-05-09?16:21??RBF-Radial-Basis-Function-Network-master\RadialBasisFunctionNetwork\Debug\RadialBasisFunctionNetwok.Build.CppClean.log
?????文件??????????88??2015-05-09?16:21??RBF-Radial-Basis-Function-Network-master\RadialBasisFunctionNetwork\Debug\RadialBasisFunctionNetwok.lastbuildstate
?????文件????????3854??2015-05-09?16:21??RBF-Radial-Basis-Function-Network-master\RadialBasisFunctionNetwork\Debug\RadialBasisFunctionNetwok.log
?????文件???????????0??2015-05-09?16:21??RBF-Radial-Basis-Function-Network-master\RadialBasisFunctionNetwork\Debug\RadialBasisFunctionNetwok.unsuccessfulbuild
?????文件????????1035??2015-05-09?16:21??RBF-Radial-Basis-Function-Network-master\RadialBasisFunctionNetwork\Debug\RadialBasisFunctionNetwork.Build.CppClean.log
?????文件??????????88??2015-05-09?16:21??RBF-Radial-Basis-Function-Network-master\RadialBasisFunctionNetwork\Debug\RadialBasisFunctionNetwork.lastbuildstate
?????文件????????3826??2015-05-09?16:21??RBF-Radial-Basis-Function-Network-master\RadialBasisFunctionNetwork\Debug\RadialBasisFunctionNetwork.log
?????文件????????2538??2015-05-09?16:21??RBF-Radial-Basis-Function-Network-master\RadialBasisFunctionNetwork\Debug\cl.command.1.tlog
?????文件???????????2??2015-05-09?16:21??RBF-Radial-Basis-Function-Network-master\RadialBasisFunctionNetwork\Debug\li
?????文件???????????2??2015-05-09?16:21??RBF-Radial-Basis-Function-Network-master\RadialBasisFunctionNetwork\Debug\li
?????文件???????????2??2015-05-09?16:21??RBF-Radial-Basis-Function-Network-master\RadialBasisFunctionNetwork\Debug\li
?????文件???????????2??2015-05-09?16:21??RBF-Radial-Basis-Function-Network-master\RadialBasisFunctionNetwork\Debug\li
?????文件???????????2??2015-05-09?16:21??RBF-Radial-Basis-Function-Network-master\RadialBasisFunctionNetwork\Debug\li
............此處省略91個文件信息
評論
共有 條評論