1

私はsklearnを使って決定木を作成しました。データフレームのXで決定木には2つの同様のノードがあります

from sklearn import tree 
clf = tree.DecisionTreeClassifier(max_depth=3) 
clf = clf.fit(X, Y) 

パラメータです - 'Company size''Industry_other''Account size''Country'、および'Use case 1'

export_graphvizを使用してツリーを視覚化しようとしたとき、私は2つの類似したノードを取得しています:

output from export_graphviz

同様のノードを取得するための理由は何ですか?この木をどうやって読むのですか?

+0

このノードは同じレベルにあります。すべてがOKです。これは、「Industry_Other」が0.5より大きくても小さくても、「Company size」(「<= 1.5」)の決定ルールは同じであることを意味します。 – m0nhawk

答えて

1

説明を簡単にするために、私は文字で説明します。あなたのツリーは次のようになります。A

A -> B 
| 
\-> C -> D -> F 
    |  \-> G 
    | 
     \-> E -> H 
      \-> I 

はあなたルートノードとあなたが類似したノードていると言うDEノードいます。

図では、ノードAは、BCの2つに分割されています。 Account size < 19969のデータサンプルはCに進み、それ以外の場合はBになります。

Cに到着したサンプルのうち、Industry other <= 1.5のものはEになり、その他のものはDになります。ここではEDは同じルールを学習しているので同じに見えますが、そのルールは異なるデータサンプルに適用されます。

これはEに到着したサンプルから、company size < 1.5を持つものがHIなどに行き、同様の何かがDに適用される、です。

より明確で、私はあなたをもっと混乱させたくないと思っています。

本質的に、彼らは同じルールを学んでいますが、異なるサンプルに適用します。言い換えれば、DEの両方が、2つのセットでそれらに到着するサンプルを分離するための最良のルールが同じであることを知りました。しかし、それらに到着するサンプルは異なる性質を持っています(正確にはIndustry_otherが異なります)。

Industry_otherにかかわらず、Company_sizeがサンプルを区別するのに役立つともいえます。