Отличный способ визуализации простых структур Python
Качественный анализ не считается законченным без понятной визуализации. Начинающие исследователи данных часто сталкиваются с проблемой красивого отображения результатов работы. Однако есть простой совет, который поможет в большинстве ситуаций - сведите вопрос к тому, что знаете. Например, все умеют работать с датафреймами, так почему не визуализировать результаты в нем? Последний сам позаботится о том, чтобы данные были представлены в табличном виде. Ниже приведу примеры непривычного, но удобного способа отображения распространенных отчетных структур дата-аналитика.
Напомню, что списки можно задать в виде колонок, инициализировав датафрейм словарем:
import pandas as pd df = pd.DataFrame({'список1':[1,2,3,4,5], 'список2':[6,7,8,9,10]}) df
Если же вы хотите отобразить словари, перечислите их в списке:
pd.DataFrame([{'col1':'one', 'col2':'two'}, {'col1':'three', 'col2':'four'}])
Ниже приведены типичные примеры отображений важных результатов в ходе моделирования. Например, детальные результаты валидации модели с методом cross_validate возвращаются в виде словаря:
from sklearn.datasets import make_classification from sklearn.tree import DecisionTreeClassifier import numpy as np from sklearn.model_selection import cross_validate X, y = make_classification(n_samples=10000, n_features=5, n_informative=2, n_redundant=0, class_sep = 2, random_state=0, shuffle=True, flip_y=0.3, n_clusters_per_class=2) pd.DataFrame(cross_validate(DecisionTreeClassifier(), X, y, scoring=['f1', 'accuracy']))
Вот как можно отобразить итоговые результаты подбора гиперпараметров, которые хранятся в словаре cv_results_:
from sklearn.model_selection import RandomizedSearchCV rs = RandomizedSearchCV(DecisionTreeClassifier(), {'max_depth':range(1,20)}, n_iter=5, scoring='f1') rs.fit(X,y) pd.DataFrame(rs.cv_results_)
Сравните с отображением без датафрейма:
rs.cv_results_
Сложно определить, что к чему... Поэтому чаще пользуйтесь датафреймами для визуализации простых структур Python.