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

熱線電話:13121318867

登錄
首頁精彩閱讀怎樣入手學(xué)習(xí)R的算法?
怎樣入手學(xué)習(xí)R的算法?
2016-07-25
收藏


R是目前學(xué)習(xí)R語言中應(yīng)用最廣泛的平臺(tái)。當(dāng)你認(rèn)真起來學(xué)習(xí)R的時(shí)候你會(huì)找到學(xué)習(xí)R的竅門。


它之所以功能強(qiáng)大是因?yàn)楹芏?a href='/map/jiqixuexi/' style='color:#000;font-size:inherit;'>機(jī)器學(xué)習(xí)的算法都是現(xiàn)有的。然而其中一個(gè)問題是這些算法都是由第三方提供的,這似乎讓這些算法的使用看起來沒有一致性。因此它會(huì)放慢你學(xué)習(xí)的步伐,而且影響程度很大,那是因?yàn)槟阈枰獙W(xué)著如何不斷的運(yùn)用在每個(gè)包里的算法對(duì)數(shù)據(jù)做出模型以用來做出某些預(yù)測(cè),而且要不斷的重復(fù)。

對(duì)于處在這個(gè)階段的人來說,你會(huì)發(fā)現(xiàn)你是如何可以克服這些在在R的算法中,涉及機(jī)器學(xué)習(xí)中的困難。如果能按照你提早準(zhǔn)備好這些方法來系統(tǒng)的學(xué)習(xí)它,會(huì)顯得先對(duì)容易得心應(yīng)手。

丨大部分的算法都是缺乏一致性的

R是一個(gè)龐大的系統(tǒng)。第三方開源R包提供資源,能允許相關(guān)學(xué)者和教授獲取可用的功能最強(qiáng)大的算法,而這些就掌握在我們這些實(shí)踐者的手里。

這里又有一個(gè)問題,且親身經(jīng)歷過的,是如何學(xué)習(xí)R并把相關(guān)的來自不同的R包的算法運(yùn)用到R中。這種不一致性也延伸到了文檔,它們有些提供了現(xiàn)有的實(shí)用例子用于分類,但忽略了回歸分析,而有一些壓根就沒有提供例子。

這都意味著如果你想嘗試使用使用不同R包中不同的算法,你必須要花一些時(shí)間分析比較出哪種方法比較合適,并且還要對(duì)每種方法逐一做出相關(guān)的預(yù)測(cè)。這會(huì)花費(fèi)你很多時(shí)間,尤其是面對(duì)那些層次不齊的例子和描述。

下面我來總結(jié)一下這些可能遇到的困難:

不一致性:算法的使用,對(duì)于分析不同的模型,為了能適配其數(shù)據(jù)及其模型本身來說,都是不一樣的。而他們最終還是用于產(chǎn)生模型的預(yù)測(cè)。這意味著你需要學(xué)習(xí)每一個(gè)和每一種算法的運(yùn)用,從而能讓你把這些工作實(shí)例合攏在一起,從而讓你單獨(dú)針對(duì)這個(gè)問題進(jìn)行解答。

分散的算法:這些算法在不同R包中實(shí)施起來是不一樣的,同時(shí)這也使得找出這些R包中提供了一個(gè)你需要的實(shí)施方案的算法變得困難,更不用說那些提供了常用的實(shí)現(xiàn)方法了。此外,這些文檔對(duì)于一個(gè)R包來說也許分散在多個(gè)幫助文件中,網(wǎng)站甚至它的簡(jiǎn)介。這意味著你需要做大量的研究以此找出這樣的一個(gè)算法,更不用說編輯一系列的你可能會(huì)選擇的算法。

不完整性:一個(gè)算法的文檔幾乎不可能是完整的。一個(gè)使用實(shí)例可能可能不是現(xiàn)有的。倘若是這樣,這可能不被論證為一個(gè)典型的問題。這意味著你很難快速的掌握如何執(zhí)行這樣的一個(gè)你需要完成操作。

復(fù)雜性:每種算法在它的執(zhí)行能力的復(fù)雜度已經(jīng)描述上的復(fù)雜度都是不一樣的。這會(huì)對(duì)你從使用一個(gè)包到另一個(gè)包造成不必要的傷害。你肯定想如何如何把所得到的算法和參數(shù)進(jìn)行最有效的利用,就像你不想用很大篇幅的PDF文件僅僅寫一個(gè)“你好,世界”這樣小題大做。

丨擁有一本屬于你自己的工具書

你可以利用一個(gè)收集各種算法的工具書或文檔來幫助你更好的完成工作。你擁有了它以后,你可以從中找出R的機(jī)器學(xué)習(xí)算法的實(shí)例并且你可以復(fù)制粘貼這些算法,通過這樣解決你實(shí)際遇到的特定問題。

