Weka中的有監督的離散化方法

2021-08-19 21:28:10 字數 688 閱讀 6400

參考:機器學習-變數離散之mdlp

對應分析weka中weka.filters.supervised.attribute.discretize

涉及的其他類包括weka.filters.filter

分析的巨集觀**

discretize disc=new discretize()

disc.setinputformat(data)

instances afterdiscretize=filter.usefilter(data,disc)

filter.usefilter()
filter.usefilter(instances data, filter filter)

filter.batchfinished();//呼叫離散化計算的主體部分calculatecutpoints()詳細分析見下文

instances newdata = filter.getoutputformat();

instance processed;

while ((processed = filter.output()) != null)

}return newdata

discretize.calculatecutpoints()
calculatecutpoints()

離散化的方法

總結有如下幾個步驟 1.拷貝原陣列 2.將拷貝的陣列排序 3.利用unique 對拷貝陣列去重,並記錄不重複元素 4.利用lower bound 離散化 注 唯一需要注意的是下標究竟從幾開始 離散化後的值可以理解為是在這個陣列中第幾大的值,所以如果要查詢離散化的值在原陣列中對應哪個數,我們直接查詢 ...

離散化的方法

離散化,就是把一些很離散的點給重新分配。舉個例子,如果乙個座標軸很長 1e10 給你1e4個座標,詢問某乙個點,座標比它小的點有多少。很容易就知道,對於1e4個點,我們不必把他們在座標軸上的位置都表示出來,因為我們比較有多少比它小的話,只需要知道他們之間的相對大小就可以,而不是絕對大小,這,就需要離...

無監督和有監督演算法的區別

無監督和有監督的理解方法有很多,主要可以從以下幾方面來理解 1 無監督與監督學習的區別在於乙個無教學值,乙個有教學值。但是,個人認為他們的區別在於無監督學習一般是採用聚簇等演算法來分類不同樣本。而監督學習一般是利用教學值與實際輸出值產生的誤差,進行誤差反向傳播修改權值來完成網路修正的。但是無監督學習...