u コード⾃体はbase.py u この中の367⾏⽬ LinearRegressionクラスを呼び出している u `from sklearn.linear_model import LinearRegression`で読み込めるのは,__init__.pyの中で `__all__`に含めているから。 u 今回扱うもの u 決定⽊︓sklearn/tree/tree.py u ランダムフォレスト︓sklearn/ensemble/forest.py
RegressorMixin u /sklearn/base.pyの中にある u これにより,scoreメソッドの⽤いるmetricsが異なっている。 u BaseTree内でClassifierかRegressorかをチェックしている u 141⾏⽬(fit関数内) : `is_classification = is_classifier(self)` u /sklearn/base.py内のis_classification関数 u 継承元のMixinで定義した”_estimator_type”をチェックして分岐している
X, y, sample_weight, X_idx_sorted)` u buildまでの流れ u criterionの定義(前⾴) -> self._criterion.pyx u splitterの選択(Best / Random) -> self._splitter.pyx u self.tree_インスタンスの作成 -> self._tree.pyx内のTreeクラス u builderの選択(Depth / Best) -> self._tree.pyx内のDepth/BestFirstTreeBuilderクラス
base_estimator⾃体は,__init__で引数としてとる u RandomForestClassifier/Regressorをみると, DecisionTreeClassifier/Regressor()を⼊れている︕ u 325⾏⽬︓ u joblibを使った並列化 u _parallel_build_treesメソッドで → 94⾏⽬