日本熟妇hd丰满老熟妇,中文字幕一区二区三区在线不卡 ,亚洲成片在线观看,免费女同在线一区二区

隨機森林

隨機森林是一個包括多決策樹的分類器,其分類結果由單棵樹輸出類別的眾數(shù)決定。

組件配置

您可以使用以下任意一種方式,配置隨機森林組件參數(shù)。

方式一:可視化方式

Designer工作流頁面配置組件參數(shù)。

頁簽

參數(shù)

描述

字段設置

選擇特征列

默認為除標簽列和權重列外的所有列。

排除列

不參與訓練的列,不能與選擇特征列同時使用。

強制轉(zhuǎn)換列

解析規(guī)則如下:

  • STRING、BOOLEANDATETIME類型的列,解析為離散類型。

  • DOUBLEBIGINT類型的列,解析為連續(xù)類型。

說明

如果需要將BIGINT類型的列解析為CATEGORICAL,則必須使用forceCategorical參數(shù)指定類型。

權重列的列名

列可以對每行樣本進行加權,支持數(shù)值類型。

標簽列

輸入表的標簽列,支持STRING及數(shù)值類型。

參數(shù)設置

森林中樹的個數(shù)

取值范圍為1~1000。

單顆樹的算法在森林中的位置

如果有N棵樹,且algorithmTypes=[a,b],則:

  • [0,a)ID3算法。

  • [a,b)CART算法。

  • [b,n]C4.5算法。

例如,在一個擁有5棵樹的森林中,如果[2,4]表示0,則1ID3算法,2,3CART算法,4C4.5算法。如果輸入None,則算法在森林中均分。

單棵樹隨機特征數(shù)

取值范圍為[1,N],N表示Feature數(shù)量。

葉節(jié)點數(shù)據(jù)的最小個數(shù)

取值范圍為正整數(shù),默認值為2。

葉節(jié)點數(shù)據(jù)個數(shù)占父節(jié)點的最小比例

取值范圍為[0,1],默認值為0。

單顆樹的最大深度

取值范圍為[1,+∞),默認值為無窮。

單顆樹輸入的隨機數(shù)據(jù)個數(shù)

取值范圍為(1000,1000000],默認值為100000。

方式二:PAI命令方式

使用PAI命令方式,配置該組件參數(shù)。您可以使用SQL腳本組件進行PAI命令調(diào)用,詳情請參見SQL腳本

 PAI -name randomforests
     -project algo_public
     -DinputTableName="pai_rf_test_input"
     -DmodelName="pai_rf_test_model"
     -DforceCategorical="f1"
     -DlabelColName="class"
     -DfeatureColNames="f0,f1"
     -DmaxRecordSize="100000"
     -DminNumPer="0"
     -DminNumObj="2"
     -DtreeNum="3";

參數(shù)

是否必選

描述

默認值

inputTableName

輸入表。

inputTablePartitions

輸入表中,參與訓練的分區(qū)。支持以下格式:

  • Partition_name=value

  • name1=value1/name2=value2:多級格式

說明

如果指定多個分區(qū),則使用英文逗號(,)分隔。

所有分區(qū)

labelColName

輸入表中,標簽列的列名。

modelName

輸出的模型名。

treeNum

森林中樹的數(shù)量,取值范圍為1~1000。

100

excludedColNames

不參與訓練的列,不能與featureColNames同時使用。

weightColName

輸入表中的權重列名。

featureColNames

輸入表中,用于訓練的特征列名。

labelColNameweightColName外的所有列

forceCategorical

解析規(guī)則如下:

  • STRING、BOOLEANDATETIME類型的列,解析為離散類型。

  • DOUBLEBIGINT類型的列,解析為連續(xù)類型。

說明

如果需要將BIGINT類型的列解析為CATEGORICAL,則必須使用forceCategorical參數(shù)指定類型。

INT為連續(xù)類型

algorithmTypes

單棵樹的算法在森林中的位置。如果有N棵樹,且algorithmTypes=[a,b],則:

  • [0,a)ID3算法。

  • [a,b)CART算法。

  • [b,n]C4.5算法。

例如,在一個擁有5棵樹的森林中,[2,4]表示0,則1ID3算法,2,3CART算法,4C4.5算法。如果輸入None,則算法在森林中均分。

算法在森林中均分

randomColNum

生成單棵樹時,每次分裂選擇的隨機特征數(shù)量。取值范圍為[1,N],N表示Feature數(shù)量。

log 2N

minNumObj

葉節(jié)點數(shù)據(jù)的最小個數(shù),取值范圍為正整數(shù)。

2

minNumPer

葉節(jié)點數(shù)據(jù)個數(shù)占父節(jié)點的最小比例,取值范圍為[0,1]

0.0

maxTreeDeep

單顆樹的最大深度,取值范圍為[1,+∞)

無窮

maxRecordSize

單棵樹輸入的隨機數(shù)據(jù)個數(shù),取值范圍為(1000,1000000]

100000

