99999久久久久久亚洲,欧美人与禽猛交狂配,高清日韩av在线影院,一个人在线高清免费观看,啦啦啦在线视频免费观看www

熱線電話:13121318867

登錄
首頁精彩閱讀R語言聚類算法比較
R語言聚類算法比較
2018-06-09
收藏

R語言聚類算法比較

在使用不同的聚類算法完成數(shù)據(jù)聚類操作后,我們可以對(duì)算法的性能進(jìn)行評(píng)估,絕大多數(shù)情況下,我們即可以使用簇內(nèi)距離也可以使用簇間距離作為評(píng)價(jià)標(biāo)準(zhǔn)。使用fpc算法包的cluster.stat函數(shù)來比較不同的聚類算法。

操作

導(dǎo)入fpc包,選擇層次聚類算法,距離計(jì)算采用single方法(最短距離法),將得到簇存放在hc_single中:

library(fpc)
single_c = hclust(dist(customer),method = "single")
hc_single = cutree(single_c,k = 4)

選擇層次聚類算,距離計(jì)算采用complete方法(最長(zhǎng)距離法),將得到的簇存放在hc_complete:

complete_c = hclust(dist(customer),method = "complete")
hc_complte = cutree(complete_c,k = 4)
選擇k均值聚類算法,將得到的簇存放km對(duì)象中:

set.seed(22)
km = kmeans(customer,4)
獲得km聚類算法聚類結(jié)果的基本統(tǒng)計(jì)信息:

cs = cluster.stats(dist(customer),km$cluster)
通常我們習(xí)慣使用within.cluster.ss和avg.silwidth這兩個(gè)函數(shù)來驗(yàn)證聚類算法:

cs[c("within.cluster.ss","avg.silwidth")]
$within.cluster.ss
[1] 61.3489

$avg.silwidth
[1] 0.4640587

將得到的不同方法生成聚類結(jié)果的統(tǒng)計(jì)信息并以列表顯示:

sapply(list(kmeans = km$cluster,hc_single = hc_single,hc_complte = hc_complte), function(c)cluster.stats(dist(customer),c)[c("within.cluster.ss","avg.silwidth")])
                  kmeans    hc_single hc_complte
within.cluster.ss 61.3489   136.0092  65.94076  
avg.silwidth      0.4640587 0.2481926 0.4255961
原理
聚類結(jié)果的驗(yàn)證通常采用兩種技術(shù):簇內(nèi)距離和簇間距離。其中,簇間距離距離越大,聚類效果越好,而簇內(nèi)距離越小,聚類效果越理想。使用fpc包中的cluster.stat函數(shù)來計(jì)算訓(xùn)練好的聚類對(duì)象的相關(guān)統(tǒng)計(jì)信息。
從輸出結(jié)果可以得知,within.cluster.ss計(jì)算的是每個(gè)聚類內(nèi)部的距離平方程,而avg.silwidth計(jì)算的是平均輪廓值。within.cluster.ss的計(jì)算結(jié)果體現(xiàn)了同一個(gè)簇之間對(duì)象的相關(guān)程度,該值越小,簇內(nèi)對(duì)象的相關(guān)性越大。而avg.silwidth值則同時(shí)考慮了簇內(nèi)對(duì)象的聚合度和簇內(nèi)對(duì)象的聚合度簇間對(duì)象的分離度。數(shù)學(xué)上對(duì)于每個(gè)點(diǎn)x可以采用下列公式計(jì)算其輪廓系數(shù):
輪廓系數(shù)(x) = [b(x) - a(x)]/max([b(x),a(x)])
其中,a(x)是點(diǎn)x到所有與它在同一簇中的其他點(diǎn)的平均距離,而b(x)則是點(diǎn)x到所有與它不在同一簇的點(diǎn)平均距離的最小值。通常輪廓系數(shù)取值范圍為0~1,越接近于1說明聚類效果越好。
從最后產(chǎn)生的結(jié)果可以知道,在within.cluster.ss和avg.silwidth測(cè)量長(zhǎng)度下基于最長(zhǎng)距離的層次聚類算法的聚類效果要優(yōu)于最短距離層次聚類算法和k均值算法。

數(shù)據(jù)分析咨詢請(qǐng)掃描二維碼

若不方便掃碼,搜微信號(hào):CDAshujufenxi

數(shù)據(jù)分析師資訊
更多

OK
客服在線
立即咨詢
客服在線
立即咨詢
') } function initGt() { var handler = function (captchaObj) { captchaObj.appendTo('#captcha'); captchaObj.onReady(function () { $("#wait").hide(); }).onSuccess(function(){ $('.getcheckcode').removeClass('dis'); $('.getcheckcode').trigger('click'); }); window.captchaObj = captchaObj; }; $('#captcha').show(); $.ajax({ url: "/login/gtstart?t=" + (new Date()).getTime(), // 加隨機(jī)數(shù)防止緩存 type: "get", dataType: "json", success: function (data) { $('#text').hide(); $('#wait').show(); // 調(diào)用 initGeetest 進(jìn)行初始化 // 參數(shù)1:配置參數(shù) // 參數(shù)2:回調(diào),回調(diào)的第一個(gè)參數(shù)驗(yàn)證碼對(duì)象,之后可以使用它調(diào)用相應(yīng)的接口 initGeetest({ // 以下 4 個(gè)配置參數(shù)為必須,不能缺少 gt: data.gt, challenge: data.challenge, offline: !data.success, // 表示用戶后臺(tái)檢測(cè)極驗(yàn)服務(wù)器是否宕機(jī) new_captcha: data.new_captcha, // 用于宕機(jī)時(shí)表示是新驗(yàn)證碼的宕機(jī) product: "float", // 產(chǎn)品形式,包括:float,popup width: "280px", https: true // 更多配置參數(shù)說明請(qǐng)參見:http://docs.geetest.com/install/client/web-front/ }, handler); } }); } function codeCutdown() { if(_wait == 0){ //倒計(jì)時(shí)完成 $(".getcheckcode").removeClass('dis').html("重新獲取"); }else{ $(".getcheckcode").addClass('dis').html("重新獲取("+_wait+"s)"); _wait--; setTimeout(function () { codeCutdown(); },1000); } } function inputValidate(ele,telInput) { var oInput = ele; var inputVal = oInput.val(); var oType = ele.attr('data-type'); var oEtag = $('#etag').val(); var oErr = oInput.closest('.form_box').next('.err_txt'); var empTxt = '請(qǐng)輸入'+oInput.attr('placeholder')+'!'; var errTxt = '請(qǐng)輸入正確的'+oInput.attr('placeholder')+'!'; var pattern; if(inputVal==""){ if(!telInput){ errFun(oErr,empTxt); } return false; }else { switch (oType){ case 'login_mobile': pattern = /^1[3456789]\d{9}$/; if(inputVal.length==11) { $.ajax({ url: '/login/checkmobile', type: "post", dataType: "json", data: { mobile: inputVal, etag: oEtag, page_ur: window.location.href, page_referer: document.referrer }, success: function (data) { } }); } break; case 'login_yzm': pattern = /^\d{6}$/; break; } if(oType=='login_mobile'){ } if(!!validateFun(pattern,inputVal)){ errFun(oErr,'') if(telInput){ $('.getcheckcode').removeClass('dis'); } }else { if(!telInput) { errFun(oErr, errTxt); }else { $('.getcheckcode').addClass('dis'); } return false; } } return true; } function errFun(obj,msg) { obj.html(msg); if(msg==''){ $('.login_submit').removeClass('dis'); }else { $('.login_submit').addClass('dis'); } } function validateFun(pat,val) { return pat.test(val); }