Визуализация
Раздел будет описывать построение графиков с помощью PlotML: диаграммы рассеяния, матрицы попарных графиков и визуальную проверку данных.
Краткий справочник
Заголовок раздела «Краткий справочник»PlotML умеет строить графики непосредственно по данным из Dataset и DataFrame. Один и тот же график можно добавить в текущее окно через Plot, построить методом самого набора данных или разместить в выбранной ячейке Figure.
В приведённых ниже фрагментах предполагается, что подключены модули MLABC и PlotML, а переменные ds, df, fig и mnist уже созданы.
Графики по Dataset
Заголовок раздела «Графики по Dataset»// Диаграмма рассеянияPlot.Points(ds, 'Вес', 'Рост');
Plot.Points(ds, 'Вес', 'Рост', classColumn := ds.Target);
ds.Points('Вес', 'Рост');
ds.Points('Вес', 'Рост', classColumn := ds.Target);
fig[0, 0].Points(ds, 'Вес', 'Рост', classColumn := ds.Target);
// Линейный графикPlot.LineGraph(ds, 'Год', 'Цена');
ds.LineGraph('Год', 'Цена');
fig[0, 1].LineGraph(ds, 'Год', 'Цена');
// ГистограммаPlot.Hist(ds, 'Возраст', bins := 10);
ds.Hist('Возраст', bins := 10);
fig[0, 2].Hist(ds, 'Возраст', bins := 10);
// Несколько гистограммPlot.HistMany(ds);
Plot.HistMany(ds, columns := ['Вес', 'Рост', 'Возраст'], bins := 10);
ds.HistMany;
ds.HistMany( columns := ['Вес', 'Рост'], bins := 10);
fig[0, 3].HistMany(ds, columns := ['Вес', 'Рост']);
// Столбчатая диаграммаPlot.Bar(ds, 'Количество');
Plot.Bar(ds, 'Год', 'Количество');
ds.Bar('Количество');
ds.Bar('Год', 'Количество');
fig[1, 0].Bar(ds, 'Год', 'Количество');
// Горизонтальная столбчатая диаграммаPlot.HorizontalBar(ds, 'Категория', 'Количество');
ds.HorizontalBar( 'Категория', 'Количество');
fig[1, 1].HorizontalBar(ds, 'Категория', 'Количество');
// Тепловая картаPlot.Heatmap(ds);
Plot.Heatmap(ds, columns := ['Вес', 'Рост', 'Возраст']);
ds.Heatmap;
ds.Heatmap( columns := ['Вес', 'Рост']);
fig[1, 2].Heatmap(ds, columns := ['Вес', 'Рост']);
// Матрица попарных диаграммPlot.PairPlot(ds);
Plot.PairPlot(ds, columns := ['Вес', 'Рост', 'Возраст']);
Plot.PairPlot(ds, columns := ['Вес', 'Рост'], colorByTarget := False);
Plot.PairPlot(ds, columns := ['Вес', 'Рост'], colorColumn := 'Цена');
ds.PairPlot;
ds.PairPlot( columns := ['Вес', 'Рост']);
// Одно изображениеPlot.Image(mnist, 28, 28, row := 10, invert := True);
mnist.Image(28, 28, row := 10, invert := True);
fig[1, 3].Image(mnist, 28, 28, row := 10, invert := True);
// Сетка изображенийPlot.ImageGrid(mnist, 28, 28, startRow := 100, count := 20, cols := 5, spacing := 0.1, invert := True);
mnist.ImageGrid(28, 28, count := 20, cols := 5, invert := True);
fig[1, 4].ImageGrid(mnist, 28, 28, count := 20, cols := 5, invert := True);У Dataset имеются сведения о признаках и целевом столбце. Поэтому в соответствующих методах можно использовать ds.Target и не извлекать таблицу ds.Data отдельно.
Графики по DataFrame
Заголовок раздела «Графики по DataFrame»Для DataFrame нужные столбцы задаются непосредственно их именами.
// Диаграмма рассеянияPlot.Points(df, 'Вес', 'Рост');
Plot.Points(df, 'Вес', 'Рост', 'Порода');
df.Points('Вес', 'Рост');
df.Points('Вес', 'Рост', 'Порода');
fig[0, 0].Points(df, 'Вес', 'Рост', 'Порода');
// Линейный графикPlot.LineGraph(df, 'Год', 'Цена');
df.LineGraph('Год', 'Цена');
fig[0, 1].LineGraph(df, 'Год', 'Цена');
// ГистограммаPlot.Hist(df, 'Возраст', bins := 10);
df.Hist('Возраст', bins := 10);
fig[0, 2].Hist(df, 'Возраст', bins := 10);
// Несколько гистограммPlot.HistMany(df, ['Вес', 'Рост', 'Возраст'], bins := 10);
df.HistMany( ['Вес', 'Рост'], bins := 10);
fig[0, 3].HistMany(df, ['Вес', 'Рост']);
// Столбчатая диаграммаPlot.Bar(df, 'Количество');
Plot.Bar(df, 'Год', 'Количество');
df.Bar('Количество');
df.Bar('Год', 'Количество');
fig[1, 0].Bar(df, 'Год', 'Количество');
// Горизонтальная столбчатая диаграммаPlot.HorizontalBar(df, 'Категория', 'Количество');
df.HorizontalBar( 'Категория', 'Количество');
fig[1, 1].HorizontalBar(df, 'Категория', 'Количество');
// Тепловая картаPlot.Heatmap(df, ['Вес', 'Рост', 'Возраст']);
df.Heatmap( ['Вес', 'Рост']);
fig[1, 2].Heatmap(df, ['Вес', 'Рост']);
// Матрица попарных диаграммPlot.PairPlot(df, ['Вес', 'Рост', 'Возраст']);
Plot.PairPlot(df, ['Вес', 'Рост'], 'Цена');
df.PairPlot( ['Вес', 'Рост', 'Возраст']);
df.PairPlot( ['Вес', 'Рост'], 'Цена');