示例

  1. 使用SQL語句,生成訓練數(shù)據(jù)。

    create table pai_rf_test_input as
    select * from
    (
      select 1 as f0,2 as f1, "good" as class
      union all
      select 1 as f0,3 as f1, "good" as class
      union all
      select 1 as f0,4 as f1, "bad" as class
      union all
      select 0 as f0,3 as f1, "good" as class
      union all
      select 0 as f0,4 as f1, "bad" as class
    )tmp;
  2. 使用PAI命令,提交隨機森林算法組件參數(shù)。

    PAI -name randomforests
         -project algo_public
         -DinputTableName="pai_rf_test_input"
         -Dmodelname="pai_rf_test_model"
         -DforceCategorical="f1"
         -DlabelColName="class"
         -DfeatureColNames="f0,f1"
         -DmaxRecordSize="100000"
         -DminNumPer="0"
         -DminNumObj="2"
         -DtreeNum="3";
  3. 查看模型PMML(Predictive Model Markup Language)。

    <?xml version="1.0" encoding="utf-8"?>
    <PMML xmlns="http://www.dmg.org/PMML-4_2" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="4.2" xsi:schemaLocation="http://www.dmg.org/PMML-4_2 http://www.dmg.org/v4-2/pmml-4-2.xsd">
      <Header copyright="Copyright (c) 2014, Alibaba Inc." description="">
        <Application name="ODPS/PMML" version="0.1.0"/>
        <TimestampTue, 12 Jul 2016 07:04:48 GMT</Timestamp>
      </Header>
      <DataDictionary numberOfFields="2">
        <DataField name="f0" optype="continuous" dataType="integer"/>
        <DataField name="f1" optype="continuous" dataType="integer"/>
        <DataField name="class" optype="categorical" dataType="string">
          <Value value="bad"/>
          <Value value="good"/>
        </DataField>
      </DataDictionary>
      <MiningModel modelName="xlab_m_random_forests_1_75078_v0" functionName="classification" algorithmName="RandomForests"/>
        <MiningSchema>
          <MiningField name="f0" usageType="active"/>
          <MiningField name="f1" usageType="active"/>
          <MiningField name="class" usageType="target"/>
        </MiningSchema>
        <Segmentation multipleModelMethod="majorityVote">
          <Segment id="0">
            <True/>
            <TreeModel modelName="xlab_m_random_forests_1_75078_v0" functionName="classification" algorithmName="RandomForests">
              <MiningSchema>
                <MiningField name="f0" usageType="active"/>
                <MiningField name="f1" usageType="active"/>
                <MiningField name="class" usageType="target"/>
              </MiningSchema>
              <Node id="1">
                <True/>
                <ScoreDistribution value="bad" recordCount="2"/>
                <ScoreDistribution value="good" recordCount="3"/>
                <Node id="2" score="good">
                  <SimplePredicate field="f1" operator="equal" value="2"/>
                  <ScoreDistribution value="good" recordCount="1"/>
                </Node>
                <Node id="3" score="good">
                  <SimplePredicate field="f1" operator="equal" value="3"/>
                  <ScoreDistribution value="good" recordCount="2"/>
                </Node>
                <Node id="4" score="bad"
                  <SimplePredicate field="f1" operator="equal" value="4"/>
                  <ScoreDistribution value="bad" recordCount="2"/>
                </Node>
              </Node>
            </TreeModel>
          </Segment>
          <Segment id="1">
            <True/>
            <TreeModel modelName="xlab_m_random_forests_1_75078_v0" functionName="classification" algorithmName="RandomForests">
              <MiningSchema>
                <MiningField name="f0" usageType="active"/>
                <MiningField name="f1" usageType="active"/>
                <MiningField name="class" usageType="target"/>
              </MiningSchema>
              <Node id="1">
                <True/>
                <ScoreDistribution value="bad" recordCount="2"/>
                <ScoreDistribution value="good" recordCount="3"/>
                <Node id="2" score="good">
                  <SimpleSetPredicate field="f1" booleanOperator="isIn">
                    <Array n="2" type="integer"2 3</Array>
                  </SimpleSetPredicate>
                  <ScoreDistribution value="good" recordCount="3"/>
                </Node>
                <Node id="3" score="bad">
                  <SimpleSetPredicate field="f1" booleanOperator="isNotIn">
                    <Array n="2" type="integer"2 3</Array>
                  </SimpleSetPredicate>
                  <ScoreDistribution value="bad" recordCount="2"/>
                </Node>
              </Node>
            </TreeModel>
          </Segment>
          <Segment id="2">
            <True/>
            <TreeModel modelName="xlab_m_random_forests_1_75078_v0" functionName="classification" algorithmName="RandomForests">
              <MiningSchema>
                <MiningField name="f0" usageType="active"/>
                <MiningField name="f1" usageType="active"/>
                <MiningField name="class" usageType="target"/>
              </MiningSchema>
              <Node id="1">
                <True/>
                <ScoreDistribution value="bad" recordCount="2"/>
                <ScoreDistribution value="good" recordCount="3"/>
                <Node id="2" score="bad">
                  <SimplePredicate field="f0" operator="lessOrEqual" value="0.5"/>
                  <ScoreDistribution value="bad" recordCount="1"/>
                  <ScoreDistribution value="good" recordCount="1"/>
                </Node>
                <Node id="3" score="good">
                  <SimplePredicate field="f0" operator="greaterThan" value="0.5"/>
                  <ScoreDistribution value="bad" recordCount="1"/>
                  <ScoreDistribution value="good" recordCount="2"/>
                </Node>
              </Node>
            </TreeModel>
          </Segment>
        </Segmentation>
      </MiningModel>
    </PMML>
  4. 查看模型可視化輸出。隨機森林可視化輸出