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

  • 大小: 2.05MB
    文件類型: .rar
    金幣: 2
    下載: 0 次
    發布日期: 2023-11-12
  • 語言: C/C++
  • 標簽: 密度聚類??

資源簡介

采用C++ 實現基于密度聚類算法DBScan的實現

資源截圖

代碼片段和文件信息

#include?“ClusterAnalysis.h“
#include?
#include?
#include?

/*
函數:聚類初始化操作
說明:將數據文件名,半徑,領域最小數據個數信息寫入聚類算法類,讀取文件,把數據信息讀入寫進算法類數據集合中
參數:
char*?fileName;????//文件名
double?radius;????//半徑
int?minPTs;????????//領域最小數據個數
返回值:?true;????*/
bool?ClusterAnalysis::Init(char*?fileName?double?radius?int?minPTs)
{
this->radius?=?radius;????????//設置半徑
this->minPTs?=?minPTs;????????//設置領域最小數據個數
this->dimNum?=?DIME_NUM;????//設置數據維度
ifstream?ifs(fileName);????????//打開文件
if?(!ifs.is_open())????????????????//若文件已經被打開,報錯誤信息
{
cout?< exit(-1);????????????????????????//程序退出
}

unsigned?long?i?=?0;????????????//數據個數統計
while?(!ifs.eof())????????????????//從文件中讀取POI信息,將POI信息寫入POI列表中
{
DataPoint?tempDP;????????????????//臨時數據點對象
double?tempDimData[DIME_NUM];????//臨時數據點維度信息
for?(int?j?=?0;?j {
ifs?>>?tempDimData[j];
}
tempDP.SetDimension(tempDimData);????//將維度信息存入數據點對象內

//char?date[20]=““;
//char?time[20]=““;
////double?type;????//無用信息
//ifs?>>?date;
//ifs?>>?time;????//無用信息讀入

tempDP.SetDpId(i);????????????????????//將數據點對象ID設置為i
tempDP.SetVisited(false);????????????//數據點對象isVisited設置為false
tempDP.SetClusterId(-1);????????????//設置默認簇ID為-1
dadaSets.push_back(tempDP);????????????//將對象壓入數據集合容器
i++;????????//計數+1
}
ifs.close();????????//關閉文件流
dataNum?=?i;????????????//設置數據對象集合大小為i
cout?< for?(unsigned?long?i?=?0;?i {
SetArrivalPoints(dadaSets[i]);????????????//計算數據點領域內對象
}
return?true;????//返回
}

/*
函數:將已經過聚類算法處理的數據集合寫回文件
說明:將已經過聚類結果寫回文件
參數:
char*?fileName;????//要寫入的文件名
返回值:?true????*/
bool?ClusterAnalysis::WriteToFile(char*?fileName)
{
ofstream?of1(fileName);????????????????????????????????//初始化文件輸出流
for?(unsigned?long?i?=?0;?i {
for?(int?d?=?0;?d of1?< of1?< }
of1.close();????//關閉輸出文件流
return?true;????//返回
}

/*
函數:設置數據點的領域點列表
說明:設置數據點的領域點列表
參數:
返回值:?true;????*/
void?ClusterAnalysis::SetArrivalPoints(DataPoint&?dp)
{
for?(unsigned?long?i?=?0;?i {
double?distance?=?GetDistance(dadaSets[i]?dp);????//獲取與特定點之間的距離
if?(distance?<=?radius?&&?i?!=?dp.GetDpId())????????//若距離小于半徑,并且特定點的id與dp的id不同執行
dp.GetArrivalPoints().push_back(i);????????????//將特定點id壓力dp的領域列表中
}
if?(dp.GetArrivalPoints().size()?>=?minPTs)????????????//若dp領域內數據點數據量>?minPTs執行
{
dp.SetKey(true);????//將dp核心對象標志位設為true
return;????????????????//返回
}
dp.SetKey(false);????//若非核心對象,則將dp核心對象標志位設為false
}


/*
函數:執行聚類操作
說明:執行聚類操作
參數:
返回值:?true;????*/
bool?ClusterAnalysis::DoDBSCANRecursive()
{
unsigned?long?clusterId?=?0;????????????????????????//聚類id計數,初始化為0
for?(unsig

?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----

?????文件???????5901??2016-07-09?11:38??dbscan\dbscan\ClusterAnalysis.cpp

?????文件????????932??2016-07-08?23:07??dbscan\dbscan\ClusterAnalysis.h

?????文件???????1348??2016-07-07?21:26??dbscan\dbscan\DataPoint.cpp

?????文件???????1296??2016-07-07?21:24??dbscan\dbscan\DataPoint.h

?????文件???????3528??2016-11-15?21:49??dbscan\dbscan\dbscan.cpp

?????文件???????3698??2016-11-15?10:22??dbscan\dbscan\dbscan.vcxproj

?????文件???????1358??2016-07-08?23:01??dbscan\dbscan\dbscan.vcxproj.filters

?????文件????????164??2016-09-21?15:50??dbscan\dbscan\dbscan.vcxproj.user

?????文件???????1820??2016-09-21?17:08??dbscan\dbscan\Debug\cl.command.1.tlog

?????文件??????22016??2016-09-21?17:08??dbscan\dbscan\Debug\CL.read.1.tlog

?????文件???????1032??2016-09-21?17:08??dbscan\dbscan\Debug\CL.write.1.tlog

?????文件?????427688??2016-11-15?10:22??dbscan\dbscan\Debug\ClusterAnalysis.obj

?????文件??????59178??2016-11-15?10:22??dbscan\dbscan\Debug\DataPoint.obj

?????文件?????????51??2016-09-21?17:10??dbscan\dbscan\Debug\dbscan.lastbuildstate

?????文件???????2265??2016-11-15?16:05??dbscan\dbscan\Debug\dbscan.log

?????文件?????193442??2016-11-15?16:05??dbscan\dbscan\Debug\dbscan.obj

?????文件???????3404??2016-11-15?16:05??dbscan\dbscan\Debug\dbscan.tlog\cl.command.1.tlog

?????文件??????34170??2016-11-15?16:05??dbscan\dbscan\Debug\dbscan.tlog\CL.read.1.tlog

?????文件???????1466??2016-11-15?16:05??dbscan\dbscan\Debug\dbscan.tlog\CL.write.1.tlog

?????文件????????158??2016-11-15?16:05??dbscan\dbscan\Debug\dbscan.tlog\dbscan.lastbuildstate

?????文件???????4320??2016-11-15?16:05??dbscan\dbscan\Debug\dbscan.tlog\link.command.1.tlog

?????文件???????7446??2016-11-15?16:05??dbscan\dbscan\Debug\dbscan.tlog\link.read.1.tlog

?????文件????????534??2016-11-15?16:05??dbscan\dbscan\Debug\dbscan.tlog\link.write.1.tlog

?????文件??????????2??2016-09-21?17:08??dbscan\dbscan\Debug\link-cvtres.read.1.tlog

?????文件??????????2??2016-09-21?17:08??dbscan\dbscan\Debug\link-cvtres.write.1.tlog

?????文件??????????2??2016-09-21?17:08??dbscan\dbscan\Debug\link-rc.read.1.tlog

?????文件??????????2??2016-09-21?17:08??dbscan\dbscan\Debug\link-rc.write.1.tlog

?????文件???????2994??2016-09-21?17:08??dbscan\dbscan\Debug\link.command.1.tlog

?????文件???????7456??2016-09-21?17:08??dbscan\dbscan\Debug\link.read.1.tlog

?????文件????????498??2016-09-21?17:08??dbscan\dbscan\Debug\link.write.1.tlog

............此處省略19個文件信息

評論

共有 條評論

相關資源