Yilong tuffy port

This is a temporary pull request to review the changes.
@feiranwang @gengyl08 Why was this changed from holdoutFraction to 0.0? I understand that holdoutFraction is 0.0, but try to avoid magic numbers. Please use holdoutFraction.