bootstrap滾動條樣式 css框架bootstrap

大家好,bootstrap滾動條樣式相信很多的網(wǎng)友都不是很明白,包括css框架bootstrap也是一樣,不過沒有關(guān)系,接下來就來為大家分享關(guān)于bootstrap滾動條...
大家好,bootstrap滾動條樣式相信很多的網(wǎng)友都不是很明白,包括css框架bootstrap也是一樣,不過沒有關(guān)系,接下來就來為大家分享關(guān)于bootstrap滾動條樣式和css框架bootstrap的一些知識點,大家可以關(guān)注收藏,免得下次來找不到哦,下面我們開始吧!
為什么XGBoost在機器學(xué)習(xí)競賽中表現(xiàn)如此卓越
在此簡單補充一點,希望能給你帶來幫助:【預(yù)測領(lǐng)域中的真“絕色”:XGBoost】
全文共3492字,預(yù)計學(xué)習(xí)時長15分鐘前幾天,Z同學(xué)面試完一臉生無可戀地問我,“你知道XGBoost嗎?”“當(dāng)然知道啊,前幾天不看你還在手推來著?!薄班?,那你知道XGBoost的中英文全稱是啥么?”“ummmmm...X的話難道是羅馬數(shù)字10?G的話Gradient梯度,Boost的Boostingtree?所以是第十代梯度提升樹?”“。。。換你答,你也涼。”
圖片來源:SOOGIF網(wǎng)站
學(xué)習(xí)算法的最大誤區(qū)還記得那個吐槽清華某畢業(yè)生連手寫紅黑樹都不會卻張口就要一萬八的HR嗎?
這事曾一度引起網(wǎng)友的廣泛關(guān)注和熱烈討論,不過圈子不同,影響不同。對于普通吃瓜群眾,“HR說得對,太膨脹。”對于某些資深程序猿,“我也不會,我月薪30k?!睂τ谇舐毿“?,“好慌,手寫紅黑樹?面試不會還要手推SVM、XGBoost吧?溜了溜了,去推泰勒二次展開了?!比缓?,就像我的同學(xué)小Z一樣,只顧著埋頭推導(dǎo)XGBoost的二階泰勒展開,卻連XGBoost的中英文全稱都答不上來。顧此失彼,乃是兵家大忌。很多時候,我們在學(xué)習(xí)算法時,要么過于糾結(jié)弄懂原理而忽略了從宏觀上對算法有一個總體的了解和把握,要么是囫圇吞棗一口氣看個十來篇博客介紹卻往往還是一知半解不求甚解,可能還會莫名自我感覺良好。
基于此,本文就從宏觀上來幫大家梳理梳理XGBoost,力求通俗易懂,精準(zhǔn)得當(dāng)。至于算法原理和資源鏈接嘛,請直接拜讀陳天奇博士的論文XGBoost:AScalableTreeBoostingSystem,同時請參考Github上的開源資源進(jìn)行源碼的學(xué)習(xí)和實戰(zhàn)(https://github.com/dmlc/xgboost)。
什么是XGBoost?原圖來自Unsplash(byJaredSubia)
十幾年前,回歸建模是預(yù)測分析中毫無爭議的女王。但如今回歸建模的時代已經(jīng)結(jié)束,XGBoost已被成功加冕!XGBoost的英文全稱為ExtremeGradientBoosting,中文可以解釋為極端梯度提升(Extreme,一聽就很牛X),它是一種基于決策樹的集成機器學(xué)習(xí)算法,采用了梯度提升(GradientBoosting)框架。在預(yù)測有關(guān)非結(jié)構(gòu)化數(shù)據(jù)(如圖像、文本等)的問題時,人工神經(jīng)網(wǎng)絡(luò)往往表現(xiàn)得比其他算法或框架更出色。但在有關(guān)中小型結(jié)構(gòu)/表格數(shù)據(jù)方面,基于決策樹的算法則是目前為止的最佳方式。請參閱以下圖表,了解幾年來基于決策樹的算法演變。
基于決策樹的算法演變
XGBoost算法最初由華盛頓大學(xué)的一個研究項目發(fā)展而來。2016年,陳天奇和卡洛斯·格斯特林在知識發(fā)現(xiàn)和數(shù)據(jù)挖掘(SIGKDD)會議上共同發(fā)表了一篇論文,一時間這轟動了整個機器學(xué)習(xí)領(lǐng)域。自算法提出以來,它不僅幫助競賽者贏得了多場Kaggle競賽的勝利,還被幾款尖端行業(yè)的應(yīng)用所采納。在GitHub上,有一群強大的數(shù)據(jù)科學(xué)家們?yōu)閄GBoost開源項目提供幫助,約有350名科學(xué)家,總提交次數(shù)約為3,600次。
總體而言,XGBoost具有以下特征:
1.應(yīng)用廣泛:可用于解決回歸、分類、排名和用戶定義的預(yù)測問題。
2.移植性強:可在Windows、Linux和OSX上流暢運行。
3.語言支持:支持目前主要的全部編程語言,包括C++、Python、R、Java、Scala和Julia。
4.云集成:支持AWS、GCE、Azure和Yarn集群,可以與Flink、Spark和其他云數(shù)據(jù)流系統(tǒng)集成。
通俗理解基于決策樹的算法演變照片來自Unsplash(byrawpixel)
假設(shè)你是一名面試官,正在面試幾位資歷優(yōu)秀的候選人?;跊Q策樹的算法演變中的每一環(huán),都可看作面試過程的一部分。
1.決策樹:每名面試官都有一套面試評價標(biāo)準(zhǔn),如教育水平、工作經(jīng)驗以及面試表現(xiàn),通過決策樹來預(yù)測分析,就類似于面試官根據(jù)他自己的標(biāo)準(zhǔn)面試候選人。
2.Bagging:假設(shè)現(xiàn)在面試官不止一名,而是一個面試小組,每名面試官都有一票,Bagging(也稱作bootstrapaggregating)意味著通過民主投票方式,將所有面試官的投票結(jié)果進(jìn)行輸入,從而做出最終決定。
3.隨機森林:這是一種基于bagging的算法,與bagging的不同在于僅隨機選擇特征的子集。換句話說,每名面試官只會根據(jù)某些隨機的資質(zhì)測試方式(例如,測試編程技能的技術(shù)面試和非技術(shù)技能評估的行為面試)來考查面試者。
4.Boosting:這是一種動態(tài)評估方法,每位面試官根據(jù)前一位面試官的反饋,改變評估標(biāo)準(zhǔn)。通過部署更加動態(tài)的評估流程,“提高”面試流程的效率。
5.GradientBoosting:這是Boosting的一種特殊情況,通過梯度下降算法將誤差最小化,打個比方說,就好比戰(zhàn)略咨詢公司利用面試案例,剔除不合格的候選人。
6.XGBoost:將XGBoost視為強化版的的gradientboosting,畢竟extreme不是隨隨便便就能“冠”名的。它是軟件和硬件優(yōu)化技術(shù)的完美結(jié)合,可在最短的時間內(nèi),使用較少的計算資源,得到較為出色的結(jié)果。
XGBoost為什么這么“絕”?XGBoost之所以能叫XGBoost,因為她夠“絕”(夠Extreme)。XGBoost和GradientBoostingMachines(GBMs)都是基于決策樹的集合方法,通過梯度下降架構(gòu)來提升較弱學(xué)習(xí)者(通常是CARTs)。通過系統(tǒng)優(yōu)化和算法增強,XGBoost進(jìn)一步改進(jìn)了基礎(chǔ)GBM框架。
XGBoost如何優(yōu)化GBM標(biāo)準(zhǔn)算法系統(tǒng)優(yōu)化:
1.并行化:
XGBoost通過多線程實現(xiàn)了回歸樹的并行構(gòu)建。由于用于構(gòu)建基礎(chǔ)學(xué)習(xí)者的循環(huán)具有可互換性,因此設(shè)計并行是可能的。外部循環(huán)枚舉樹的節(jié)點,內(nèi)部循環(huán)則計算特征。這種循環(huán)嵌套在一定程度上限制了并行化,當(dāng)沒有完成內(nèi)部循環(huán),外部循環(huán)就無法啟動。因此,為改善運行時間,可通過對所有實例的全局掃描實現(xiàn)初始化,使用并行線程分類來交換循環(huán)順序。這一交換通過抵消計算中的并行化開銷,提高算法性能。
2.決策樹剪枝:
當(dāng)剪枝分裂遇到一個負(fù)損失時,GBM會停止分裂。因此GBM實際上是一個貪心算法(只求達(dá)到局部最優(yōu)解就ok)。但XGBoost會一直分裂到指定的最大深度(max_depth),然后回過頭來剪枝。這種“深度優(yōu)先”方法顯著提高了計算性能。
3.硬件優(yōu)化:
該算法旨在有效利用硬件資源。通過在每個線程中分配內(nèi)部緩沖區(qū),存儲梯度統(tǒng)計信息,獲取緩存感知。諸如“核外”計算等進(jìn)一步增強功能可優(yōu)化可用磁盤空間,同時處理不適合保存的大數(shù)據(jù)幀。
算法增強:
1.正則化:
通過LASSO(L1)和Ridge(L2)正則化來對更為復(fù)雜的模型進(jìn)行懲罰,防止過度擬合。
2.稀疏性感知:
XGBoost具有稀疏性的離散特征,根據(jù)訓(xùn)練缺失自動“學(xué)習(xí)”最佳缺失值,并且可以更有效率地處理數(shù)據(jù)中不同類型的稀疏模式。
3.加權(quán)分位數(shù)草圖:
XGBoost采用分布式加權(quán)分位數(shù)草圖算法,有效地找到加權(quán)數(shù)據(jù)集中的最佳分裂點。
4.交叉驗證:
在每次迭代時,該算法都有內(nèi)置的交叉驗證方法,無需顯式地對搜索進(jìn)行編程或明確在指定單次運行中所需的增強迭代數(shù)量。有何證據(jù)?我們使用Scikit-learn的“Make_Classification”數(shù)據(jù)包創(chuàng)建了一個包含20類特征(2類信息型和2類冗余型)的100萬個數(shù)據(jù)點的隨機樣本。我們測試了幾種算法,如邏輯回歸、隨機森林、標(biāo)準(zhǔn)GradientBoosting和XGBoost。
使用SKLearn的Make_Classification數(shù)據(jù)集比較XGBoos與其他機器學(xué)習(xí)算法如上圖所示,與其他算法相比,XGBoost模型是兼顧預(yù)測性能和處理時間的最佳預(yù)測方式。其他嚴(yán)格的基準(zhǔn)研究也產(chǎn)生相同結(jié)果。正因如此,XGBoost在最近的數(shù)據(jù)科學(xué)競賽中被廣泛使用。如有疑問,請使用XGBoost?!狵aggle網(wǎng)站上AvitoContextAdClickPrediction競賽的獲獎?wù)逴wenZhang
XGBoost的未來盡管就目前而言,XGBoost的王座還難以撼動。但機器學(xué)習(xí)這一領(lǐng)域的學(xué)者大都比較活躍,而且不畏權(quán)貴,一心戀戰(zhàn)。目前已有幾種據(jù)說可以匹敵XGBoost的新算法框架被提出,比如微軟研究中心新發(fā)布的LightGBM框架和YandexTechnology開發(fā)的CatBoost框架。
圖片來源:RSGMedia網(wǎng)站
每當(dāng)NIPS/ICML/KDD等頂級會議上一有新的算法被提出,最忙活的可能就是數(shù)據(jù)科學(xué)家了。數(shù)據(jù)科學(xué)家們必須測試所有可能的數(shù)據(jù)算法,以保證最終選擇的算法是最佳的。
此外,選擇正確的算法還遠(yuǎn)遠(yuǎn)不夠,還必須通過不斷調(diào)整超參數(shù),正確對算法數(shù)據(jù)集進(jìn)行配置。
此外,如何選擇最佳的算法還有其他幾個值得考慮的因素,例如算法的計算復(fù)雜度、可解釋性以及實現(xiàn)的難易程度。而這正是機器學(xué)習(xí)開始從科學(xué)走向藝術(shù)的時刻。歷史的車輪總是在不斷向前滾動。XGBoost的鐵王座早就被許多人覬覦垂涎,開發(fā)一個優(yōu)于XGBoost的更強大的模型框架只是時間上的早晚問題。然而,在強大的挑戰(zhàn)者出現(xiàn)之前,XGBoost將繼續(xù)統(tǒng)治機器學(xué)習(xí)的世界!
留言點贊關(guān)注
我們一起分享AI學(xué)習(xí)與發(fā)展的干貨
歡迎關(guān)注全平臺AI垂類自媒體“讀芯術(shù)”
開發(fā)androidapp,你會用到哪些開源框架
1.Framework7來自iDangero.us—自版本1.0在一年前發(fā)布以來,F(xiàn)ramework就一直是開發(fā)iOS應(yīng)用程序的最佳選擇之一。由于它提供對安卓的支持,如果你先從iOS入手,但隨后構(gòu)建具有類似iOS外觀感覺的安卓版本,它也是個不錯的選擇。功能特性包括:MaterialDesign用戶界面、原生滾動、1:1頁面動畫、自定義DOM庫以及XHR緩存和預(yù)裝入。3.jQueryMobile來自jQuery基金會—這種成熟的輕量級框架基于jQuery,缺少本文中介紹的大多數(shù)程序包具有的許多高級功能,不過它仍擁有一群龐大的忠實用戶。雖然它提供了語義標(biāo)記、漸進(jìn)式改進(jìn)、主題化設(shè)計和PhoneGap/Cordova支持之類的功能,但是在類似原生系統(tǒng)的功能和性能或者高級用戶界面方面乏善可陳。另一方面,它又很簡單,這意味著“編寫一次,到處運行”是常??梢詫崿F(xiàn)的目標(biāo);對于還需要在WindowsPhone和黑莓上運行的簡單應(yīng)用程序而言,它也是個不錯的選擇。2.Ionic來自Ionic—這種流行的跨平臺框架基于SassCSS擴展語言,使用起來相當(dāng)容易,不過它還能集成用于構(gòu)建更高級應(yīng)用程序的AngularJS。Ionic提供了一個豐富的庫,包括針對移動設(shè)備優(yōu)化的HTML、CSS和JSCSS組件、手勢及工具,可與預(yù)定義的組件協(xié)同工作。命令行接口提供了仿真器、實時重裝和日志等功能。還有一個基于Cordova的應(yīng)用程序包裝器。4.KendoUI來自Telerik—這種基于jQuery的HTML5/Java框架既有開源版,又有商業(yè)版。對企業(yè)用戶友好的KendoUI提供了種類豐富的用戶界面窗口組件和插件。它最廣為人知的地方就是擁有無數(shù)具有MaterialDesign風(fēng)格的預(yù)構(gòu)建主題,另外還有一個主題構(gòu)建器,可用于構(gòu)建自定義主題。其他功能特性包括:Angular和BootstrapUI集成以及性能優(yōu)化。6.Native來自Telerik—顧名思義,Native專注于原生用戶體驗開發(fā),但是它提供了跨安卓和iOS的跨平臺代碼共享支持。該軟件使用現(xiàn)有的原生用戶界面庫,用戶界面由Java、XML或視情況而定的Angular來描述。然而,使用起來,它不如Telerik更傳統(tǒng)的跨平臺KendoUI框架來得容易。5.MobileAngularUI來自MaurizioCasimirri—這個開源項目將AngularJS和經(jīng)過修改的推特Bootstrap合并到了一個移動用戶界面框架。據(jù)說它保留了Bootstrap3的大部分語法,因而更容易實現(xiàn)從Web應(yīng)用程序向移動應(yīng)用程序的移植,同時增添了Bootstrap缺失的許多組件,比如切開關(guān)、覆蓋、側(cè)邊欄、可滾動區(qū)域以及固定位置的導(dǎo)航條。庫包括fastclick.js和overthrow.js。7.OnsenUI來自AsialCorp.—Onsen基于HTML和CSS而建,旨在與并非預(yù)先集成的PhoneGap和Cordova協(xié)同運行。它還可以與Angular和jQuery協(xié)同運行。顧名思義,該程序強調(diào)用戶界面開發(fā),并提供了一系列廣泛的基于Web的用戶界面組件和特性,比如表格的雙列視圖。(然而,仍然缺少MaterialDesign。)這個文檔完備的程序針對這樣的jQueryMobile用戶:既需要易于使用,又想要更多的功能、更高的性能和更豐富的用戶界面特性。總部位于東京的Asial正在開發(fā)一種拖放式GUI工具,該公司還開發(fā)和維護(hù)Monaca。9.SenchaTouch來自Sencha—Sencha的成熟的、面向企業(yè)的HTML5/Java框架既有開源版,又有商業(yè)版。Sencha建立于ExtJS的基礎(chǔ)上,能夠獲得類似原生的性能。它為HTML5提供了可視化應(yīng)用程序構(gòu)建器,另外還提供了重復(fù)使用自定義組件的功能。原生包裝器簡化了分發(fā)到GooglePlay等應(yīng)用程序商店的工作。8.ReactNative來自Facebook—ReactNative是一種開源框架,從Facebook的ReactJava框架派生而來,眾所周知,Java框架取代了早些時候的HTML5基礎(chǔ)。顧名思義,這個面向iOS的高端程序與其說是一種跨平臺框架,還不如說是原生程序包裝器,但是由于新增了對安卓的支持,它很適合我們的要求,因為你實際上只要用Java編寫一次代碼,就能移植到這兩個平臺。目前,只有OSX桌面得到全面支持,不過也有試驗性的Linux和Windows版本面向安卓開發(fā)。10.Titanium來自Appcelerator—不像那些比較偏向Web的框架,Titanium使用Java來構(gòu)建原生代碼,聲稱有望提升性能。這種基于Node.js的軟件開發(fā)工具包(SDK)為iOS、安卓、Windows、黑莓和HTML5提供了5000多個API。Titanium更廣為人知的地方是性能和豐富的功能特性,而不是易用性。軟件是開源,不過只要你不發(fā)布你的應(yīng)用程序,功能齊全的免費版可以免費享用,眼下你每月至少得支付39美元。
bootstrap可編輯表格,怎么綁定下拉框
首先,
你要知道一個基礎(chǔ)table的標(biāo)簽怎么去寫,只有知道這個基礎(chǔ),你才能更好的用bootstrap中的table.html在這不過多說明.
既然看這篇文章,肯定都能夠理解.然后現(xiàn)在就把bootstrap中的table來詳細(xì)說明一下.基礎(chǔ)的table如下:
下面了解一下bootstrap中table,沒有什么大道理可以講解.唯有一點,通過表格的方式展示頁面.首先有必要樣式.table.和一些選用樣式.舉例說明必要樣式.首先要搭建一個基礎(chǔ)框架,請看系列經(jīng)驗第一篇.
在搭建的基礎(chǔ)框架里面的body部分填寫table信息.然后在table的標(biāo)簽上加上基礎(chǔ)樣式.table的css樣式.你立刻發(fā)現(xiàn),界面瞬間好看多了.
說明一下除了必要的.table之外,還有很多可選的class.不同的可選class.是可以聯(lián)合使用的.
1.我們常用的就有邊框的table.只需要使用.table-bordered查看效果圖.
2.斑馬線,也就是隔行相同顏色的一個樣式.使用.table-striped樣式.
注意點有2個:
(1)斑馬線是對tbody中的行起作用
(2)斑馬線的實現(xiàn)方式是通過:nth-childCSS選擇器實現(xiàn)的,但是呢,他不被ie8支持,你懂我說的.
3.鼠標(biāo)懸停在行上,改變行的背景顏色.使用.table-hover樣式.
注意:這個需要多行的時候,這種效果更加明顯.
4.讓表格更加緊湊的樣式.table-condensed,它是讓表格單元格中的內(nèi)部(padding)減半.展現(xiàn)更多的內(nèi)容,和更多的顯示內(nèi)容.
其他的提醒說明:在bootstrap中有這樣的幾個樣式,可以說是提醒樣式.每個樣式都是一種提醒方式.這些方式也可以放到table中.只需要使用class即可.
上面狀態(tài)的樣式,可以使用到不同的內(nèi)容中,比方說,tr中,td中,都是可以的.下面的舉例說明.
注意點:在使用這個樣式的時候不能使用.table-striped的樣式,會出現(xiàn)不能正常顯示的問題.
還有就是現(xiàn)在比較流行的響應(yīng)式的table.只需要在table包含在.table-responsive中即可,作用為:當(dāng)屏幕小于768的時候,才會出現(xiàn)滾動條,否則滾動條消失.
10
動手去嘗試,你發(fā)現(xiàn)學(xué)習(xí)bootstrap也就是這么簡單.祝你更快的學(xué)會這個框架.
OK,本文到此結(jié)束,希望對大家有所幫助。
本文鏈接:http://xinin56.com/ruanjian/2380.html