為了能幫助你更好的在你的工作中使用這樣的工具書,你需要確信你知道這些關(guān)鍵的使用原則:

單一性:每段實(shí)例代碼都必須是單一的,完整的以及可執(zhí)行的。

單指這些代碼:每種方法都必須都必須關(guān)注于這些代碼,它們?cè)?a href='/map/jiqixuexi/' style='color:#000;font-size:inherit;'>機(jī)器學(xué)習(xí)中有少量的注釋(這里有一些優(yōu)秀的書籍介紹到他們,不要把這些概念混淆)。

簡(jiǎn)便性:每種方法都在最常用的實(shí)例展現(xiàn)出來,而它們可能是在你尋找的時(shí)候你所需要的算法。當(dāng)你想要咨詢這些正式的文檔的時(shí)候你只需要找出相關(guān)的參數(shù)因此你可以找出最有效的算法。

便攜性:這些方法都提供了一個(gè)這樣的解釋,它們都是可以查找或現(xiàn)有的,可瀏覽和查閱的(一本記錄使用方法的書)。

一致性:這些實(shí)例代碼都是一致的,同時(shí)也是伴隨著相同代碼結(jié)構(gòu)和風(fēng)格的傳統(tǒng)(下載數(shù)據(jù),合適的模型,用于模型)。

一本算法工具書可以讓你使用R平臺(tái)用于機(jī)器學(xué)習(xí)和解決復(fù)雜的問題。

1. 你可以直接運(yùn)用這些算法和功能。
2. 你可以發(fā)現(xiàn)你所需要的算法。
3. 你可以通過大致瀏覽就能明白這些算法的工作原理。
4. 你可以使用一個(gè)屬于你自己的方法,同時(shí)用它來使用這些算法并把它們整理成一個(gè)你想要的方式。
5. 你可以最有效的使用這里的算法和功能。

在R中算法的用途

我們已經(jīng)大致的說了這樣的一些實(shí)例來描述它們大致的情況。

我也在此提供一些R當(dāng)中機(jī)器語言學(xué)習(xí)用途的實(shí)例,它們以算法類型或相似度整理成如下:

線性回歸分析:普通的最小二乘回歸法、逐步回歸法、主成分回歸法以及偏最小二乘法。

改進(jìn)線性回歸嶺回歸、最小絕對(duì)收縮和選擇運(yùn)算子及其彈性網(wǎng)絡(luò)。

線性回歸分析:多變量自適應(yīng)回歸的刺(MARS)、支撐向量機(jī)(SVM)、k進(jìn)鄰判別法(kNN)和神經(jīng)網(wǎng)絡(luò)。

線性回歸決策樹分類與回歸樹(CART)、條件決策樹、模態(tài)樹、規(guī)則系統(tǒng)、套裝車、隨即森林、梯度提升機(jī)(GBM)和立體主義。

線性分類:后勤回歸分析、線性判別分析(IDA)和偏最小二乘判別式。

非線性分類:混合判別分析(MDA)、二次判別分析(QDA)、正則化判別分析(RDA),神經(jīng)網(wǎng)絡(luò)、靈活判別分析(FDA),支撐向量機(jī)(SVM)、k最鄰(kNN)和樸素貝葉斯。

非線性決策樹分類:分類回歸樹(CART)、C4.5、部件、包裝車、隨即森林、梯度提升機(jī)(GBM)現(xiàn)有的C5.0.

總結(jié)

在這篇文章中,你會(huì)發(fā)現(xiàn)R語言是非常受歡迎的,而且其機(jī)器語言學(xué)習(xí)功能強(qiáng)大,但是不足的是這種功能需要時(shí)間來操作他。

同時(shí),你會(huì)發(fā)現(xiàn)R語言當(dāng)中,地址限制的一種方式就是制定這樣的一本書,包含了一些完整且專一的算法,而且這些算法對(duì)于你來說是很容易找到且你可以按照你的方式把它們運(yùn)用到實(shí)際問題中。

最后,你會(huì)在廣闊的算法類型范圍中看到一些R中關(guān)于機(jī)器學(xué)習(xí)算法的方法的實(shí)例,同時(shí)你在這種已經(jīng)給你提供相關(guān)方案的工作中找到這樣的一些向?qū)А?/span>

文 | 陸勤

來源 | 數(shù)據(jù)人網(wǎng)

順便透漏一下CDA也有開設(shè)R語言建模分析師的課程哦,詳解數(shù)據(jù)挖掘流程和算法的商業(yè)應(yīng)用知識(shí),想?yún)⒓覥DA課程,可微信掃碼,直達(dá)店鋪!


(CDA微店二維碼)                   (CDA數(shù)據(jù)分析師服務(wù)號(hào))

數(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); }