title: Module 'numpy' has no attribute 'collections', plotting a decision tree
body: <p>I have a numpy array of dimension (81,38) as a training data features, and another list of length 82 as the labels.</p>
  
  <p>I trained my DecisionTreeClassifier using them, and I want to visualize the tree, but the following error appeared:</p>
  
  <pre><code>edges = np.collections.defaultdict(list)
  AttributeError: module 'numpy' has no attribute 'collections'
  </code></pre>
  
  <p>this is my code:</p>
  
  <pre><code>from sklearn import tree
  df = df.from_csv("file_path.csv")
  clf = tree.DecisionTreeClassifier()
  df = df.as_matrix()
  print(df.shape)
  print(len(train_df['label'].values.tolist()))
  clf = clf.fit(df,train_df['label'].values.tolist())
  
  data_feature_names = [ 'goEmbed1', 'goalexa1', 'goscapy1',
                         'goEmbed2', 'goalexa2', 'goscapy2',
                         'goEmbed3', 'goalexa3', 'goscapy3',
                         'goEmbed4', 'goalexa4', 'goscapy4',
                         'goEmbed5', 'goalexa5', 'goscapy5',
                         'goStdAlex', 'goAvgAlexa', 'goStdCos','goAvgCos',
  
                         'bingEmbed1', 'bingalexa1', 'bingscapy1',
                         'bingEmbed2', 'bingalexa2', 'bingscapy2',
                         'bingEmbed3', 'bingalexa3', 'bingscapy3',
                         'bingEmbed4', 'bingalexa4', 'bingscapy4',
                         'bingEmbed5', 'bingalexa5', 'bingscapy5',
                         'bingStdAlex', 'bingAvgAlexa', 'bingStdCos','bingAvgCos']
  
  # Visualize data
  dot_data = tree.export_graphviz(clf,
                                  feature_names=data_feature_names,
                                  out_file=None,
                                  filled=True,
                                  rounded=True)
  graph = pydotplus.graph_from_dot_data(dot_data)
  
  colors = ('turquoise', 'orange', 'red', 'yellow','blue','purple')
  edges = np.collections.defaultdict(list)
  
  for edge in graph.get_edge_list():
      edges[edge.get_source()].append(int(edge.get_destination()))
  
  for edge in edges:
      edges[edge].sort()
      for i in range(2):
          dest = graph.get_node(str(edges[edge][i]))[0]
          dest.set_fillcolor(colors[i])
  
  graph.write_png('tree2.png')
  </code></pre>
  
  <p>I tested my code on another example of data, and It works perfectly, but I don't know that is the problem here.</p>
  
  <p>This is the testing data that I used:</p>
  
  <pre><code>X = [ [180, 15,0],
        [177, 42,0],
        [136, 35,1],
        [174, 65,0],
        [141, 28,1]]
  
  Y = ['man', 'woman', 'woman', 'man', 'woman']
  </code></pre>