Stats

Popular Posts

Followers

Mathematica 教學 FindClusters and scatterplot

戴忠淵 於 2010年6月30日星期三 下午4:36 發表






R-Project首頁圖示的散佈圖,覺得蠻有用的!

(* 產生隨機變數 *)

GaussianRandomData[n_Integer,p_,sigma_]:=
Table[p+{Re[#],Im[#]}&[RandomReal[NormalDistribution[0,sigma]]
E^(I*RandomReal[{0,2\[Pi]}])],{n}];

datapairs=BlockRandom[SeedRandom[1234];
Join[GaussianRandomData[100,{2,1},.3],
GaussianRandomData[100,{1,1.5},.2],
GaussianRandomData[100,{1,1.1},.4],
GaussianRandomData[100,{1.75,1.75},0.1]]];

(* 資料分群 *)

cl=FindClusters[datapairs];


(* 計算各樣本點與總體平均的距離,距離越大,點也越大 *)

pointdata=Transpose[{{Red,Blue,Green,Brown},
Flatten[{PointSize[EuclideanDistance[Mean@datapairs,#]/50],
Point[#]}&/@cl[[#]]]&/@Range[4]}];

Plot[0,{x,Min@datapairs[[All,1]],1.2Max@datapairs[[All,2]]},
AxesOrigin->Mean@datapairs,
PlotRange->{{0,1.2Max@datapairs[[All,1]]},
{0,1.2Max@datapairs[[All,2]]}},
Epilog->pointdata]

Tags: , ,

讀者回應 ( 0 意見 )

發佈留言

Please leave your name and tell me what you thought about this site. Comments, suggestions and views are welcomed.

如果這篇文章對你有幫助,那請留個訊息給我~