コード例 #1
0
 def test_id3_build_tree_weekends(self):
     dataset = load(self.relative_to_base("/datasets/weekends.data"))
     tree = id3.build_tree(dataset)
     
     assert_that(tree,
         equals_tree( 
             {"weather": {
                 "sunny": {
                     "parents": {
                         "yes": "cinema",
                         "no": "tennis"
                     }
                 },
                 "windy": {
                     "parents": {
                         "yes": "cinema",
                         "no": {
                             "money": {
                                 "rich": "shopping",
                                 "poor": "cinema"
                             }
                         }
                     }
                 },
                 "rainy": {
                     "money": {
                         "poor": "cinema",
                         "rich": "stay in"
                     }
                 }
             }}
         )
     )
コード例 #2
0
ファイル: test_decision_trees.py プロジェクト: lxwgcool/pml
    def test_id3_build_tree_weekends(self):
        dataset = load(self.relative_to_base("/datasets/weekends.data"))
        tree = id3.build_tree(dataset)

        assert_that(
            tree,
            equals_tree({
                "weather": {
                    "sunny": {
                        "parents": {
                            "yes": "cinema",
                            "no": "tennis"
                        }
                    },
                    "windy": {
                        "parents": {
                            "yes": "cinema",
                            "no": {
                                "money": {
                                    "rich": "shopping",
                                    "poor": "cinema"
                                }
                            }
                        }
                    },
                    "rainy": {
                        "money": {
                            "poor": "cinema",
                            "rich": "stay in"
                        }
                    }
                }
            }))
コード例 #3
0
ファイル: interface.py プロジェクト: antoniograndinetti/pml
 def __init__(self, training_set):
     """
     Constructs a new decision tree.
     
     Args:
       training_set: model.DataSet
         The training data to use when building the decision tree.
     """
     self.training_set = training_set
     self._tree = id3.build_tree(training_set)
     self._plotter = MatplotlibAnnotationTreePlotter(self._tree)
コード例 #4
0
 def __init__(self, training_set):
     """
     Constructs a new decision tree.
     
     Args:
       training_set: model.DataSet
         The training data to use when building the decision tree.
     """
     self.training_set = training_set
     self._tree = id3.build_tree(training_set)
     self._plotter = MatplotlibAnnotationTreePlotter(self._tree)
コード例 #5
0
ファイル: test_decision_trees.py プロジェクト: lxwgcool/pml
    def test_id3_build_tree_marine_animals(self):
        dataset = load(self.relative_to_base("/datasets/marine_animal.data"))
        tree = id3.build_tree(dataset)

        assert_that(
            tree,
            equals_tree({
                "no_surfacing": {
                    "no": "no",
                    "yes": {
                        "has_flippers": {
                            "no": "no",
                            "yes": "yes"
                        }
                    }
                }
            }))
コード例 #6
0
 def test_id3_build_tree_marine_animals(self):
     dataset = load(self.relative_to_base("/datasets/marine_animal.data"))
     tree = id3.build_tree(dataset)
     
     assert_that(tree,
         equals_tree(
             {"no_surfacing": {
                 "no": "no",
                 "yes": {
                     "has_flippers": {
                         "no": "no",
                         "yes": "yes"
                     }
                 }
              }
             }
         )
     )
コード例 #7
0
ファイル: test_decision_trees.py プロジェクト: lxwgcool/pml
    def test_id3_build_tree_play_tennis(self):
        dataset = load(self.relative_to_base("/datasets/play_tennis.data"),
                       delimiter=" ")
        tree = id3.build_tree(dataset)

        assert_that(
            tree,
            equals_tree({
                "Outlook": {
                    "Sunny": {
                        "Humidity": {
                            "High": "No",
                            "Normal": "Yes"
                        }
                    },
                    "Overcast": "Yes",
                    "Rain": {
                        "Wind": {
                            "Strong": "No",
                            "Weak": "Yes"
                        }
                    }
                }
            }))
コード例 #8
0
 def test_id3_build_tree_play_tennis(self):
     dataset = load(self.relative_to_base("/datasets/play_tennis.data"),
                    delimiter=" ")
     tree = id3.build_tree(dataset)
     
     assert_that(tree,
         equals_tree(
             {"Outlook": {
                 "Sunny": {
                     "Humidity": {
                         "High": "No",
                         "Normal": "Yes"
                     }
                 },
                 "Overcast": "Yes",
                 "Rain": {
                     "Wind": {
                         "Strong": "No",
                         "Weak": "Yes"
                     }
                 }
             }}
         )
     )
コード例 #9
0
ファイル: xtest.py プロジェクト: jpparajeles/pml
        else:
            ret += bprint_aux(child_node, index + 2)
    return ret


import pandas as pd

has_ids = True
has_header = True
has_labels = True
delimiter = ","

header = 0 if has_header else None
id_col = 0 if has_ids else None

# dataframe = pd.read_csv("./test/datasets/play_tennis.data", index_col=id_col, header=header,delimiter=delimiter)
dataframe = pd.read_csv("hope.csv", index_col=id_col, header=header, delimiter=delimiter)

labels = dataframe.pop(dataframe.columns[-1]) if has_labels else None

dataset = model.DataSet(dataframe, labels=labels)
tree = id3.build_tree(dataset)

printbonito = bprint(tree)
print(printbonito)
txt = open("output.txt", mode="w", encoding="UTF-8")
txt.write(printbonito)
txt.close()
tp = MatplotlibAnnotationTreePlotter(tree)
tp.plot()