Time of Update: 2018-12-05
既然上次講到了隨機森林,而隨機森林是由多棵決策樹構成的,現在就回頭仔細看看決策樹。 部落格園中已經有介紹決策樹的非常好的博文。其中詳細介紹了ID3,C4.5決策樹的構造,這篇博文主要關注在樹的每個節點如何確定最佳分裂屬性和剪枝。 1.確定最佳分裂屬性 一般介紹決策樹都是以ID3(Quinlan
Time of Update: 2018-12-05
模糊關聯規則挖掘 關聯規則挖掘是資料採礦最基本和最常用的演算法之一,Apriori演算法基本上是每個學習資料採礦的同學掌握的第一個演算法。但是,一般的關聯規則挖掘演算法無法處理涉及連續值的記錄。
Time of Update: 2018-12-05
之前泛泛看了下了Random Forest和決策樹,現在落實到一個具體決策樹演算法:CART(Classification and Regression Tree)。 CART是1984年由Breiman, Friedman, Olshen, Stone提出的一個決策樹演算法,雖然不是第一個機器學習領域的決策樹,但卻是第一個有著複雜的統計學和機率論理論保證的決策樹(這些話太學術了,引自參考文獻[2])。
Time of Update: 2018-12-05
在設計中為了讓介面與邏輯分離,我的做法是使用事件,介面只要響應事件來處理介面的顯示就行了。而事件在邏輯處理中可能由不同的線程引發,這些事件的回應程式法在修改介面中的控制項內容時便會引發一個異常。這時就用到了Control.InvokeRequired 屬性 與Invoke方法。MSDN中說:擷取一個值,該值指示調用方在對控制項進行方法調用時是否必須調用 Invoke 方法,因為調用方位於建立控制項所在的線程以外的線程中。如果控制項的 Handle
Time of Update: 2018-12-05
怎樣利用DataSet向DataGridView中添加資料呢?很簡單:編寫添加按鈕的單擊事件方法範例程式碼:private void btnAdd_Click(object Sender,EventArgs e){ //建立DataSet對象 DataSet ds = new DataSet(); //建立DataTable對象 DataTable dt = new DataTable(); //建立列
Time of Update: 2018-12-05
關於0/1背包問題網上有非常多的博文,在此我謹記錄一下自己的理解。 問題表述:有N件物品和一個容量為V的背包。第i件物品的體積是C[i](0<=i<=N-1),價值是W[i]。求解將哪些物品裝入背包可使價值總和最大。每個物品最多隻可以放入背包一次。 這個問題的經典解法思路如下: 我們用f[i][j]表示在考慮前i個物品時體積為j的背包的最大價值,注意,我們並不是把前i個物品全部放入背包,而是考慮i個物品中挑選一些放入背包,使得價值最大的那些情況。
Time of Update: 2018-12-05
Mahout中的推薦演算法主要有:User-based Recommender, Item-based Recommender和Slope-One Recommender。 1. User-based Recommender 該演算法的主要思想是:與使用者u最相似的使用者喜歡的商品有很大可能也是使用者u喜歡的商品。1 對於使用者u的每一個沒有preference的商品i2 對於每一個對商品i有preference的使用者v3
Time of Update: 2018-12-05
1, hive 命令列模式,直接輸入/hive/bin/hive的執行程式,或者輸入 hive –service cli 用於linux平台命令列查詢,查詢語句基本跟mysql查詢語句類似 2, hive web介面的啟動方式,hive –service hwi 用於通過瀏覽器來訪問hive,感覺沒多大用途3, hive 遠程服務 (連接埠號碼10000) 啟動方式, hive –service hiveserver &
Time of Update: 2018-12-05
2月11號,讀過一篇關於雲資源管理的論文:Flexible Use of Cloud Resources through Profit Maximization and Price Discirmination(ICDE 2011).簡單做點筆記: 本文提出了一種基於邊際成本(Marginal Cost)和邊際收益(Marginal
Time of Update: 2018-12-05
本來想講自己用到的寫出來了,結果發現一個比較全面的文章已經介紹過了,那我就不在重新發明輪子了,我也跟著學習一下。 轉自:http://jeffxie.blog.51cto.com/1365360/317524 DDL Operations 建立表 hive> CREATE TABLE pokes (foo INT, bar STRING); 建立表並建立索引欄位ds hive> CREATE TABLE invites (foo INT, bar STRING)
Time of Update: 2018-12-05
一、Raid5原理 RAID的儲存原理是用Bit Striping及當前主流Block Striping的分割方式,將Data分散儲存至各硬碟中, 當硬碟有受損時則經由XOR運算,再將存在其他各硬碟內的Parity Blocks及Data Stripe磁區的 Data Blocks進行計算而重建資料Rebuild。 其圖解如下 RAID 5 Striping 架構 :: RAID-5 Striping Mode RAID 5 受損運作模式 :: RAID-5 Degraded
Time of Update: 2018-12-05
1. Ubuntu下Storm單機版安裝 安裝Storm還需要提前安裝Python,Zookeeper,ZeroMQ,jzmq,然後才是Storm的安裝和配置: 1.1 安裝Python 一般Linux系統都會內建Python,如果沒有可以按照以下步驟安裝: wget http://www.python.org/ftp/python/2.7.2/Python-2.7.2.tgz tar zxf Python-2.7.2.tgz cd Python-2.7.2
Time of Update: 2018-12-05
傳回值為n1.n>0,正常讀取n個位元組2.n==0,socket對方節點正常shutdown3.n==-1,未能正常讀取資料,有以下幾種情況,errno被置為以下幾種:EAGAIN or EWOULDBLOCK The socket is marked nonblocking and the receive operation would block, or a receive timeout had been set and the timeout expired before
Time of Update: 2018-12-05
Generative Learning algorithm是與Discriminative Learning algorithm相對應的,這兩類演算法都屬於有監督的學習(Supervised Learning algorithm),下面首先介紹一下Discriminative Learning algorithm:我們規定{xi,yi}為訓練樣本,通過直接學習p(y|x)或者學習從x到 label{0,1}的映射的演算法稱之為Discriminative Learning
Time of Update: 2018-12-05
有時候不知道怎麼搞的,apache建立了很多進程,他們都沒有被關閉。這時候進程數超過了設定的上限值,比如150.那麼用戶端就沒法訪問http了。。。一個暴力的方法就是殺死這些進程,這邊有個小指令碼 #!/bin/bashtypeset file=temp.datps aux | grep httpd | awk '{if(NR>1)print $2}' > $filetypeset pro_num=""while read pro_numdoecho "killing
Time of Update: 2018-12-05
CART演算法學習及實現 作者:大卡卡 撰寫時間:2011.9.29 1.演算法介紹 分類迴歸樹演算法:CART(Classification And Regression Tree)演算法採用一種二分遞迴分割的技術,將當前的樣本集分為兩個子樣本集,使得產生的的每個非葉子節點都有兩個分支。因此,CART演算法產生的決策樹是結構簡潔的二叉樹。 分類樹兩個基本思想:第一個是將訓練樣本進行遞迴地劃分自變數空間進行建樹的想法,第二個想法是用驗證資料進行剪枝。 建樹:在分類迴歸樹中,
Time of Update: 2018-12-05
作者:小飛 原文地址:http://yishan.cc/blogs/nickledson/archive/2008/12/29/997.aspx 《編程之美》一書上有一道題:給定一個由N個整數元素組成數組a,寫一個函數在其中找出連續子數組和的最大值。例如給定數組為{1, -2, 3, 5, -1, 2},則和最大的連續子數組是{3, 5, -1, 2},函數傳回值是9。 這是一道典型的動態規劃問題,書中循序漸進地通過分析給出了一個時間複雜度為O(N)空間複雜度為O(1)
Time of Update: 2018-12-05
這是個非常常見的演算法題,見諸於《編程之美》、《編程珠璣》等經典演算法書籍(亦或,經典面試書籍:))。網上有很多關於這個問題的討論和實現,我謹在此寫下自己的理解,可能之前有人寫過,但畢竟是自己思考出來的東西,權當記錄一下。 問題:一個有N個整數元素的一維數組(A[0],A[1].....,A[n-1]),這個數組當然有很多個子數組(n*n個),求最大的子數組之和。 經典解法:1 maxsofar=02 maxendinghere=03 for i=[0,n)4
Time of Update: 2018-12-05
FCM聚類演算法介紹 FCM演算法是一種基於劃分的聚類演算法,它的思想就是使得被劃分到同一簇的對象之間相似性最大,而不同簇之間的相似性最小。模糊C均值演算法是普通C均值演算法的改進,普通C均值演算法對於資料的劃分是硬性的,而FCM則是一種柔性的模糊劃分。在介紹FCM具體演算法之前我們先介紹一些模糊集合的基本知識。1 模糊集基本知識
Time of Update: 2018-12-05
近來做一些遙感映像自動解譯的工作,需要根據遙感映像每個單元(像元,像素)的幾個波段值和相互之間的位置關係來進行自動分類,也就是確定哪些地區是耕地,哪些是林地,哪些是草地。之前雖然有上過資料採礦和機器學習的課,但是自己的專業並不在此,對遙感映像的自動分類更是一竅不通,所以慢慢自學,順便寫個部落格記錄一下自己的學習過程,謬誤在所難免,大家多多包涵指正。 根據最近的Mahout Wiki,Mahout實現的分類演算法有:隨機梯度下降(SGD),貝葉斯分類,Online Passive