集成模型python实现,随机森林,梯度提升决策树

import pandas as pd;

titanic = pd.read_csv('http://biostat.mc.vanderbilt.edu/wiki/pub/Main/DataSets/titanic.txt')

X = titanic[['pclass', 'age', 'sex']]
y = titanic['survived']

X['age'].fillna(X['age'].mean(), inplace = True)

from sklearn.cross_validation import train_test_split

X_train, X_test, y_train, y_test = train_test_split(X, y, test_size = 0.25, random_state = 33)

from sklearn.feature_extraction import DictVectorizer

vec = DictVectorizer(sparse = False)

X_train = vec.fit_transform(X_train.to_dict(orient = 'record'))
X_test = vec.transform(X_test.to_dict(orient = 'record'))

from sklearn.tree import DecisionTreeClassifier

dtc = DecisionTreeClassifier()
dtc.fit(X_train, y_train)
dtc_y_pred = dtc.predict(X_test)

from sklearn.ensemble import RandomForestClassifier

rfc = RandomForestClassifier()
rfc.fit(X
  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
梯度提升随机森林(Gradient Boosting Random Forest)是一种结合了梯度提升树(Gradient Boosting Trees)和随机森林(Random Forest)的算法。它通过同时使用这两种算法的优势来提高预测性能。 梯度提升树是一种集成学习算法,通过将多个弱学习器(通常是决策树)组合成一个强学习器。它是一种迭代的算法,在每一轮迭代中,它通过拟合一个弱学习器来减少前一轮迭代的残差误差。这样,每一轮迭代都会使模型更加准确。 随机森林是另一种集成学习算法,它也由多个决策树组成。不同于梯度提升树,随机森林在构建每个决策树时,对训练集进行有放回抽样(bootstrap sampling),并且在每个节点上随机选择一部分特征进行划分。这样可以减少过拟合的风险,并提高模型的稳定性。 梯度提升随机森林结合了这两种算法的优点。它首先通过使用随机森林的方构建一组决策树,然后使用梯度提升树的方来逐步改进模型的准确性。在每一轮迭代中,它会计算残差,并使用这些残差来训练下一个决策树。最终,它将所有决策树的预测结果进行加权平均,得到最终的预测结果。 梯度提升随机森林在处理回归和分类问题时都表现良好,具有较高的预测准确性和鲁棒性。它可以处理高维数据和非线性关系,并且对异常值和噪声具有一定的鲁棒性。然而,由于它是一个集成模型,因此在处理大规模数据集时可能会面临一些计算上的挑战。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值