2015-08-26 18 views
5

Apache Spark ile karşılaştığım konulardan biri, Karar Ağaçlarını görüntülüyor.Geri bildirim: Apache Spark Karar Ağaçları için Görselleştirme

DecisionTree.trainClassifier kullanarak ağaç üretebilir. ve ben kullanarak bazı ilkel çıktı alabilirsiniz:

print(model.toDebugString()) 

Ama ideal olarak, akım çıkışını: Biz bir D3 Görselleştirme içinde katman diye

If (feature 0 <= -35.0) 
    If (feature 24 <= 176.0) 
    Predict: 2.1 
    If (feature 24 = 176.0) 
    Predict: 4.2 
    Else (feature 24 > 176.0) 
    Predict: 6.3 
Else (feature 0 > -35.0) 
    If (feature 24 <= 11.0) 
    Predict: 4.5 
    Else (feature 24 > 11.0) 
    Predict: 10.2 

, JSON olarak çıktı, ya ayrıştırılabilir bir şey olabilir kütüphane. Yukarıdaki örneği ...

{ 
"node": [ 
    { 
     "name":"node1", 
     "rule":"feature 0 <= -35.0", 
      "children":[ 
       { 
        "name":"node2", 
        "rule":"feature 24 <= 176.0", 
        "children":[ 
         { 
         "name":"node4", 
         "rule":"feature 20 < 116.0", 
         "predict": 2.1 
         }, 
         { 
         "name":"node5", 
         "rule":"feature 20 = 116.0", 
         "predict": 4.2 
         }, 
         { 
         "name":"node5", 
         "rule":"feature 20 > 116.0", 
         "predict": 6.3 
         } 
        ]      
       }, 
       { 
       "name":"node3", 
       "rule":"feature 0 > -35.0", 
        "children":[ 
         { 
         "name":"node7", 
         "rule":"feature 3 <= 11.0", 
         "predict": 4.5 
         }, 
         { 
         "name":"node8", 
         "rule":"feature 3 > 11.0", 
         "predict": 10.2 
         } 
        ]           
       } 

      ] 
    } 
] 

} kullanma

+4

Sorunuz nedir toDebugString() nedir? –

+0

Modelden karar alma kurallarının doğrudan bir yönteminin farkında değilim, ancak bunu işlemek için kolay bir şekilde işlemek için veri dosyalarını okuyabilir ve okuyabilirsiniz. Cevabımda bir örnek bulabilirsiniz [here] (http://stackoverflow.com/a/31975050/1560062). – zero323

+2

Ayrıca, model.rootNode'dan başlayabilir, InternalNode'a yayınlayabilir ve solChild, rightChild ve benzerlerine erişebilirsiniz. Oradan sizinkine benzer JSON oluşturabilirsiniz. – pzecevic

cevap

2

Ben Karar Ağacı modelini

görselleştirme için bu proje Decision-Tree-Visualization-Spark rastladım It has iki adım

  • Ayrıştırma Kıvılcım Karar Ağacı çıkışı için JSON biçimi.
  • JSON dosyasını, D3.js görselleştirmesi için bir girdi olarak kullanın. işlevine def tree_json(tree) için ayrıştırıcı çek Dt.py

    giriş için

Modellerinizin

İlgili konular