Как scikit учится различать входящие объекты ndarrays и pandas DataFrame? - PullRequest
0 голосов
/ 26 мая 2020

Я пытаюсь написать класс регрессии дерева решений с нуля. Я пишу его, чтобы получить данные в форме NumPy ndarray. Я не планирую использовать его ни для чего, кроме самообучения, но мне стало интересно, как scikit-learn так легко справляется с обоими одновременно. Т.е. он будет соответствовать модели данных, которые являются либо ndarray, либо списком, либо объектом dataframe / series.

Есть ли простое объяснение такой надежной обработки множества различных типов объектов?

1 Ответ

1 голос
/ 26 мая 2020

Scikit-Learn не предназначен для непосредственного размещения на pandas фреймах данных. df Pandas преобразуется в массивы numpy внутренне.

Это явно указано в исходном коде DecisionTreeRegressor:

X : {array-like, sparse matrix} of shape (n_samples, n_features) The training input samples. Internally, it will be converted to ``dtype=np.float32`` and if a sparse matrix is provided to a sparse ``csc_matrix``.

Источник: https://github.com/scikit-learn/scikit-learn/blob/fd237278e/sklearn/tree/_classes.py#L597

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...