Input: Training set D = { ( x 1 , y 1 ) , ⋯ , ( x n , y n ) }
Output: Regression chain model h j = X → R
1. generate D 1
2. D 1 * = { ( x 1 , y 1 1 ) , ⋯ , ( x n , y 1 n ) }
3. For j = 1 to m
4. h j = D j * → R
5. If j < m
6. Generating data sets D j + 1 *
7. h j i = D j * \ D j * i → R
8. for x j * i ∈ D j * i
9. x j + 1 * i = x j * i
10. j i = h j i ( x j * i )
11. x j + 1 * i = [ x j * i , y ^ j i ]
12. D j + 1 * = D j + 1 * ∪ ( x j + 1 i , y j + 1 i )