RandomForestRegressor 参数

    sklearn.ensemble.RandomForestRegressor(  n_estimators=10,
                                             criterion='mse',
                                             max_depth=None,
                                             min_samples_split=2,
                                             min_samples_leaf=1,
                                             min_weight_fraction_leaf=0.0,
                                             max_features='auto',
                                             max_leaf_nodes=None,
                                             min_impurity_split=1e-07,
                                             bootstrap=True,
                                             oob_score=False,
                                             n_jobs=1,
                                             random_state=None,
                                             verbose=0,
                                             warm_start=False)

RandomForestRegressor 参数详解(官方英文版)

英文详解

RandomForestRegressor 参数详解(中文版)

转自此处

其中关于决策树的参数:

  • criterion: “mse”来选择最合适的节点。

  • splitter: ”best” or “random”(default=”best”)随机选择属性还是选择不纯度最大的属性,建议用默认。

  • max_features: 选择最适属性时划分的特征不能超过此值。
    当为整数时,即最大特征数;当为小数时,训练集特征数*小数;
    if “auto”, then max_features=sqrt(n_features).
    If “sqrt”, thenmax_features=sqrt(n_features).
    If “log2”, thenmax_features=log2(n_features).
    If None, then max_features=n_features.

  • max_depth: (default=None)设置树的最大深度,默认为None,这样建树时,会使每一个叶节点只有一个类别,或是达到min_samples_split。

  • min_samples_split: 根据属性划分节点时,每个划分最少的样本数。

  • min_samples_leaf: 叶子节点最少的样本数。

  • max_leaf_nodes: (default=None)叶子树的最大样本数。

  • min_weight_fraction_leaf: (default=0) 叶子节点所需要的最小权值

  • verbose: (default=0) 是否显示任务进程

关于随机森林特有的参数:

  • n_estimators=10: 决策树的个数,越多越好,但是性能就会越差,至少100左右(具体数字忘记从哪里来的了)可以达到可接受的性能和误差率。

  • bootstrap=True: 是否有放回的采样。

  • oob_score=False: oob(out of band,带外)数据,即:在某次决策树训练中没有被bootstrap选中的数据。多单个模型的参数训练,我们知道可以用cross validation(cv)来进行,但是特别消耗时间,而且对于随机森林这种情况也没有大的必要,所以就用这个数据对决策树模型进行验证,算是一个简单的交叉验证。性能消耗小,但是效果不错。

  • n_jobs=1: 并行job个数。这个在ensemble算法中非常重要,尤其是bagging(而非boosting,因为boosting的每次迭代之间有影响,所以很难进行并行化),因为可以并行从而提高性能。1=不并行;n:n个并行;-1:CPU有多少core,就启动多少job

  • warm_start=False: 热启动,决定是否使用上次调用该类的结果然后增加新的。

  • class_weight=None: 各个label的权重。

进行预测可以有几种形式:

  • predict_proba(x): 给出带有概率值的结果。每个点在所有label的概率和为1.

  • predict(x): 直接给出预测结果。内部还是调用的predict_proba(),根据概率的结果看哪个类型的预测值最高就是哪个类型。

  • predict_log_proba(x): 和predict_proba基本上一样,只是把结果给做了log()处理。

Fastjson是一个Java语言编写的高性能JSON处理框架,它提供了简单易用的API,可以实现Java对象和JSON字符串之间的相互转换。下面是一些关于Fastjson的详解: 1. 特性:Fastjson具有较高的性能和较低的内存占用,支持全序列化和全反序列化,支持复杂对象、集合和泛型的序列化与反序列化,支持自定义序列化和反序列化处理逻辑,支持处理循环引用等。 2. 使用方法:Fastjson提供了简单易用的API,可以通过对象的toJsonString()方法将对象转换为JSON字符串,通过parseObject()方法将JSON字符串转换为对象。可以使用注解 @JSONField 进行字段级别的配置,还可以通过设置全局配置类 JSONConfig 来对Fastjson进行全局配置。 3. 序列化与反序列化:Fastjson可以将Java对象序列化为JSON字符串,也可以将JSON字符串反序列化为Java对象。在序列化过程中,Fastjson会自动根据对象的类型进行转换,并且支持复杂对象、集合和泛型等数据结构。在反序列化过程中,Fastjson会根据JSON字符串的结构自动将其转换为对应的Java对象。 4. 高级特性:Fastjson提供了一些高级特性,如支持处理循环引用,可以通过设置SerializerFeature.DisableCircularReferenceDetect来禁用循环引用检测;支持处理日期格式化,可以通过设置DateFormat来指定日期格式;支持处理泛型类型,可以通过TypeReference来指定泛型类型。 总的来说,Fastjson是一个功能强大、性能高效的JSON处理框架,在Java开发中被广泛使用。它简化了Java对象和JSON字符串之间的转换过程,并提供了丰富的功能和灵活的配置选项。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值