树回归(源码实现)
#coding=utf-8'''
Created on Feb 4, 2011
Tree-Based Regression Methods
@author: Peter Harrington樹回歸分類回歸樹CART
策樹是一種貪心算法,它要在給定時間內做出最佳選擇,但
并不關心能否達到全局最優。
優點:可以時復雜和非線性的數據建模。
缺點:結果不易理解。
適用數據類型:數值型和標稱型數據。第3章使用的樹構建算法是ID3 o ID3的做法是每次選取當前最佳的特征來分割數據,并按照
該特征的所有可能取值來切分。也就是說,如果一個特征有4種取值,那么數據將被切成4份。一‘
旦按某特征切分后,該特征在之后的算法執行過程中將不會再起作用,所以有觀點認為這種切分
方式過于迅速。另外一種方法是二元切分法,即每次把數據集切成兩份。如果數據的某特征值等
于切分所要求的值,那么這些數據就進人樹的左子樹,反之則進人樹的右子樹。除了切分過于迅速外,ID3算法還存在另一個問題,它不能直接處理連續型特征。只有事先
將連續型特征轉換成離散型,才能在ID3算法中使用。但這種轉換過程會破壞連續型變量的內在
性質。而使用二元切分法則易于對樹構建過程進行調整以處理連續型特征。具體的處理方法是:
如果特征值大于給定值就走左子樹,否則就走右子樹。另外,二元切分法也節省了樹的構建時間,
但這點意義也不是特別大,因為這些樹構建一般是離線完成,時間并非需要重點關注的因素。樹回歸的一般方法
(1)收集數據:采用任意方法收集數據。
(2)準備數據:需要數值型的數據,標稱型數據應該映射成二值型數據。
(3)分析數據:繪出數據的二維可視化顯示結果,以字典方式生成樹。
(4)訓練算法:大部分時間都花費在葉節點樹模型的構建上。
($)測試算法:使用測試數據上的R2值來分
總結
- 上一篇: java.lang.Unsatisfie
- 下一篇: 使用FP-growth算法发现频繁项集