Here's a generator that yields the chunks you want:
def chunks(lst, n):
"""Yield successive n-sized chunks from lst."""
for i in range(0, len(lst), n):
yield lst[i:i + n]
import pprint
pprint.pprint(list(chunks(range(10, 75), 10)))
[[10, 11, 12, 13, 14, 15, 16, 17, 18, 19],
[20, 21, 22, 23, 24, 25, 26, 27, 28, 29],
[30, 31, 32, 33, 34, 35, 36, 37, 38, 39],
[40, 41, 42, 43, 44, 45, 46, 47, 48, 49],
[50, 51, 52, 53, 54, 55, 56, 57, 58, 59],
[60, 61, 62, 63, 64, 65, 66, 67, 68, 69],
[70, 71, 72, 73, 74]]
If you're using Python 2, you should use xrange()
instead of range()
:
def chunks(lst, n):
"""Yield successive n-sized chunks from lst."""
for i in xrange(0, len(lst), n):
yield lst[i:i + n]
Also you can simply use list comprehension instead of writing a function, though it's a good idea to encapsulate operations like this in named functions so that your code is easier to understand. Python 3:
[lst[i:i + n] for i in range(0, len(lst), n)]
Python 2 version:
[lst[i:i + n] for i in xrange(0, len(lst), n)]
Best Answer
Each instance of
RandomForestClassifier
has anestimators_
attribute, which is a list ofDecisionTreeClassifier
instances. The documentation shows that an instance ofDecisionTreeClassifier
has atree_
attribute, which is an instance of the (undocumented, I believe)Tree
class. Some exploration in the interpreter shows that eachTree
instance has amax_depth
parameter which appears to be what you're looking for -- again, it's undocumented.In any case, if
forest
is your instance ofRandomForestClassifier
, then:should do the trick.
Each estimator also has a
get_depth()
method than can be used to retrieve the same value with briefer syntax:To avoid mixup, it should be noted that there is an attribute of each estimator (and not each estimator's
tree_
) calledmax depth
which returns the setting of the parameter rather than the depth of the actual tree. Howestimator.get_depth()
,estimator.tree_.max_depth
, andestimator.max_depth
relate to each other is clarified in the example below:Out:
Setting max depth to the default value
None
would allow the first tree to expand to depth 7 and the output would be: