WWW.BOOK.LIB-I.RU
БЕСПЛАТНАЯ  ИНТЕРНЕТ  БИБЛИОТЕКА - Электронные ресурсы
 
s

Pages:     | 1 |   ...   | 3 | 4 ||

«В.К. Шитиков, С.Э. Мастицкий Классификация, регрессия и другие алгоритмы Data Mining с использованием R Тольятти, Лондон - 2017 Шитиков В.К., Мастицкий С.Э. (2017) Классификация, ...»

-- [ Страница 5 ] --

geom: три возможных комбинации стиля отображения наблюдений на графике – текстовые метки "text", точки "point" или оба типа одновременно c("point", "text");

frame = TRUE: проводится контур вокруг точек для каждого кластера;

frame.type: возможные значения – "convex" или типы эллипсов ggplot2::stat_ellipse, включая один из трех c("t", "norm", "euclid").

Построим ординационные диаграммы для результатов кластеризации методами PAM и CLARA. Чтобы получить аккуратные графики, заменим длинные названия штатов США на их сокращенную аббревиатуру из файла St_USA.txt.

Во втором случае будем использовать для построения эллипсов многомерное t-распределение с доверительным интервалом = 0.7:

ShState - read.delim("St_USA.txt") rownames(df.stand) - ShState$Short fviz_cluster(pam(df.stand, 4), stand=FALSE) fviz_cluster(clara(df.stand, 4), stand=FALSE, ellipse.type = "t", ellipse.level = 0.7)

–  –  –

Рис. 10.6. Диаграмма распределения штатов США по кластерам, полученным методом CLARA; эллипсы построены на основе t-распределения ( = 0.7)

10.2. Иерархическая кластеризация

Методы иерархической кластеризации основываются на двух идеях:

агломерации (AGNES, Agglomerative Nesting), т.е. последовательного объединения индивидуальных объектов или их групп во все более крупные подмножества, или обратном по смыслу процессе разбиения (DIANA, Divise Analysis), который начинается с корня и на каждом шаге делит образующие группы по степени их гетерогенности (Ким и др., 1989; Kassambara, 2017). В обоих случаях результат работы алгоритма представляет собой древовидную структуру, или дендрограмму.

Отдельные версии агломеративной иерархической процедуры отличаются правилами вычисления расстояния между кластерами. Например, алгоритм средней связи (average linkage clustering) на каждом следующем шаге объединяет два ближайших кластера, рассчитывая среднюю арифметическую дистанцию между всеми парами объектов.

К алгоритму средней связи естественно сразу добавить еще два со взаимно противоположными тенденциями:

алгоритм одиночной связи, или "ближайшего соседа" (single linkage clustering), когда расстояние между кластерами оценивается как минимальное из дистанций между парами объектов, один из которых входит в первый кластер, а другой – во второй;

и алгоритм полной связи или "дальнего соседа" (complete linkage clustering), когда вычисляется расстояние между наиболее удаленными объектами.

Более глубокий статистический смысл в понятие расстояния между кластерами вкладывается при использовании центроидного метода (centroid linkage clustering) и метода минимума дисперсии Уорда (Ward).

Утверждать, какой из методов предпочтительней, довольно просто – это тот, который чаще всего приводит к естественной кластеризации. Однако имеющиеся огромные расхождения в понимании столь тонкого предмета, как "естественность", вынуждают признать этот термин нечетким. Поэтому мы ограничимся в этом разделе лишь анализом сходства результатов кластеризации, полученных различными алгоритмами.

Предварительно рассмотрим функции, которые используют в R для проведения иерархической кластеризации:

hclust(d, method = "complete") agnes(x, metric = "euclidean", stand = FALSE, method = "average") diana(x, metric = "euclidean", stand = FALSE) где d: матрица дистанций, полученная функцией dist() или как-то иначе;





method: метод агломерации, определяемый одним из значений "ward.D", "ward.D2", "single", "complete", "average", "mcquitty", "median" или "centroid";

x: таблица данных для вычисления расстояний (наблюдения – по строкам, признаки – по столбцам);

metric: метрика расстояний между наблюдениями, т.е. "euclidean" или "manhattan";

осуществляется стандартизация каждой переменной

stand = TRUE:

таблицы (по столбцам).

Очевидно, что агломерационные процедуры hclust() и agnes() приведут к одному и тому же результату, а diana() выполнит алгоритм последовательного разбиения.

Приведем различные варианты формирования дендрограмм и способы их визуализации на примере кластеризации штатов США по криминогенной обстановке. Первые три диаграммы на рис. 10.7 построены с использованием базовой функции plot.hclust(), имеющей ограниченный набор настраиваемых параметров. Для варианта "complete" показан пример разрезания дерева на 4 группы, которые на дендрограмме можно показать в виде прямоугольников.

Четвертый рисунок получен с помощью функции plot.dendrogram(), которая имеет такие дополнительные параметры как nodePar – спецификацию графического изображения узлов дерева, и edgePar – список графических параметров для представления ветвей разными цветами.

library(cluster) data("USArrests") d - dist(scale(USArrests), method = "euclidean") # Параметр hang=-1 выравнивает метки plot(hclust(d, method = "average" ), cex = 0.7, hang=-1) plot(hclust(d, method = "single" ), cex = 0.7) Рис. 10.7. Дендрограмма распределения штатов США по кластерам;

"average" – метод средней связи, "single" – метод одиночной связи res.hc - hclust(d, method = "complete" ) grp - cutree(res.hc, k = 4) # Разрезание дерева на 4 группы plot(res.hc, cex = 0.7) rect.hclust(res.hc, k = 4, border = 2:5) hcd - as.dendrogram(hclust(d, method = "ward.D2" )) nodePar - list(lab.cex = 0.7, pch = c(NA, 19), cex = 0.7, col = "blue") plot(hcd, xlab = "Height", nodePar = nodePar, horiz = TRUE, edgePar = list(col = 2:3, lwd = 2:1)) Продолжение рис. 10.7. Дендрограмма распределения штатов США по кластерам; "complete" – метод полной связи, "ward.D2" – метод Уорда Дополнительные возможности для графического представления дендрограмм можно найти в функциях пакетов ape (анализ филогенетики и эволюции) и ggdendro, использующего графическую систему ggplot2.

Визуальные впечатления от сравнения различных дендрограмм на рис. 10.7 и опыт специалистов свидетельствует о том, что метод Уорда и полной связи дают весьма сходные результаты (к ним приближается также метод средней связи). Метод одиночной связи и центроидный метод могут дать иногда весьма специфические дендрограммы. Однако для анализа сходства дендрограмм предпочтительнее использовать пакет dendextend, который содержит несколько функций для сравнения результатов кластеризации, включая: dend_diff(), tanglegram(), entanglement(), Выполним построение all.equal.dendrogram(), cor.dendlist().

диаграммы типа "клубок", показывающей различия двух дендрограмм:

library(dendextend) # Вычисляем 2 иерархические кластеризации hc1 - hclust(d, method = "average") hc2 - hclust(d, method = "ward.D2") # Создаем две дендрограммы dend1 - as.dendrogram (hc1); dend2 - as.dendrogram (hc2) # На диаграмме типа "клубок" показываем цветом общие ветви tanglegram(dend1, dend2, common_subtrees_color_branches = TRUE)

Рис. 10.8. Диаграмма сравнения деревьев кластеризации "average"-"ward"

Для количественной оценки различий между вариантами кластеризации могут быть использованы кофенетическая корреляция (cophenetic correlation) или различные ранговые индексы. Кофенетическая дистанция определяет расстояние между двумя объектами на дендрограмме и отражает уровень внутригрупповых различий, при котором эти объекты были впервые объединены в один кластер (Ким и др., 1989). Все возможные пары таких дистанций образуют апостериорную матрицу расстояний между объектами по результатам кластеризации.

Кофенетическая корреляция вычисляется как линейный коэффициент корреляции Пирсона (или ранговый коэффициент Спирмена) между всеми элементами двух таких матриц:

c(cor_cophenetic(dend1, dend2), # кофенетическая корреляция cor_bakers_gamma(dend1, dend2)) # корреляция Бейкера [1] 0.8431430 0.8400675 Аналогично можно получить матрицу коэффициентов кофенетической корреляции для всех обсуждаемых методов иерархической кластеризации:

# Создаем множество дендрограмм для сравнения dend1 - d %% hclust("com") %% as.dendrogram dend2 - d %% hclust("single") %% as.dendrogram dend3 - d %% hclust("ave") %% as.dendrogram dend4 - d %% hclust("centroid") %% as.dendrogram dend5 - d %% hclust("ward.D2") %% as.dendrogram # Создаем список дендрограмм и корреляционную матрицу dend_list - dendlist("Complete" = dend1, "Single" = dend2, "Average" = dend3, "Centroid" = dend4, "Ward.D2" = dend5) cors - cor.dendlist(dend_list) ; round(cors, 2) library(corrplot) # изображение корреляционной матрицы corrplot(cors, "pie", "lower") Complete Single Average Centroid Ward.D2 Complete 1.00 0.50 0.86 0.49 0.94 Single 0.50 1.00 0.58 0.71 0.49 Average 0.86 0.58 1.00 0.61 0.84 Centroid 0.49 0.71 0.61 1.00 0.49 Ward.D2 0.94 0.49 0.84 0.49 1.00

Рис. 10.9. Корреляция между кластеризациями на основе разных методов

10.3. Оценка качества кластеризации После создания кластерного решения обычно возникает вопрос, насколько оно устойчиво и статистически значимо. Здесь существует эмпирическое правило – устойчивая группировка должна сохраняться при изменении методов кластеризации: например, если результаты иерархического кластерного анализа имеют долю совпадений более 70% с группировкой по методу k средних, то предположение об устойчивости принимается.

В теоретическом плане проблема проверки адекватности кластеризации не решена, по крайней мере, без использования другого вида анализа или априорного знания принадлежности объектов к соответствующим классам.

Авторы сборника Ким и др. (1989, с.

192 и далее) подробно рассматривают и в итоге отвергают пять методов проверки адекватности кластеризации (ru.wikipedia.org/wiki):

1. Кофенетическая корреляция – не рекомендуется и ограниченна в использовании;

2. Тесты на значимость разбиения данных на кластеры (многомерный дисперсионный анализ) – всегда дают значимый результат;

3. Методика повторных (случайных) выборок – не доказывает обоснованность решения;

4. Тесты значимости для признаков, не использованных при кластеризации, – пригодны только при наличии повторных измерений;

5. Методы Монте-Карло очень сложны и доступны только опытным математикам.

С тех пор в литературе предложено множество методов и критериев оценки качества результатов кластеризации (clustering validation).

Можно выделить несколько подходов к валидации5 кластеров (Kassambara, 2017):

внешняя валидация, которая заключается в сравнении итогов кластерного анализа с заранее известным результатом (т.е. метки кластеров известны априори);

относительная валидация, которая оценивает структуру кластеров, изменяя различные параметры одного и того же алгоритма (например, число групп k);

внутренняя валидация, которая использует внутреннюю информацию процесса объединения в кластеры (если внешняя информация отсутствует);

оценка стабильности объединения в кластеры (или специальная версия внутренней валидации), использующая методы ресэмплинга.

Одна из проблем машинного обучения без учителя состоит в том, что методы кластеризации будут формировать группы, даже если анализируемый набор данных представляет собой полностью случайную структуру. Поэтому первой задачей валидации, которую рекомендуется выполнить перед началом Мы используем термин "валидность", чтобы избегнуть некоторой двусмысленности таких понятий как "адекватность", "эффективность", "значимость" кластерного анализа, является оценка общей предрасположенности имеющихся данных к объединению в кластеры (clustering tendency).

Статистика Хопкинса (Hopkins) является одним из индикаторов тенденции к группированию. Для ее расчета создается B псевдо-наборов данных, сгенерированных случайным образом на основе распределения с тем же стандартным отклонением, что и оригинальный набор данных. Для каждого наблюдения i из n рассчитывается среднее расстояние до k ближайших соседей: wi между реальными объектами и qi между искусственными объектами и их самыми близкими реальными соседями.

Тогда статистика Хопкинса H ind = wi /( qi + wi ), n n n превышающая 0.5, будет соответствовать нулевой гипотезе о том, что qi и wi подобны, а группируемые объекты распределены случайно и однородно.

Величина Hind 0.25 на 90%-ном уровне уверенности указывает на имеющуюся тенденцию к группированию данных.

Весьма полезна также визуальная оценка тенденции (VAT, Visual Assessment of cluster Tendency): потенциальные группы представлены темными квадратами вдоль главной диагонали "VAT-диаграммы".

Функция get_clust_tendency() из пакета factoextra попутно с графиком рассчитывает также и статистику Хопкинса:

library(cluster) ; data("USArrests") df.stand - as.data.frame(scale(USArrests)) library("factoextra") get_clust_tendency(df.stand, n = 30, gradient = list(low = "steelblue", high = "white")) $hopkins_stat [1] 0.386467

Рис. 10.10. Визуальная оценка тенденции данных к группированию

В случае криминогенности штатов США мы имеем весьма умеренную склонность к образованию групп.

В разделе 10.1 мы рассмотрели три метода выбора оптимального числа кластеров, которые не всегда давали однозначные оценки. «Но это еще не все…».

С помощью пакета NbClust можно найти оптимальную схему объединения в кластеры, используя ни много ни мало целых 30 индексов качества! При этом происходит перебор различных комбинаций числа групп, метрик дистанции и методов кластеризации:

library(NbClust) nb - NbClust(df.stand, distance = "euclidean", min.nc = 2, max.nc = 8, method = "average", index ="all") nb$Best.nc fviz_nbclust(nb) + theme_minimal() KL CH Hartigan CCC Scott Marriot TrCovW Number_clusters 8.0000 2.000 5.0000 2.000 5.0000 5.0 4.0000 Value_Index 24.0818 43.462 12.3077 -0.141 43.9763 180497.5 383.4582 TraceW Friedman Rubin Cindex DB Silhouette Duda Number_clusters 5.0000 6.0000 5.0000 4.0000 4.0000 2.0000 2.0000 Value_Index 15.3518 2.8394 -0.5185 0.3713 0.7784 0.4085 1.0397 PseudoT2 Beale Ratkowsky Ball PtBiserial Frey Number_clusters 2.0000 2.0000 2.0000 3.0000 3.0000 1 Value_Index -0.6878 -0.0874 0.4466 18.8709 0.6361 NA McClain Dunn Hubert SDindex Dindex SDbw Number_clusters 2.000 8.0000 0 4.0000 0 8.0000 Value_Index 0.547 0.2509 0 1.2638 0 0.2786 Рис. 10.11. Оптимальное число кластеров по оценкам различных индексов Разброс оценок числа классов наилучшего разбиения весьма велик: от 2 по индексу МакКлайна до 8 по индексу Данна, поэтому приходится прибегать к тривиальному голосованию.

Кофенетическую корреляцию можно также рассчитать между исходной матрицей дистанции и матрицей кофенетических расстояний, и тогда она может служить мерой адекватности кластерного решения исходным данным (Borcard et al., 2011).

Оценим по этому показателю пять иерархических кластеризаций, сравниваемых между собой в предыдущем d - dist(df.stand, method = "euclidean") library(vegan) hc_list - list(hc1 - hclust(d,"com"), hc2 - hclust(d,"single"), hc3 - hclust(d,"ave"), hc4 - hclust(d, "centroid"),hc5 - hclust(d, "ward.D2")) Coph - rbind( MantelStat - unlist(lapply(hc_list, function (hc) mantel(d, cophenetic(hc))$statistic)), MantelP - unlist(lapply(hc_list, function (hc) mantel(d, cophenetic(hc))$signif))) colnames(Coph) - c("Complete", "Single","Average", "Centroid","Ward.D2") rownames(Coph) - c("W Мантеля","Р-значение") round(Coph, 3) разделе:

Complete Single Average Centroid Ward.D2 W Мантеля 0.698 0.541 0.718 0.607 0.698 Р-значение 0.001 0.001 0.001 0.001 0.001 Таким образом, максимальное значение коэффициента W матричной корреляции Мантеля (а, следовательно, и наибольшая адекватность матрице расстояний, построенной по исходным данным) принадлежит кластеризации по методу средней связи. Нелишне заметить, что все рассмотренные кластеризации статистически значимы, т.е. не могут быть объяснены случайными причинами (впрочем, такое будет почти всегда). Наконец, Ким и др. (1989) не рекомендуют использовать кофенетическую корреляцию в основном по причине несоответствия кофенетических расстояний нормальному распределению. Однако с развитием методов ресэмплинга появилась мощная аргументация, показывающая откровенную слабость подобных утверждений.

После того, как мы попытались оценить, насколько хорошо топология дендрограммы отображает предрасположенность объектов к группированию, остаются некоторые вопросы, вызывающие несомненный интерес. Можно ли вычислить р-значения в целом для полученной иерархической кластеризации? Какие фрагменты древовидной структуры являются "слабым звеном" в полученной конструкции?

Однако правомерен и контрвопрос: «Нужно ли вычислять эти рзначения?» Как убедительно сказано в книге Джеймс и др. (2016), не существует правильных или неправильных результатов кластеризации, поскольку, по определению, это метод обучения без учителя. Все определяется соответствием полученного решения поставленной задаче, которая на практике в большинстве случаев сводится просто к тому, чтобы приблизительно оценить, на сколько групп целесообразно разделить данные.

При этом степень этого соответствия всегда будет субъективной.

Ответ на второй вопрос об устойчивости фрагментов кластерной структуры состоит в том, чтобы взять из исходной таблицы множество повторных выборок, построить для каждой из них свою дендрограмму и вычислить частоту встречаемости каждого фрагмента в сформированной последовательности разбиений. Разумеется, здесь невозможно обойтись без бутстрепа, позволяющего подсчитать вероятность BP (Bootstrap Probability) встречаемости произвольного узла в бутстреп-копиях. Обычно фрагменты древовидной структуры считаются статистически значимыми, если с ветвями дерева связывается бутстреп-вероятность, превышающая 70-80%.

Х. Шимодейра (Shimodaira, 2002), сравнивая центры распределения исходной и бутстреп-выборок, показал, что величина BP является приближенной оценкой вероятности появления узла в дереве. Несмещенную оценку вероятности AU (Approximately Unbiased) можно получить, выполнив повторную серию бутстрепа в различных масштабах (multiscale bootstrap resampling). Для этого отдельно вычисляют BP-значения, формируя бутстрепвыборки разного объема: например, 0.5n, 0.6n, …, 1.4n, 1.5n, где n – объем исходной выборки. Несмещенная бутстреп-вероятность AU находится аппроксимацией ряда полученных значений BP. Оптимальные оценки AU для каждого кластера дендрограммы, найденные путем подбора параметрических моделей с использованием метода максимального правдоподобия, могут быть получены с использованием пакетов pvclust и scaleboot для R.

Некоторая проблема заключается в том, что функция pvclust(), ориентированная на генетические исследования, выполняет кластеризацию признаков (т.е. столбцов таблицы данных), а для 4 показателей нашей демонстрационной таблицы USArrests это особого интереса не представляет.

Если попробовать выполнить анализ с транспонированной матрицей 460, выполнив команду pvclust(t(USArrests)), то решение найти нельзя из-за проблем с сингулярными преобразованиями:

Error in solve.default(crossprod(X, X/vv)), system is exactly singular: U[2,2] = 0 Воспользуемся тогда в качестве примера набором Boston из пакета MASS, включающим 14 признаков привлекательности 506 участков города для проживания:

data(Boston, package = "MASS") library(pvclust) set.seed(123) # Бутстреп деревьев и расчет BP- и AU- вероятностей для узлов boston.pv - pvclust(Boston, nboot=100, method.dist="cor", method.hclust="average") plot(boston.pv) # дендрограмма с p-значениями pvrect(boston.pv) # выделение боксами достоверных фрагментов Рис. 10.12. Дендрограмма с нанесенными значениями AU/BP для каждого узла Этот пример показывает, что с практической точки зрения кластеризация признаков (переменных) может быть столь же важна, как и группировка объектов. Использование коэффициентов корреляции для расчета матрицы дистанций method.dist="cor" избавляет нас от необходимости стандартизовать данные.

При анализе дендрограммы на рис. 10.12 можно увидеть, что признаки иногда образуют кластеры с ясно интерпретируемой зависимостью ("среднее число комнат в жилье rm" и "медианная стоимость дома medv"), но часто их тесная связь нуждается в дополнительном осмыслении ("индекс доступности к кольцевым дорогам rad" и "сумма налога на недвижимость tax", или "доля участков, продаваемых в розницу indus" и "концентрация окислов азота nox").

В целом была получена весьма стабильная кластеризация:

довольно низкую бутстреп-вероятность имеют такие важнейшие признаки, как "криминальный индекс crim" и "процент жителей с низким социальным статусом lstat", которые вполне могут объединиться в группу с любым другим из имеющихся показателей (например, "долей афроамериканцев black").

10.4. Другие алгоритмы кластеризации Иерархическая кластеризация на главные компоненты Использование главных компонент для иерархической кластеризации – один из возможных путей гибридизации алгоритмов, которая все чаще привлекает внимание специалистов. Предварительное сжатие пространства признаков – хороший метод сглаживания случайных флуктуаций в данных, что является предпосылкой построения более стабильных кластерных структур. Это особенно важно для матриц с большим количеством признаков, например, в генной инженерии.

В среде R кластеризация на главные компоненты реализована в пакете FactoMineR и состоит из двух шагов. На первом этапе функцией РСА() выполняется обычный анализ главных компонент и выбирается их число.

Далее функция HCPC() использует эти результаты и строит иерархическую кластеризацию. При этом используется метод Уорда, который, как и анализ главных компонент, основан на анализе многомерной дисперсии (inertia).

Опять воспользуемся в качестве примера набором Boston из пакета MASS.

Выполним снижение исходной размерности данных, определяемой 14 признаками привлекательности земельных участков Бостона, до 5 главных компонент:

library(FactoMineR) ; library(factoextra) data(Boston, package = "MASS") df.scale - scale(Boston) res.pca - PCA(df.scale, ncp = 5, graph=TRUE) get_eig(res.pca) eigenvalue variance.percent cumulative.variance.percent Dim.1 6.54598958 46.7570684 46.75707 Dim.2 1.64953191 11.7823708 58.53944 Dim.3 1.34890592 9.6350423 68.17448 Dim.4 0.88653987 6.3324276 74.50691 Dim.5 0.85089944 6.0778531 80.58476 Рис. 10.13. Разложение исходных признаков по осям двух главных компонент Напомним, что угол между двумя любыми осями (факторов и/или компонент) на рис. 10.13 соответствует уровню корреляции между ними.

Заинтересованный читатель может сравнить этот график с иерархической дендрограммой признаков на рис. 10.12.

Выполним теперь иерархическую кластеризацию на главные компоненты.

Построим две диаграммы – обычную дендрограмму, совмещенную с графиком "каменистой осыпи" дисперсии (choice ="tree"), и трехмерную дендрограмму, совмещенную с ординационной диаграммой (choice = "3D.map"):

res.hcpc - HCPC(res.pca, graph = TRUE) plot(res.hcpc, choice ="tree") plot(res.hcpc, choice = "3D.map", ind.names=FALSE) Рис. 10.14. Дендрограмма с разделением на кластеры (а) и гибрид дендрограммы с ординационной диаграммы (б) Метод нечетких k-средних (fuzzy analysis clustering) Традиционные принципы кластерного анализа предполагают, что выделяемые группы представляют собой детерминированные совокупности, т. е. каждый объект может принадлежать только к одному таксону.

Ограниченность такого подхода часто приводит к аналитической неопределенности, и поэтому разумной альтернативой понятию абсолютной дискретности является интерпретация компонентов систем как нечетких объектов в составе гибко настраиваемых ординационных структур.

В конце 80-х годов, после того, как основные концепции нечетких множеств (fuzzy sets) были разработаны Лотфи Заде (Zadeh, 1965), началось бурное развитие технических устройств на базе нечетких контроллеров, а нечеткая логика (fuzzy logic) стала неотъемлемой составной частью современных систем искусственного интеллекта.

Множество С является нечетким, если существует функция принадлежности (membership function) µС(x), принимающая на этом множестве значения в интервале [0, 1], где µС(x) = 0 означает полную несовместимость, т. е. x С, a µС(x) = 1 означает полную принадлежность, или x С. Применительно к кластеризации методом нечетких k средних функция µir(x) задает в масштабе от 0 до 1 степень принадлежности каждого объекта xi к каждому выделяемому кластеру r (Bezdek, 1981).

Пусть Dir = ( xij vrj ) 2 – расстояние между каждым i-м объектом (i = 1, j

–  –  –

Экспоненциальный вес (m) в алгоритме нечетких k средних задает уровень нечеткости получаемых кластеров: чем больше m, тем нечеткое разбиение более "размазано". "Штатный" диапазон варьирования m – от 1.2 до 2. Другим важным параметром является количество классов k, которое принимается из описанных выше соображений.

Выполним построение "нечетких" кластеров для традиционного примера по криминогенной обстановке американских штатов с использованием функции fanny() из пакета cluster:

library(cluster) data("USArrests") set.seed(123) res.fanny - fanny(USArrests, k = 4, memb.exp = 1.7, metric = "euclidean", stand = TRUE, maxit = 500) print(head(res.fanny$membership),3) res.fanny$coeff

–  –  –

который принимает минимальное значение при полной нечеткости разбиения, когда расстояния от каждого объекта до центра тяжести любого кластера равновелики: µ = 1/k. Напротив, в случае четкой кластеризации (µ = 1 или 0) коэффициент Данна Fk принимает значение 1. Для представленного примера Fk = 0.39, а его нормированная версия, изменяющаяся от 0 до 1 и характеризующая степень нечеткости Fk' = (kFk 1) /(k 1) = 0.19.

Построим две диаграммы (рис. 10.15). На первой из них (а) покажем матрицу r =1 µir / k, отсортированную по убыванию (т.е. по степени k 2 нечеткости). На второй же (б) представим ординационную диаграмму в пространстве двух главных компонент с результатами кластеризации (аналогична рис. 10.6).

# Визуализация с использованием corrplot library(corrplot) Dunn - res.fanny$membership^2 corrplot(Dunn[rev(order(rowSums(Dunn))),], is.corr = FALSE) # Ординационная диаграмма library(factoextra) fviz_cluster(res.fanny, frame.type = "norm", frame.level = 0.7) Рис. 10.15. Матрица степени нечеткости (а) и ординационная диаграмма (б), полученные с применением метода нечеткой кластеризации Статистическая модель кластеризации Важнейшими свойствами кластеров являются плотность, дисперсия, размер, форма и отделимость (Ким и др., 1989). Характер изменчивости облака экспериментальных точек относительно центроидов искомых кластеров может быть описан статистической моделью со смешанными параметрами (Baneld, Raftery, 1993).

Предположим, что входное множество векторов наблюдений x1, x2,..., xn представляет собой случайные реализации из K неизвестных распределений E1, E2,..., EK. Допустим, что плотность распределения xi, связанная с Ek, задана функцией fk(xi, ), включающей некоторое неизвестное множество параметров. Если принять допущение, что классифицируемый объект принадлежит только одному распределению, то можно ввести переменную I = k, если xi принадлежит Ek, k = 1, 2,…, K. Тогда цель оптимизации модели

–  –  –

Поскольку вероятность L(, ) основана на смеси K распределений, то такая модель называется смешанной (mixture model). Если использовать в качестве распределений многомерные нормальные функции, то неизвестные параметры определяются как вектор средних µk и матрица ковариации k каждого k-го распределения.

Если рассматривать изложенный формализм смешанных моделей применительно к кластеризации (model-based clustering), то каждой группе k соответствует центроид µk с повышенной плотностью точек в его окрестностях. Геометрические особенности (форма, объем, ориентация) каждого кластера определены матрицей ковариации k. Главным преимуществом этого подхода, по сравнению с другими методами кластеризации, является возможность автоматической оценки оптимального числа кластеров в процессе подгонки параметров модели.

Выборочные оценки параметров могут быть получены с использованием алгоритма максимизации математических ожиданий (EM, Expectation-Maximization), который оценивает максимумы вероятности L(, ) серии моделей: для заданного диапазона значений k и с различной параметризацией матрицы ковариации. Оптимальная модель обычно отбирается на основе максимума байесовского информационного критерия BIC.

Рассмотрим двумерный набор данных, который содержит время ожидания между извержениями (waiting) и продолжительностью извержения (eruptions) гейзера "Старый служака" в Йеллоустонском национальном парке. Для иллюстрации характера распределения наблюдаемых данных изобразим диаграмму диаграмму рассеяния (рис.

10.16):

data("faithful") head(faithful, 3) library("ggplot2") ggplot(faithful, aes(x=eruptions, y=waiting)) + geom_point() + geom_density2d()

–  –  –

Рис. 10.16. Диаграмма двумерной плотности распределения данных faithful Подогнать смешанную модель кластеризации по этим данным можно с использованием функции Mclust() из пакета mclust.

mc - Mclust(faithful) summary(mc) ; head(mc$z)

---------------------------------------------------Gaussian finite mixture model fitted by EM algorithm Mclust EEE (ellipsoidal, equal volume, shape and orientation)

model with 3 components:

log.likelihood n df BIC ICL

-1126.361 272 11 -2314.386 -2360.865

Clustering table:

---------------------------------------------------Probality for an observation to be in a given cluster [,1] [,2] [,3] 1 2.181744e-02 1.130837e-08 9.781825e-01 2 2.475031e-21 1.000000e+00 3.320864e-13 3 2.521625e-03 2.051823e-05 9.974579e-01 4 6.553336e-14 9.999998e-01 1.664978e-07 5 9.838967e-01 7.642900e-20 1.610327e-02 6 2.104355e-07 9.975388e-01 2.461029e-03 Мы получили разбиение исходных наблюдений на три кластера с оптимальным BIC = -2314. Каждому наблюдению назначается кластер с максимальной оцененной вероятностью z. Для визуализации полученных кластеров можно использовать различные варианты функции plot() или

fviz_cluster():

plot(mc, "classification") plot(mc, "uncertainty") Рис. 10.17. Распределение наблюдений по кластерам (на графике справа диаметр точек соответствует мере неопределенности – uncertainty) Как следует из результатов summary(), ковариационные матрицы оптимизированы под вариант структурной организации кластеров EEE (эллипсоидальная с равным объемом, формой и ориентацией).

Зависимость критерия BIC от числа кластеров для различных вариантов параметризации можно увидеть на следующем графике:

plot(mc, "BIC") Рис. 10.18. Зависимость критерия BIC от числа кластеров для различных вариантов параметризации ковариационной матрицы Каждая опция модели, представленная на рис. 10.18, описана идентификатором, первый символ которого относится к объему, второй – к форме, а третий – к ориентации. Символы могут принимать значения "E" – равный, "V" – переменный и "I" – расположение относительно осей координат. Так, "VEI" означает, что кластеры имеют разный объем, одинаковую форму и одинаково ориентированы по координатным осям.

Подробно о составе и смысле опций можно узнать, выполнив команду ? mclustModelNames.

10.5. Самоорганизующиеся карты Кохонена Самоорганизующиеся карты (SOM, Self Organizing Maps), разработанные Т. Кохоненом (Kohonen, 1982), представляют собой мощный инструмент, объединяющий две важные парадигмы анализа данных – кластеризацию и проецирование, т.е. визуализацию многомерных данных на плоскости. В отличие от рассмотренной в разделах 7.7 и 8.2 нейронной сети обратного распространения, процедура настройки SOM относится к алгоритмами обучения без учителя.

Сеть Кохонена имеет всего два слоя: входной и выходной, составленный из радиальных нейронов упорядоченной структуры (выходной слой называют также слоем топологической карты, или "экраном"). Нейроны выходного слоя располагаются в узлах двумерной сетки с прямоугольными или шестиугольными ячейками. Количество нейронов в сетке p определяет степень детализации результата работы алгоритма, и, в конечном счете, от этого зависит точность обобщающей способности карты.

Самоорганизующиеся карты в ходе своего обучения анализируют характер расположения точек входного слоя в m-мерном пространстве и стремятся воспроизвести на выходе нейронной сети топологический порядок и определенную степень регулярности исходных данных (т.е. метрическую близость векторов).

Подгонка SOM заключается в итеративной настройке вектора весовых коэффициентов wj каждого нейрона, j = 1, 2, …, p, для чего используется модифицированный алгоритм соревновательного обучения Хебба, который учитывает не только вклад нейрона-победителя, но и ближайших его соседей, расположенных в R-окрестности:

1. На стадии инициализации всем весовым коэффициентам присваиваются небольшие случайные значения w0ij, i = 1, 2, …m.

2. На выходы сети подаются последовательно в случайном порядке образы y объектов входного слоя и для каждого из них выбирается "нейронпобедитель" (BMU, Best Matching Unit) с минимальным расстоянием m i =1 (yi wijt ) 2 – см. рис 10.19.

3. Определяется подмножество "ближайшего окружения" BMU, радиус которого R уменьшается с каждой итерацией t.

4. Пересчитываются веса wtj выделенных узлов с учетом их расстояний до нейрона-победителя и близости к вектору y.

Рис. 10.19. Схема активации нейронов в сети Кохонена

Шаги 2-4 алгоритма повторяются, пока выходные значения сети не будут стабилизированы с заданной точностью. При этом качество проецирования многомерных данных на плоскость достигается в SOM на нескольких уровнях: сохранение топологии (т.е. на множествах точек исходных данных и нейронов обученной сети структура соседства одинакова), сохранение порядка (т.е. расстояния между эквивалентными парами точек пропорциональны) и сохранение метрических свойств при сжатии пространства.

"Проекционный экран" в результате обучения приобретает свойства упорядоченной структуры, в которой величины синапсов нейронов плавно меняются вдоль двух измерений. Цвет и расположение фрагментов двумерной решетки используется для анализа закономерностей, связываемых с компонентами набора данных. В частности, с каждым узлом (нейроном) могут ассоциироваться локальные сгущения исходных объектов, которые могут служить потенциальными центрами кластеров.

Для обучения сети обычно используются функции somgrid() и som() из пакета kohonen.

По завершении итерационного процесса функции plot() становится доступным для визуализации следующий комплект карт:

"codes" – показывается распределение по решетке соотношение долей участия отдельных исходных переменных;

"counts" – число исходных объектов в каждом узле сети;

"mapping" – координаты исходных объектов на сформированной карте;

"property", "quality", "dist.neighbours" – различными цветами изображается целый набор свойств каждого узла: доли участия отдельных исходных переменных, меры парных или средних расстояний между нейронами и т.д.

Опять воспользуемся в качестве примера набором Boston из пакета MASS. Чтобы график "codes" был более лаконичен, из исходного набора признаков выделим 7 переменных, предположительно наиболее значимых для кластеризации (см. рис. 10.13). Смысл сокращенных наименований переменных приведен в разделе 10.3. Выполним предварительно стандартизацию данных.

Укажем функции somgrid() создать для проекционного экрана гексагональную решетку 69, т.е.

506 земельных участков Бостона будут "самоорганизовываться" на 54 нейронах выходного слоя:

data(Boston, package = "MASS") VarName = c("indus", "dis", "nox", "medv", "lstat", "age", "rad") # отбор переменных для обучения SOM data_train - Boston[, VarName] data_train_matrix - as.matrix(scale(data_train)) set.seed(123) som_grid - somgrid(xdim = 9, ydim=6, topo="hexagonal") som_model - som(data_train_matrix, grid=som_grid, rlen=100, alpha=c(0.05,0.01), keep.data = TRUE) plot(som_model, type = "changes") Рис. 10.20. Снижение среднего расстояния до ближайших нейронов в ходе 100 итераций (rlen) обучения сети SOM при заданных значениях гиперпараметра alpha Выполним теперь визуализацию комплекта карт Кохонена с разными управляющими параметрами функции plot().

# Зададим палитру цветов coolBlueHotRed - function(n, alpha = 1) { rainbow(n, end=4/6, alpha=alpha)[n:1] } # Сколько объектов связано с каждым узлом?

plot(som_model, type = "counts", palette.name=coolBlueHotRed) # Каково среднее расстояние объектов узла до его прототипов?

plot(som_model, type = "quality", palette.name=coolBlueHotRed)

Рис. 10.21. Карты SOM типа "counts" и "quality"

Тип карты "mapping" позволяет получить распределение объектов по узлам, удовлетворяющее любому заданному условию. Например, мы желаем выделить участки с низкой долей афроамериканцев (black – признак, который в настройке сети не участвовал).

А также показать, как при этом распределяются доли участия отдельных исходных переменных:

colB - ifelse(Boston$black = 100, "red", "gray70") plot(som_model, type = "mapping", col =colB, pch = 16) plot(som_model, type = "codes")

Рис. 10.22. Карты SOM типа "mapping" и "codes"

Поскольку объединенная карта "codes" не всегда бывает хорошо интерпретируемой, можно получить карту распределения любого показателя в его стандартизованной или исходной шкале:

plot(som_model, type = "property", property = som_model$codes[[1]][,1], main = "indus - доля домов, продаваемых в розницу", palette.name=coolBlueHotRed) var_unscaled - aggregate(as.numeric(data_train[,3]), by=list(som_model$unit.classif), FUN=mean, simplify=TRUE)[,2] plot(som_model, type = "property", property=var_unscaled, main="nox - содержание окислов азота", palette.name=coolBlueHotRed)

Рис. 10.23. Карты SOM для стандартизованного и исходного показателя

Естественно, что значения активации каждого нейрона по каждому предиктору можно использовать для группировки узлов. Зададимся числом кластеров k = 5 и выполним иерархическую кластеризацию (по умолчанию используются method = "complete" и distance = "euclidean"). Можно построить карты типа "mapping" (с метками объектов) или "codes" (с распределением доли вклада переменных).

Остановимся на втором типе:

## Формируем матрицу "узлы переменные" mydata - as.matrix(som_model$codes[[1]]) # Используем иерархическую кластеризацию с порогом при k=5 som_cluster - cutree(hclust(dist(mydata)), 5) # Определяем палитру цветов pretty_palette - c("#1f77b4", '#ff7f0e', '#2ca02c', '#d62728', '#9467bd', '#8c564b', '#e377c2') # Показываем разными цветами кластеры узлов и переменные plot(som_model, type="codes", bgcol = pretty_palette[som_cluster]) add.cluster.boundaries(som_model, som_cluster)

Рис. 10.24. Кластеризация узлов карты SOM

Традиционно метод Кохонена рассматривается как эмпирический алгоритм, а выводы (в первую очередь, качественные) о структуре данных делаются на основе визуального анализа представленных карт. Основная трудность применения SOM, как и в случае анализа главных компонент, заключается в смысловой интерпретации топологии сети и связывании ее отдельных участков с некоторыми конкретными обобщениями из предметной области.

Однако алгоритм SOM нашел широкое применение в ГИС-технологиях, поскольку легко реализовать информационную цепочку от исходной таблицы к узлам решетки, а от них – к конкретным координатам на географической карте. Например, участники коллектива «Dublin R Users Group» использовали результаты переписи населения 2011 г., разбили территорию Дублина на 18500 маленьких площадок и описали проживающее на них население с использованием 767 переменных из 15 разделов. На ресурсах (https://www.rbloggers.com, http://www.slideshare.net) доступны полный комплект исходных данных, подробное описание и скрипты R. Основные результаты представлены на рис.

10.25:

Рис. 10.25. Кластерная форма карты SOM и ее отображение на карте Дублина (категории от 1 до 6 связываются с градациями жилой застройки и обеспеченности населения – от трущоб до благополучных элитных районов) Похожий подход использован в программе ScanEx IMAGE Processor v3.6 (http://www.scanex.ru), руководство к которой содержит также достаточно подробное русскоязычное описание техники расчетов и формул, применяемых при обучении SOM.

11. RATTLE: ГРАФИЧЕСКИЙ ИНТЕРФЕЙС R ДЛЯ РЕАЛИЗАЦИИ

АЛГОРИТМОВ DATA MINING

11.1. Начало работы с пакетом rattle Читатель, вероятно, помнит, что удобным средством освоения вычислений в R для начинающего пользователя является R Commander.

Аналогичный платформо-независимый графический интерфейс c кнопками и меню, позволяющий выполнять целый набор алгоритмов Data Mining, реализован в пакете rattle (Williams, 2009, 2011). С помощью этого пакета можно реализовать многие поцедуры обработки данных, не прибегая к предварительному заучиванию функций на командном языке.

Установить пакет rattle, как и любые другие расширения в R, можно командой install.packages("rattle").

В процессе инсталляции загружается графическая динамическая библиотека RGtk2.dll, а также необходимые для работы rattle пакеты cairoDevice и XML.

Интерактивная среда запускается командой 'rattle()'.

Вы можете приступить к работе, загрузив необходимый набор данных, или продолжить сеанс анализа, открыв файл проекта с сохраненной историей Ваших действий:

На приведенном рисунке загружена таблица weather из пакета rattle, содержащая данные наблюдений за погодой на метеорологической станции в г. Канберра, Австралия (24 переменных разного типа в 366 строках).

Таблицы данных (вкладка Data) могут загружаться в среду rattle из следующих источников:

из произвольного текстового файла с разделителями типа.csv (Spreadsheet), или ARFF (Attribute-Relation File Format);

через программный интерфейс доступа к базам данным ODBC (Open Database Connectivity), а также через буфер обмена, из Web, SPSSфайлов и проч.;

из бинарных или обыкновенных файлов.RData, а также к наборам данных любых установленных пакетов (R dataset, RData File, Library).

Для тестирования моделей исходные данные могут быть разделены на обучающую, проверочную и экзаменационную последовательности (на рисунке это соотношение составляет 75/15/15 процентов и может быть изменено в любом соотношении).

Список переменных выводится в нижней части окна и можно определить их роль в дальнейших действиях: они могут быть предикторами, откликом (Target), а также соответствовать весам (Weight), так называемым "переменным риска" (Risk), или игнорироваться (Ignore).

11.2. Описательная статистика и визуализация данных Вкладка Explore с опцией Summary обеспечивает различные варианты вывода выборочных описательных статистик:

Опция Distribution управляет выводом различных комбинаций стандартных графиков R: диаграмм размахов, ядерных и кумулятивных функций распределения, мозаичных диаграмм и проч.

Отображаемые переменные и их пары можно легко выбрать из списка:

Поскольку ранее показатель "Завтра дождь" (RainTomorrow) был установлен как отклик, данные на диаграммах разбиваются по его категориям. В частности, из диаграммы слева видно, что вероятность выпадения дождя на следующий день сопряжена с повышенной минимальной дневной температурой (MinTemp).

Также вполне понятно, что перед дождем наблюдается пониженная солнечная активность (Sunshine):

Вероятно, специалистам будут полезны кумулятивная функция распределения «Скорости порывов ветра» (WindGustSpeed) и мозаичная диаграмма «Изменения направления ветра» (WindGustDir) в зависимости от вероятности предстоящего дождя RainTomorrow:

Аналогично можно выполнить анализ главных компонент (Principial Component) или оценить тесноту корреляционных связей по Пирсону, Кендаллу или Спирмену (Correlation), представив их в виде матрицы коэффициентов или корреляционной дендрограммы:

Применить прекрасный графический пакет GGobi для построения графиков взаимодействия переменных (Interactive) нам не удалось, т.к. в ходе инсталляции куда-то запропастился модуль rggobi.dll.

Вкладка Test позволяет выполнить разнообразные тесты для проверки статистических гипотез относительно двух выборок (или двух переменных из таблицы данных):

отличаются ли выборочные распределения по критерию КолмогороваСмирнова или критерию рангов признаков Уилкоксона?;

различаются ли положения средних занчений по t-критерию или сумме рангов Уилкоксона –Манна–Уитни?;

различны ли их дисперсии по F-критерию?

коррелируют ли две выборки по значению коэффициента Пирсона?

Вкладка Transform включает вполне полный джентльменский набор функций обслуживания и преобразования данных: нормализации, шкалирования, логарифмирования, деления на интервалы (binning), модификации категорий факторов, заполнения пропущенных значений, удаления лишних переменных и др.

Наконец, вкладка Log содержит полный перечень команд R, выполненных на интерактивном уровне, что позволяет скопировать фрагмент скрипта в командную консоль R, внести, например, исправления в детали графика и повторить его вывод в измененном формате.

11.3. Построение и тестирование моделей классификации С использованием интерактивной оболочки Rattle можно построить шесть моделей классификации (вкладка Model), подробно описанных нами в главах 3-8: деревья решений (Tree), случайные леса и бустинг (Forrest и Boost), машину опорных векторов (SVM), линейную модель (Linear) и нейронную сеть (Neural Net).

Для построения моделей разделим всю выборку на две части – обучающую и тестовую – в соотношении 70/30, т.е. отдельно проверочную выборку выделять не будем. Также заблокируем сопутствующие переменные Date и Location.

Начнем с построения традиционных деревьев рекурсивного разделения rpart и построим модель прогнозирования дождя на следующий день RainTomorrow с использованием параметров, принятых по умолчанию:

Построенное дерево основано на трех переменных из 20: облачности (Cloud3pm), атмосферном давлении в 15:00 ч (Pressure3pm), а также количества часов яркого света за день (Sunshine).

Для оценки эффективности модели переходим во вкладку Evaluate:

Построенную модель мы можем оценить по 9 группам показателей.

Кроме того, тестирование можно выполнить как по всей выборке (Full), так и отдельно по обучающей (Training) и экзаменационной (Testing)

–  –  –

Для построения диаграмм риска, как правило, используются дополнительно контрольные наборы данных (audit dataset). Так, для таблицы weather в обучении любой модели классификации могут участвовать две переменные: бинарный отклик RainTomorrow и переменная риска RISK_MM, связанная с мерой вероятности наступления прогнозируемого события, оцененная аудитом для каждого наблюдения.

Наблюдения упорядочивают по убыванию предсказанных для них оценок риска RISK_MM и на оси абсцисс диаграммы последовательно откладывают доля наблюдений (Case load, %), а по оси ординат – доля удачных прогнозов (Perfomance) на основании построенной модели. Линия главной диагонали не связана с какой-либо моделью прогнозирования, т.е.

для 50% наблюдений случайное угадывание окажется верным лишь в 50% случаев. Если использовать предсказанные деревом решений вероятности предстоящего дождя, то мы получим уже 73% случаев верного прогноза.

Сканируя долю наблюдений от 0 до 100%, можно получить также сглаженную диаграмму изменения риска RISK_MM (показана красной пунктирной линией). Пунктирная синяя линия указывает на графике изменение специфичности (precision). Подробности анализа диаграмм риска и других показателей эффективности моделей представлены в монографии по rattle (Williams, 2009, 2011).

Для оценки традиционной AUC можно построить ROC-кривую (ROC) и рассчитать такие критерии, как энтропия H и индекс Джини Gini:

H=0.302928, Gini=0.475765, AUC=0.737882,AUCH=0.741647, KS=0.470588 Точность остальных шести моделей прогнозирования оценивается по тому же принципу и столь подробно далее рассматриваться не будет. Мы приведем только основные характеристики построенных моделей, AUC и точность классификации на тестовой выборке, а в некоторых случаях также информацию о наиболее важных предикторах.

Деревья условного вывода (Сonditional Trees):

Conditional inference tree with 4 terminal nodes Area under ROC curve for ctree model on weather [test] is 0.7379 Overall error: 19%, Averaged class error: 26%

Модель случайного леса (Random Forrest):

Number of trees: 500 No. of variables tried at each split: 4 OOB estimate of error rate: 14.45% Area under ROC curve for rf model on weather [test] is 0.9009 Overall error: 11%, Averaged class error: 22%

–  –  –

Модель бустинга (Ada Boost):

Loss: exponential Method: discrete Iteration: 50 Train Error: 0.047 Out-Of-Bag Error: 0.07 iteration= 37 Area under the ROC curve for ada model on weather [test] is 0.8593 Overall error: 15%, Averaged class error: 20%

Frequency of variables actually used:

Sunshine Pressure3pm Cloud3pm Temp3pm WindGustSpeed

Модель опорных векторов (Support Vector Machine):

SV type: C-svc (classification) parameter : cost C = 1 Gaussian Radial Basis kernel function.

Hyperparameter : sigma = 0.0379412611254591 Number of Support Vectors : 107 Objective Function Value :

-59.5602 Training error : 0.100877 Area under ROC curve for ksvm model on weather[test] is 0.9248 Overall error: 18%, Averaged class error: 38%

Модель логистической регрессии:

Model: binomial, link: logit Response: RainTomorrow Area under ROC curve for the glm model on weather [test] is 0.6597 Overall error: 29%, Averaged class error: 34%

–  –  –

Нейронная сеть прямого распространения сигнала:

Summary of the Neural Net model (built using nnet):

A 62-10-1 network with 703 weights.

Sum of Squares Residuals: 0.0017.

Area under ROC curve for nnet model on weather [test] is 0.6766 Overall error: 25%, Averaged class error: 32% При иных формах представления отклика (в метрической или счетной шкале) возможно также построение обычной или обобщенной модели на основе распределений Гаусса или Пуассона, а также логит- или пробит-моделей для откликов с несколькими классами.

11.4. Дескриптивные модели (обучение без учителя) Кластерный анализ Методы кластерного анализа подробно рассматривались в главе 10, и мы уже не рассчитывали обнаружить в среде rattle какие-то новые сюжеты. Однако, приступив к кластеризации признаков привычного набора наблюдений за погодой в г. Канберра, мы увидели еще не представленный читателям алгоритм EWKM (Entropy Weighted K-Means), который является усовершенствованной версией метода k средних для обработки больших массивов данных.

Отличие алгоритма, реализованного функцией ewkm() из одноименного пакета, заключается в вычислении весов, оценивающих меру относительной важности участия каждой переменной в формировании каждого кластера. Эти веса включаются в функцию расстояния, тем самым уменьшая его для более значимых переменных, и пересчитываются на каждой итерации объединения в кластеры.

Нажатие кнопки Weights приводит к выводу весьма полезной диаграммы, которая для каждой переменной и каждого кластера показывает итоговые относительные веса в стиле "тепловой карты" (реализовано функцией levelplot() из пакета ewkm). Одновременно приведены дендрограммы иерархического объединения в группы как использованных переменных, так и исходных наблюдений, что облегчает проблему выбора числа кластеров.

Нажатие кнопки Discriminant выводит ординационную диаграмму с нанесенной структурой кластеров – продукт использования функции

clusplot():

Ассоциативные правила Подробно механизм формирования ассоциативных правил был рассмотрен нами в разделе 5.4. Здесь мы остановимся на небольшом примере распределения корзины товаров из 10 фильмов на DVD по заявкам 10 покупателей. Цель анализа – обнаружить закономерности формирования заявок.

Исходные данные загрузим из файла dvdtrans.csv, представленном на сайте разработчиков пакета rattle.

Этот файл имеет следующую структуру:

ID,Item 1,Sixth Sense 1,LOTR1 1,Harry Potter1 1,Green Mile 1,LOTR2 2,Gladiator 2,Patriot 2,Braveheart К великому сожалению, русификация названий фильмов приводит к ошибке при выводе ассоциативных правил, поэтому нам придется знакомый всем "Властелин колец" скрывать под непонятной меткой "LOTR".

После загрузки файла и нажатия кнопки Выполнить получаем итоги выполнения алгоритма "Apriory":

Опция Freq Plot выполняет визуализацию графика частотного распределения встречаемости комбинаций (см. рис. 5.4б).

Опция Show Rules приводит к формированию списка найденных ассоциативных правил, отсортированных по уровню поддержки (Support):

–  –  –

Опция Plot выводит знакомый нам по рис.

5.7 граф сформированных правил, где достаточно четко прослеживаются покупательские предпочтения:

Список рекомендуемой литературы Айвазян С.А., Бухштабер В.М., Енюков И.С., Мешалкин Л.Д.

Прикладная статистика: Классификация и снижение размерности М.:

Финансы и статистика, 1989. 607 с.

Айвазян С.А., Мхитарян В.С. Прикладная статистика и основы эконометрии. М.: ЮНИТИ, 1998. 1022 с.

Арапов М.В., Ефимова Е.Н., Шрейдер Ю.А. О смысле ранговых распределений // Науч.-техн. информ. 1975. Сер. 2. № 1. С. 9–20.

Афифи А., Эйзен С. Статистический анализ: Подход с использованием ЭВМ. М.: Мир, 1982. 488 с.

Барсегян А.А., Куприянов М.С., Холод И.И. и др. Анализ данных и процессов. СПб.: БХВ-Петербург, 2009. 512 с.

Бирюкова С. Анализ последовательностей в R: TraMineR. НИУ ВШЭ.

2014. URL: https://www.hse.ru Бокс Дж., Дженкинс Г. Анализ временных рядов. Прогноз и управление.

М.: Мир, 1974. Вып. 1. 406 с.

Бонгард М. М. Проблема узнавания. М.: Наука, 1967. 320 с.

Вайнцвайг М. Н. Алгоритм обучения распознаванию образов «Кора». // Алгоритмы обучения распознаванию образов. Ред. В. Н. Вапник. М.: Сов.

радио, 1973. С. 110-116.

Вапник В.Н. (ред.). Алгоритмы и программы восстановления зависимостей. М.: Наука, 1984. 816 с.

Вапник В.Н., Червоненкис А.Я. Теория распознавания образов. М.:

Наука, 1974. 487 с.

Венэбльз У.Н., Смит Д.М. Введение в R. Заметки по R: среда программирования для анализа данных и графики. Вер. 3.1.0. Москва, 2014. 109 с.

Воробейчик Е.Л. О некоторых индексах ширины и перекрывания экологических ниш // Журн. общ. биологии. 1993. Т. 54, № 6. С. 706-712.

Горбань А.Н., Дунин-Барковский В.Л., Миркес Е.М. и др.

Нейроинформатика. Новосибирск: Наука. Сиб. предприятие РАН, 1998.

296 с.

Горбач А.Н., Цейтлин Н.А. Покупательское поведение: анализ спонтанных последовательностей и регрессионных моделей в маркетинговых исследованиях. Киев: Освiта УкраЇны, 2011. 220 с.

Джеймс Г., Уиттон Д., Хасти Т., Тибширани Р. Введение в статистическое обучение с примерами на языке R. Пер. С.Э. Мастицкого.

М.: ДМК Пресс, 2016. 450 с.

Джонгман Р.Г.Г., тер Браак С.Дж.Ф., ван Тонгерен О.Ф.Р. Анализ данных в экологии сообществ и ландшафтов. М.: РАСХН, 1999. 306 с.

Дрейпер Н., Смит Г. Прикладной регрессионный анализ. М.:

Финансы и статистика. Кн. 1, 1986. 366 с. Кн. 2, 1987. 352 с.

Дэйвисон М. Многомерное шкалирование. Методы наглядного представления данных. М.: Финансы и статистика, 1988. 348с.

Дюк В.А., Самойленко А.П. Data Mining: учебный курс. СПб.: Питер, 2001. 368 с.

Загоруйко Н.Г. Прикладные методы анализа данных и знаний.

Новосибирск: ИМ СО РАН, 1999. 270 с.

Зайцев К.С. Применение методов Data Mining для поддержки процессов управления IT-услугами. М.: МИФИ, 2009. 96 с.

Зарядов И.С. Введение в статистический пакет R: типы переменных, структуры данных, чтение и запись информации, графика. Москва: Изд-во РУДНБ, 2010а. 207 с.

Зарядов И.С. Статистический пакет R: теория вероятностей и математическая статистика. Москва: Изд-во РУДНБ, 2010б. 141 с.

Зиновьев А.Ю. Визуализация многомерных данных. Красноярск:

КГТУ, 2000. 168 с.

Кабаков Р.И. R в действии: Анализ и визуализация данных в программе. М.: ДМК Пресс, 2014. 580 с.

Кендалл М., Стьюарт А. Многомерный статистический анализ и временные ряды. М.: Наука, 1976. 736 с.

Кендалл М., Стьюарт А. Статистические выводы и связи. М.: Наука, 1973. 899 с.

Ким Дж.-О., Мюллер Ч.У., Клекка У.Р. и др. Факторный, дискриминантный и кластерный анализ. М.: Финансы и статистика, 1989.

215 с.

Классификация и кластер. / Под ред. Дж. Вэн-Райзина. М.: Мир, 1980. 390 с.

Кобзарь А.И. Прикладная математическая статистика. Для инженеров и научных работников. М.: Физматлит, 2006. 816 с.

Краскэл Дж.Б. Многомерное шкалирование и другие методы поиска структуры // Статистические методы для ЭВМ / Под ред. К. Энслейна, Э. Рэлстона, Г. С. Уилфа. М.: Наука, 1986. С. 301-347.

Кудрин Б.И. Математика ценозов: видовое, ранговидовое, ранговое по параметру гиперболические Н-распределения и законы Лотки, Ципфа, Парето, Мандельброта // Математический аппарат структурного описания ценозов и гиперболические Н-ограничения. Ценологические исследования.

М.: Центр системн. исслед., 2002. Вып. 19. С. 357-412.

Кшнясев И.А. Анализ обилия организмов: мультимодельный вывод как альтернатива проверки нуль-гипотезы.

// Биологические системы:

устойчивость, принципы и механизмы функционирования. Сб. материалов

III Всеросс. Науч.-практ. Конф. Нижний Тагил, 2010. С. 348-353. URL:

https://www.ipae.uran.ru/user/69.

Лбов Г.С. Методы обработки разнотипных экспериментальных данных. Новосибирск: Наука, 1981. 160 с.

Ллойд Э., Ледерман У. (ред). Справочник по прикладной статистике.

В 2-х т. М.: Финансы и статистика. Т. 1. 1989. 510 с., Т. 2. 1990. 526 с.

Люк Д. Анализ сетей (графов) в среде R. Руководство пользователя.

М.: ДМК Пресс, 2016.

Мастицкий С.Э. Визуализация данных с помощью ggplot2. М.: ДМК Пресс, 2016.

Мастицкий С.Э., Шитиков В.К. Статистический анализ и визуализация данных с помощью R. М.: ДМК Пресс, 2015. 496 с.

URL:

ievbras.ru/ecostat.

Налимов В.В. Теория эксперимента. М.: Наука, 1971. 207 с.

Огнева Д. Пакет “arules” системы R. МГУ им. Ломоносова. 2012.

URL: www.machinelearning.ru Розенберг Г.С. Введение в теоретическую экологию. / В 2-х т.;

Тольятти: Кассандра, 2013. Т. 1. 565 с. URL: ievbras.ru/ecostat Розенберг Г.С., Шитиков В.К., Брусиловский П.М. Экологическое прогнозирование (Функциональные предикторы временных рядов).

Тольятти: ИЭВБ РАН, 1994. 185 c. URL: ievbras.ru/ecostat Самарский А.А. Что такое вычислительный эксперимент? // Наука и жизнь. 1979. № 3. С. 27-33.

Флах П. Машинное обучение. Наука и искусство построения алгоритмов, которые извлекают знания из данных. М.: ДМК Пресс, 2015.

400 с.

Форрестер Дж. Антиинтуитивное поведение сложных систем // Современные проблемы кибернетики. М.: Знание, 1977. С. 9-25.

Хокинс Д., Блейксли С. Об интеллекте. М.: ООО «И.Д.Вильямс», 2007. 204 с.

Храмов Д.А. Сбор данных в Интернете на языке R. М.: ДМК Пресс, 2016.

Хромов-Борисов Н.Н. Синдром статистической снисходительности или значение и назначение p-значения // Телеконференция по медицине, биологии и экологии, 2011. №4. URL: http://tele-conf.ru.

Чубукова И.А. Data Mining. Курс лекций интернет-университета INTUIT, 2006. 328 с.

Шипунов А.Б. и др. Наглядная статистика. Используем R! М.: ДМК Пресс, 2014. 298 с.

Шитиков В.К. Экотоксикология и статистическое моделирование эффекта с использованием R. Тольятти: ИЭВБ РАН, 2016. 149 с.

URL:

ievbras.ru/ecostat.

Шитиков В.К., Зинченко Т.Д., Розенберг Г.С. Макроэкология речных сообществ: концепции, методы, модели. Тольятти: СамНЦ РАН, Кассандра, 2012. 257 с. URL: ievbras.ru/ecostat.

Шитиков В.К., Розенберг Г.С. Рандомизация и бутстреп:

статистический анализ в биологии и экологии с использованием R.

Тольятти : Кассандра, 2014. 314 с. URL: URL: ievbras.ru/ecostat.

Эфрон Б. Нетрадиционные методы многомерного статистического анализа. М.: Финансы и статистика, 1988. 263 с.

Abdi H., Williams L. Principal component analysis // WIREs

Computational Statistics. 2010. V. 2 (4). P. 433-459. URL:

http://onlinelibrary.wiley.com Agrawal R., Srikant R. Fast Discovery of Association Rules. // Proc. of the th 20 Intern. Conf. on VLDB. Santiago, Chile, 1994.

Agresti A. An introduction to categorical data analysis. Wiley. 2007. 372 р.

Anderson D. R. Model-based inference in life sciences: A primer on evidence. Springer, 2008. 184 p.

Banfield J., Raftery A. Model-Based Gaussian and Non-Gaussian Clustering. // Biometrics. V. 49. P. 803-821.

Bates D.M., Watts D.G. Nonlinear Regression Analysis and Its Applications. New-York: John Wiley, 2007. 392 p.

Bezdek J.C. Pattern Recognition with Fuzzy Objective Function Algorithms. New York: Plenum Press, 1981.

Borcard D., Gillet F., Legendre P. Numerical Ecology with R. N.Y.:

Springer, 2011. 306 p.

Box G., Cox D.R. An analysis of Transformation // Journal of Royal Statistical Society B. 1964. V. 26. P. 211-243.

Boyce R.L, Ellison P.C Choosing the best similarity index when performing fuzzy set ordination on binary data // Journal of Vegetation Science.

2001. V. 12. P. 711-720.

Breiman L. Random forests // Machine Learning. 2001. V. 45 (1). P. 5-32.

Breiman L., Friedman J.H., Olshen R.A. et al. Classication and Regression Trees. Belmont (CA): Wadsworth Int. Group, 1984. 368 p.

Burnham K.P., Anderson D.R. Model selection and multimodel inference:

a practical information-theoretic approach. N.Y.: Springer-Verlag, 2002. 496 p.

Cameron A.C, Trivedi P.K. Regression Analysis of Count Data.

Cambridge University Press, Cambridge. 2013.

Chiu YW. Machine learning with R. Cookbook. Packt Publishing, 2015.

Cristianini N., Shawe-Taylor J. An Introduction to Support Vector Machines and Other Kernel-based Learning Methods. Cambridge University Press, 2000.

Davison A.C., Hinkley D.V. Bootstrap methods and their application.

Cambridge: Cambridge University Press, 2006. 592 p.

De'Ath G. Multivariate regression trees: a new technique for modeling species environment relationships // Ecology. 2002. V.83. P. 1105-1117.

Delgado M.F., Cernadas E., Barro S., Amorim D. Do we Need Hundreds of Classifiers to Solve Real World Classification Problems? // Journal of Machine Learning Research. 2014. V. 15. P. 3133-3181.

Edgington E.S. Randomization tests. N.Y.:Marcel Dekker, 1995. 341 p.

Everitt B.S., Howell D.C. Encyclopedia of Statistics in Behavioral Science. Chichester: Wiley & Sons Ltd., 2005. 2132 p.

Faraway J.J. Extending the Linear Model with R: Generalized Linear, Mixed Eects and Nonparametric Regression Models. Chapman, Hall/CRC, 2006. 345 p.

Fox J. Applied Regression Analysis and Generalized Linear Models, 2nd ed. Sage Publications, 2008.

Gabadinho A., Ritschard G., Muller N.S., Studer M. Analyzing and Visualizing State Sequences in R with TraMineR. // Journal of Statistical Software. 2011. V.40 (4). p. 1-37. URL: http://www.jstatsoft.org/v40/i04/.

Gabadinho A., Ritschard G., Muller N.S., Studer M. Mining sequence data in R with the TraMineR package: A user's guide. University of Geneva, Switzerland. 2011а. URL: http://mephisto.unige.ch/traminer/ Gibb S., Strimmer K. Differential protein expression and peak selection in mass spectrometry data by binary discriminant analysis. // Bioinformatics. 2015.

31(19), 3156–3162. URL: http://strimmerlab.org/software/binda Glur C. data.tree sample applications. 2016. URL: http://ipub.com/ Goddard M.J., Hinberg I. Receiver operator characteristic (ROC) curves and non-normal data: An empirical study. // Statistics in Medicine. 1989. Vol. 9 (3). P. 325–337.

Hahsler M., Grun B, Hornik K., Buchta C. Introduction to arules – A computational environment for mining association rules and frequent item sets.

URL: https://cran.r-project.org Hand D. Classifier Technology and the Illusion of Progress // Statistical Science. 2006. V. 21. P. 1-14.

Hastie T., Tibshirani R., Friedman J. The Elements of Statistical Learning: Data Mining, Inference and Prediction. N.Y.: Springer-Verlag, 2009.

763 p

Hunt E.B., Marin J., Stone P.J. Experiments in Induction. New York:

Academic Press, 1966.

Kassambara A. Practical Guide to Cluster Analysis in R: Unsupervised Machine Learning. Statistical tools for high-throughput data analysis STHDA,

2017. URL: http://www.sthda.com/ Kaufman L., Rousseeuw P.J. Finding Groups in Data. An Introduction to Cluster Analysis. Hoboken (NJ): Wiley & Sons Inc., 2005. P. 342.

Kohonen T. Self-organized formation of topologically correct feature maps // Biological Cybernetics. 1982. № 43. P. 59-69.

Kruskal J.B. Multidimensional Scaling by Optimizing Goodness-of-Fit to a Nonmetric Hypothesis. // Psychometrika. 1964. V. 29. P. 1–28.

Kuhn M. Building Predictive Models in R Using the caret Package // Journal of Statistical Software. 2008. V. 5. P. 113-142. DOI 10.18637/jss.v028.i05

Kuhn M. Predictive Modeling with R and the caret Package. 2013. URL:

https://www.r-project.org/

Kuhn M. Variable Selection Using The caret Package. 2012. URL:

http://citeseerx.ist.psu.edu Kuhn M., Johnson K. Applied Predictive Modeling. Springer-Verlag NewYork, 2013. 574 p.

Kursa M., Rudnicki W. Feature Selection with the Boruta Package // Journal of Statistical Software. 2010. V.36 (11). P. 2-12.

Le S., Josse J, Husson F. FactoMineR: An R Package for Multivariate Analysis // Journal of Statistical Software. 2008. V. 25 (1).

Legendre P, Legendre L. Numerical Ecology. Amsterdam: Elsevier Sci.

BV, 2012.

Legendre P., Gallagher E. Ecologically meaningful transformations for ordination of species data // Oecologia. 2001. V. 129. P. 271-280.

Leskovec J., Rajaraman A., Ullman J. The Mining of Massive Datasets.

Cambridge University Press. 2014. URL: http://www.mmds.org/#book Loh W.-Y, Shih Y.-S. Split selection methods for classification trees. // Statistica Sinica1997. V. 7. Р. 815-840.

MacQueen J. Some methods for classification and analysis of multivariate observations. // The Fifth Berkeley Symposium on Mathematical Statistics and Probability. eds L.M. Le Cam, J. Neyman. Berkeley, CA: University of California Press. 1967. P. 281–297.

Maindonald J., Braun W.J. Data Analysis and Graphics Using R.

Cambridge: University Press, 2010. 525 p.

McArdle B.H., Anderson M.J. Fitting multivariate models to community data: a comment on distance-based redundancy analysis // Ecology. 2001. V. 82, № 1. P. 290-297.

McCune B., Grace J.B., Urban D.L. Analysis of Ecological Communities.

Gleneden Beach (OR): MjM Software, 2002. 285 p.

Mitchell M. An Introduction to Genetic Algorithms. Cambridge, MA:

MIT Press. 1996.

Mount J., Zumel N. Exploring Data Science. Manning Publications Co., 2016. 184 p.

Mount J., Zumel N. Practical Data Science with R. Manning Publications Co., 2014. 416 p.

Myers W.L., Patil G.P. Multivariate Methods of Representing Relations in R for Prioritization Purposes: Selective Scaling, Comparative Clustering, Collective Criteria, and Sequenced Sets. N.-Y.: Springer, 2012. 297 р.

Oksanen J., Blanchet F.G., Kindt R. et al. vegan: Community Ecology Package. R package version 2.0-2. 2011. URL: https://cran.r-project.org/.

Posthuma L., Suter G.W.H., Traas T.P. Species Sensitivity Distributions in Ecotoxicology. CRC Press, 2001. 616 p.

Quinlan J.R. Induction of Decision Trees. // Mach. Learn. 1986. V. 1 (1).

P. 81-106 Ripley B.D. Pattern Recognition and Neural Networks. Cambridge University Press, 1996.

Sakurai S. Theory and Applications for Advanced Text Mining. InTech Chapters published, 2012. URL: http://www.intechopen.com/ Serneels S., Van Espen P., De Nolf E. Spatial sign preprocessing: a simple way to impart moderate robustness to multivariate estimators. // J. Chem. Inf.

Model. 2006. V. 46 (3). P. 1402-1409 Shimodaira H. An approximately unbiased test of phylogenetic tree selection // Syst. Biol. 2002. V. 51. P. 492-508.

Stanton JM. Introduction To Data Science. Syracuse University, 2013.

Torgo L. Data mining with R : learning with case studies. Chapman & Hall/CRC, 2011. 272 p.

Vapnik V.N. The Nature of Statistical Learning Theory. Springer, 1995 Wang W., Yang J. Mining Sequential Patterns from Large Data Sets. N.Y.: Springer, 2005. 162 р.

Williams G. Data Mining with Rattle and R: The Art of Excavating Data for Knowledge Discovery. N.-Y.: Springer, 2011. 365 р.

Williams G. Rattle: A Data Mining GUI for R // Journal of Statistical Software. 2009. V. 2(1). P. 45-55. URL: http://journal.r-project.org Wood S.N. Generalized Additive Models: An Introduction with R.

Chapman, Hall/CRC, 2006. 410 p.

Chiu Y-W. (Chiu D.). Machine Learning with R Cookbook. Packt Publising, 2015. 405 p.

Zacharski R. A Programmer’s Guide to Data Mining. 2015. URL:

http://guidetodatamining.com/ Zafarani R., Abbasi M., Liu H. Social Media Mining. An Introduction.

Cambridge University Press, 2014. URL: http://dmml.asu.edu/smm/ Zaki M., Meira W. Data Mining and Analysis. Fundamental Concepts and

Algorithms. Cambridge University Press, 2014. URL:

http://www.dataminingbook.info/ Zeileis A., Kleiber C., Jackman S. Regression Models for Count Data in R.

// Journal of Statistical Software. 2008. V. 27(8). URL: https://www.jstatsoft.org Zhao Y. R and Data Mining: Examples and case studies. Academic Press, 2012. 256 p.

Zhao Y., Zhang C., Cao L. Post-Mining of Association Rules:

Techniques for Effective Knowledge Extraction. Information Science Reference.

2009.

Zhao Y., Cen Y. Data Mining Applications with R. Academic Press, 2014.

470 p.

Zuur A. F., Ieno E.N., Walker N. et al. Mixed Effects, Models and

Extensions in Ecology with R. Berlin: Springer Sci., 2009. 574 p. URL:

www.highstat.com Приложение

R: Справочная карта по Data Mining

Приведена по Yanchang Zhao, yanchang@rdatamining.com (с незначительными изменениями и дополнениями). Последнюю версию см. на http://www.RDataMining.com.

Имена пакетов представлены в круглых скобках с подчеркиванием. Рекомендуемые пакеты и функции показаны жирным шрифтом.

–  –  –

Описательная статистика (Summarization) summary() обобщение результатов describe() краткие описательные статистики данных (Hmisc) boxplot.stats() диаграммы размахов (box plot) и сопряженные с ними статистики Дисперсионный анализ (Analysis of Variance) aov() оценивание и вывод таблицы дисперсионного анализа anova() расчет таблицы анализа дисперсий (или девианса) для одной или более моделей Статистические тесты (Statistical Tests) chisq.test() тест хи-квадрат для таблиц сопряженности и оценки качества подгонки моделей ks.test() тест Колмогорова-Смирнова t.test() тест по t -критерию Стьюдента prop.test() тест на значимость заданной пропорции или их эквивалентность binom.test() точный биномиальный тест

–  –  –

Модели со смешанными эффектами (nlme) (Mixed Effects Models) lme(), nlme() линейные и нелинейные модели со смешанными эффектами Principal Components and Factor Analysis princomp(), анализ главных компонент и факторный анализ prcomp() Обнаружение выбросов (Outlier Detection) boxplot.stats() перечень наблюдений, выходящих за пределы интервала, $out

–  –  –

Прочие функции var(), cov(), дисперсия, ковариация, корреляция cor() density() вычисление оценки ядерной плотности cmdscale() многомерное шкалирование (MDS)

–  –  –

Преобразование и отображение (Construction & Plot) ts() создание объектов класса "временной ряд" plot.ts() метод для визуализации объектов класса "временной ряд" smoothts() сглаживание временных рядов (ast) sfilter() удаление сезонных флуктуаций с использованием скользящего среднего (ast) Декомпозиция (Decomposition) decomp() декомпозиция временного ряда по фильтру квадратного корня (timsac) decompose() классическая сезонная декомпозиция по скользящему среднему stl() сезонная декомпозиция временного ряда по локальной регрессии tsr() декомпозиция временного ряда (ast) ardec() декомпозиция временного ряда по авторегрессии (ArDec) Прогнозирование (Forecasting) arima() построение моделей ARIMA для одномерного временного ряда predict.Arima() прогнозируемые значения по моделям ARIMA auto.arima() подгонка оптимальной модели ARIMA для одномерного ряда (forecast) forecast.stl(), прогнозирование ряда с использованием STL, ETS и ARIMA forecast.ets(), моделей (forecast) forecast.Arima() Корреляция и ковариация (Correlation and Covariance) acf() автокорреляция и автоковариация временного ряда ccf() кросс-ковариация и кросс-корреляция двух одномерных временных рядов Пакеты forecast анализ и визуализация прогнозов одномерного временного ряда hts анализ и прогнозирование иерархических и сгруппированных рядов TSclust функции для кластеризации временных рядов dtw динамическая трансформация шкалы времени (Dynamic Time Warping, DTW) timsac функции для анализа и преобразования временных рядов ast анализ временных рядов ArDec декомпозиция временного ряда, основанная на авторегрессии dse средства для создания многомерных, линейных и инвариантных моделей временных рядов

ФУНКЦИИ ДЛЯ ВЫДЕЛЕНИЯ АССОЦИАТИВНЫХ ПРАВИЛ И ПАТТЕРНОВ

ПОСЛЕДОВАТЕЛЬНОСТЕЙ

(ASSOCIATION RULES AND SEQUENTIAL PATTERNS FUNCTIONS)

apriori() поиск ассоциаций по алгоритму APRIORI, который последовательно подсчитывает частоты одновременно происходящих событий, априори отсекая маловероятные (arules) eclat() поиск частых наборов событий по алгоритму Eclat, который перебирает классы эквивалентности и их пересечения (arules) cspade() поиск частых фрагментов последовательностей по алгоритму cSPADE (arulesSequences) seqefsub() поиск частых подпоследовательностей (TraMineR) Пакеты arules поиск частых, максимальных или закрытых наборов событий и ассоциативных правил с использованием двух алгоритмов:

Apriori и Eclat.

arulesViz визуализация ассоциативных правил arulesSequences дополнение к arules для обработки и выделения частых последовательностей TraMineR поиск, описание и визуализация последовательностей объектов или событий

КЛАССИФИКАЦИЯ И ПРЕДСКАЗАНИЕ (CLASSIFICATION & PREDICTION)

Деревья решений (Decision Trees) ctree() деревья условного вывода, рекурсивное разбиение для непрерывных, цензурированных, упорядоченных, категориальных и многомерных откликов в рамках условного вывода (party) rpart() деревья рекурсивного разбиения и регрессии (rpart) mob() рекурсивное разбиение, приводящее к созданию деревьев, конечные узлы которого содержат статистические модели для соответствующих поднаборов данных (party) varimp() важность предикторов (party) Случайный лес (Random Forest) cforest() ансамбли моделей, создаваемые с использованием алгоритмов "случайный лес" и "бэггинг" (party) randomForest() случайный лес (randomForest) importance() важность предикторов (randomForest) Нейронные сети (Neural Networks) nnet() построение нейронной сети с одним скрытым слоем (nnet) neuralnet() обучение нейронных сетей (neuralnet) mlp(), dlvq(), rbf(), различные типы нейронных сетей (RSNNS) rbfDDA(), elman(), jordan(), som(), art1(), art2(), artmap(), assoz() Машины опорных векторов (Support Vector Machine - SVM) svm() обучение машины опорных векторов для регрессии, классификации или оценки плотности вероятности (e1071) ksvm() машины опорных векторов (kernlab) Байесовские классификаторы (Bayes Classifiers) naiveBayes() наивный баейсовский классификатор (e1071) Оценка эффективности моделей (Performance Evaluation) performance() рассчитывает различные меры качества предсказательных моделей (ROCR) PRcurve() кривые чувствительности и специфичности классификатора (DMwR) CRchart() графики кумулятивной чувствительности классификатора (DMwR) roc() построение ROC-кривых (pROC) auc() вычисление площади под ROC-кривой (pROC) ROC() визуализация ROC-кривой (DiagnosisMed)

–  –  –

mona() иерархический кластерный анализ на основе разделения для данных, представленных только бинарными переменными (cluster) rockCluster() кластеризация с использованием алгоритма Rock (cba) proximus() кластеризация на основе алгоритма Proximus для данных, представленных только бинарными переменными (cba) isopam() алгоритм кластеризации Isopam (isopam) flashClust() оптимальная иерархическая кластеризация (flashClust) fastcluster() быстрая иерархическая кластеризация (fastcluster cutreeDynamic(), выделение кластеров на дендрограммах (dynamicTreeCut) cutreeHybrid() Hierarchical иерархическая кластеризация с одновременным нахождением SparseCluster() информативных переменных (sparcl) Модели, основанные на кластерах (Model based Clustering) Mclust() кластеризация на основе статистических моделей (mclust) HDDC() кластеризация на основе статистических моделей для данных большой размерности (HDclassif ) fixmahal() кластеризация с использованием фиксированных точек и расстояния Махаланобиса (fpc) fixreg() кластеризация на основе регрессии по фиксированным точкам (fpc) mergenormals() кластеризация, основанная на слиянии компонент смешанного гауссова распределения (fpc) Кластеризация, основанная на плотности (Density based Clustering) Формирование кластеров путем объединения участков с плотным расположением точек dbscan(data, нахождение кластеров произвольной формы с использованием eps, MinPts,…) параметров eps (радиус, в пределах которого лежат точкисоседи) и MinPts (пороговое значение плотности расположения точек) (fpc) pdfCluster() кластеризация на основе ядерной плотности вероятности (pdfCluster) Другие техники кластеризации (Other Clustering Techniques) mixer() кластеризация на основе случайных графов (mixer) nncluster() быстрая кластериазация на основе алгоритма "restarted minimum spanning tree" (nnclust) orclus() кластеризация на основе алгоритма ORCLUS (orclus) Отображение результатов кластеризации (Plotting Clustering Solutions) plotcluster() визуализация групп данных (fpc) bannerplot() горизонтально ориентированный "биплот", изображающий результат иерархической кластеризации (cluster) Оценка качества кластеризации (Cluster Validation) silhouette() вычисление и извлечение информации по "силуэтам" кластеров (cluster) cluster.stats() вычисление нескольких статистик качества кластеризации на основе матрицы расстояний (fpc)

–  –  –

Обнаружение часто встречающихся термов и ассоциаций (Frequent Terms and Association) findAssocs() находит связи между термами в терм-документных матрицах (tm) findFreqTerms() находит часто встречающиеся термы в терм-документных матрицах (tm) termFreq() формирование вектора с частотами термов для заданного документа (tm)

–  –  –

Пакеты igraph анализ и визуализация графов sna анализ социальных сетей d3Network, R-интерфейс к JavaScript-библиотеке D3 для построения графов, networkD3 деревьев, дендрограмм и диаграмм Санки RNeo4j взаимодействие с базами данных Neo4j из среды R statnet набор инструментов для описания, визуализации, анализа и имитации графов меры центральности для анализа социальных сетей egonet network инструменты для создания и модификации графов bipartite визуализация двураздельных графов и вычисление некоторых описательных статистик blockmodeling обобщенное и классическое моделирование блоков в размеченных графах diagram визуализация простых графов (сетей), построение потоковых диаграмм NetCluster кластеризация элементов графа NetData наборы данных к лабораторным работам по анализу социальных сетей с помощью R от McFarland et al.

NetIndices расчет различных индексов, включая индексы для описания структуры пищевых сетей NetworkAnalysis оценка статистических различий между взвешенными или невзвешенными графами tnet анализ взвешенных, бимодальных и динамических графов

–  –  –

plotGoogleMaps() визуализация пространственных данных на картах Google Maps (plot-GoogleMaps) qmap() быстрое построение карт (ggmap) get_map() запросы к сервисам Google Maps, OpenStreetMap, или Stamen Maps для построения карт (ggmap) gvisGeoChart(), гео-диаграммы и карты от Google (googleVis) gvisGeoMap(), gvisIntensityMap(), gvisMap() GetMap() загрузка статичной карты с сервера Google (RgoogleMaps) ColorMap() цветовое кодирование и изображение уровней некоторой переменной на карте (RgoogleMaps) PlotOnStaticMap() совмещение графиков с географическими картами (RgoogleMaps) TextOnStaticMap() нанесение текстовых меток на карты (RgoogleMaps) Пакеты plotGoogleMaps визуализация пространственных данных на картах Google Maps и сохранение результатов в виде HTML-виджетов RgoogleMaps работа с картами Google Maps в R ggmap визуализация пространственных данных с использованием сервисов Google Maps и OpenStreetMap plotKML визуализация пространственных и пространственно-временных объектов с использованием сервиса Google Earth SGCS кластеризация геоинформационных данных с использованием пространственных графов spdep инструменты для поиска пространственных зависимостей

ГРАФИЧЕСКИЕ ФУНКЦИИ (GRAPHICS FUNCTIONS)

plot() функция общего назначения для визуализации данных barplot(), pie(), столбиковые диаграммы, круговые диаграммы и hist() гистограммы boxplot() диаграммы размахов stripchart() одномерные диаграммы рассеяния dotchart() точечная диаграмма Кливленда qqnorm(), графики квантиль-квантиль qqplot(), qqline() coplot() категоризованные графики splom() категоризованные матрицы диаграмм рассеяния (lattice) pairs() матрицы диаграмм рассеяния cpairs() улучшенные матрицы диаграмм рассеяния (gclus) parcoord() диаграммы параллельных координат (MASS) cparcoord() улучшенные диаграммы параллельных координат (gclus) parallelplot() диаграммы параллельных координат (lattice) densityplot() график ядерной функции плотности (lattice) contour(), контурные диаграммы filled.contour() levelplot(), контурные диаграммы (lattice) contourplot() mosaicplot() мозаичная диаграмма assocplot() диаграмма ассоциаций smoothScatter() диаграммы рассеяния с цветным представлением плотности вероятности; позволяют визуализировать большие массивы данных sunflowerplot() диаграмма рассеяния типа "подсолнух" matplot() изображение столбцов одной матрицы в зависимости от столбцов другой матрицы fourfoldplot() визуализация таблиц сопряженности размером 22k persp() трехмерные диаграммы поверхностей cloud(), трехмерные диаграммы рассеяния и диаграммы wireframe() поверхностей (lattice) interaction.plot() график взаимодействий между двумя переменными iplot(), ihist(), интерактивные диаграммы рассеяния, гистограммы, ibar(), ipcp() столбиковые диаграммы и диаграммы параллельных координат (iplots) pdf(), сохранение графиков в файлах разных форматов postscript(), win.metafile(), jpeg(), bmp(), png(), tiff() gvisAnnotatedTimeLine(), gvisAreaChart(), gvisBarChart(), gvisBubbleChart(), gvisCandlestickChart(), gvisColumnChart(), gvisComboChart(), gvisGauge(), gvisGeoChart(), gvisGeoMap(), gvisIntensityMap(), gvisLineChart(), gvisMap(), gvisMerge(), gvisMotionChart(), gvisOrgChart(), gvisPieChart(), gvisScatterChart(), gvisSteppedAreaChart(), gvisTable(), gvisTreeMap() различные интерактивные диаграммы, созданные с использованием Google Visualisation API (googleVis) Пакеты ggplot2 реализация принципов "грамматики графических элементов" ggvis интерактивный вариант реализации принципов "грамматики графических элементов" googleVis интерфейс между R и Google Visualisation API для создания интерактивных диаграмм d3Network, R-интерфейс к JavaScript-библиотеке D3 для построения графов, networkD3 деревьев, дендрограмм и диаграмм Санки rCharts создание интерактивных диаграмм с использованием различных JavaScript-библиотек lattice продвинутая высокоуровневая система для визуализации данных с упором на многомерные данные vcd визуализация категориальных данных iplots интерактивные диаграммы

ПРЕОБРАЗОВАНИЕ ДАННЫХ (DATA MANIPULATION)

transform() преобразование таблицы данных scale() центрирование и нормирование столбцов матриц и таблиц t() транспонирование матриц aperm() транспонирование массивов table(), формирование сводных таблиц tabulate(), xtabs() stack(), объединение и декомпозиция векторов в соответствии с unstack() уровнями некоторого фактора split(), разбиение данных на группы в соответствии с уровнями unsplit() некоторого фактора(-ов) и обратная этому операция reshape() конвертирование таблицы данных в "широкий" или "длинный" формат merge() слияние двух таблиц данных (подобно join-операциям в базах данных) aggregate() вычисление сводных статистик для отдельных групп данных by() применение произвольной функции к таблице данных, разбитой на группы в соответствии с уровнями некоторого фактора(-ов) melt(), cast() разбиение таблицы данных на составляющие элементы с последующим формированием новой таблицы с измененной формой и/или содержимым (reshape) sample() формирование случайных выборок complete.cases() обнаружение записей в таблице данных, которые не содержат пропущенных значений na.fail, обработка пропущенных значений na.omit, na.exclude, na.pass Пакеты dplyr высокоэффективный набор утилит со стандартизованным синтаксисом для работы с таблицами данных reshape гибкий инструмент для изменения формы таблиц данных и их агрегирования reshape2 усовершенствованная версия пакета reshape tidyr результат дальнейшего усовершенствования пакета reshape2;

позволяет легко изменять форму таблиц данных при помощи функций spread() и gather() data.table набор утилит для высокоэффективной работы с таблицами данных (индексирование, join-операции с сохранением порядка, присваивание значений, группирование и т.д.) gdata различные утилиты для манипуляций с данными lubridate набор функций для работы с датами и временем stringr набор функций для работы с символьными данными

ФУНКЦИИ ДОСТУПА К ДАННЫМ (DATA ACCESS FUNCTIONS)

save(), load() сохранение и загрузка объектов типа RData read.csv(), импорт и экспорт файлов формата.csv write.csv() read.table(), импорт и экспорт данных write.table(), scan(), write() read.xlsx(), импорт и экспорт Excel-файлов (xlsx) write.xlsx() read.fwf() ипорт данных, которые хранятся в виде файлов с фиксированной шириной по лей write.matrix() экспорт матрицы или таблицы данных (MASS) readLines(), запись и чтение текстовых строк из файла writeLines() sqlQuery() выполенение SQL-запросов к базе данных ODBC (RODBC) sqlFetch() чтение таблицы из базы данных ODBC (RODBC) sqlSave(), сохранение и обновление таблиц в базе данных ODBC (RODBC) sqlUpdate() sqlColumns() выяснение структуры таблиц в базе данных (RODBC) sqlTables() получение списка таблиц, имеющихся в базе данных (RODBC) odbcConnect(), открытие и закрытие соединения с базой данных ODBC (RODBC) odbcClose(), odbcCloseAll() dbSendQuery выполенение SQL-запроса к базе данных (DBI) dbConnect(), открытие и закрытие соединения с системой управления базами dbDisconnect() данных (DBI) Пакеты RODBC доступ к базам данных ODBC foreign чтение и запись данных в сторонних форматах, таких как Minitab, S, SAS, SPSS, Stata, Systat и др.

sqldf выполнение SQL-подобных SELECT-запросов к таблицам R DBI DBI-интерфейс между R и реляционными DBMS RMySQL драйвер для соединения с базами данных MySQL RJDBC доступ к базам данным через интерфейс JDBC RSQLite драйвер для соединения с базами данных RSQLite ROracle DBI-драйвер для соединения с базами данных Oracle RpgSQL DBI/RJDBC-интерфейс для работы с базами данных PostgreSQL RODM интерфейс для работы с Oracle Data Mining xlsx чтение и запись файлов в форматах Excel 97/2000/XP/2003/2007 xlsReadWrite чтение и запись Excel-файлов WriteXLS создание файлов формата Excel 2003 (xls) из таблиц данных R SPARQL SPARQL-драйвер для выполнения запросов SELECT и UPDATE

ФУНКЦИИ ДОСТУПА К ДАННЫМ ЧЕРЕЗ ВЕБ-ИНТЕРФЕЙС

(WEB DATA ACCESS FUNCTIONS)

download.file() загрузка файлов из Интернета xmlParse(), разбор файлов XML и HTML (XML) htmlParse() userTimeline(), извлечение разнотипных данных из сети Twitter (twitteR) homeTimeline(), mentions(), retweetsOfMe() searchTwitter() поиск в сети Twitter по поисковой фразе (twitteR) getUser(), получение информации о пользователе сети Twitter lookupUsers() (twitteR) getFollowers(), получение списка фоловеров и друзей (или их getFollowerIDs(), идентификаторов) того или иного пользователя сети Twitter getFriends(), (twitteR) getFriendIDs() twListToDF() конвертирование списков twitteR в стандартные таблицы данных (twitteR) Пакеты twitteR набор утилит для работы с Twitter API RCurl R-клиент для выполнения запросов по стандартным сетевымпротоколам (HTTP/FTP/...)

–  –  –

ФУНКЦИИ ДЛЯ ВЗАИМОДЕЙСТВИЯ С ИНСТРУМЕНТАМ ОБРАБОТКИ

"БОЛЬШИХ ДАННЫХ" MAPREDUCE, HADOOP И SPARK

mapreduce() спецификация и выполнение задач MapReduce (rmr2) keyval() создание объектов типа "ключ – значение" (rmr2) from.dfs(), to.dfs() чтение и запись объектов R при работе со сторонними файловыми системами (rmr2) hb.get(), hb.scan(), чтение таблиц HBase (rhbase) hb.get.data.frame() hb.insert(), запись таблиц HBase (rhbase) hb.insert.data.frame() hb.delete() удаление записей из таблиц HBase (rhbase) Пакеты rmr2 анализ данных в среде R в стиле MapReduce на Hadoop-кластере rhdfs соединение с Hadoop Distributed File System (HDFS) rhbase соединение с NoSQL базой данных HBase Rhipe инструменты для работы с Hadoop из среды R SparkR тонкий R-клиент для работы с Apache Spark RHive распределенные вычисления на основе запросов к HIVE Segue выполнение параллельных вычислений с использованием облачного сервиса Amazon Elastic Map Reduce (EMR) HadoopStreaming утилиты для использования R-скриптов при обработке потоковых данных на Hadoop-кластере hive распределенные вычисление, основанные на парадигме MapReduce rHadoopClient R-клиент для работы Hadoop

–  –  –

Пакеты ff хранение больших массивов данных на диске с эффективным использованием памяти, а также набор функций для быстрого доступа к таким данным ffbase стандартные статистические функции для пакета ff filehash простая база данных типа "ключ – значение" для работы с большими массивами данных g.data создание и поддержка пакетов для работы с данными типа "delayed data" BufferedMatrix объекты для хранения матриц с данными во временных файлах biglm регрессионный анализ для данных, которые не помещаются в памяти компьютера bigmemory набор утилит для работы с матрицами данных очень большого объема biganalytics расширение пакета bigmemory, содержащее дополнительный набор аналитических функций bigtabulate table-, tapply-, и split-подобные функции для работы с объектами классов matrix и big.matrix

ПАРАЛЛЕЛЬНЫЕ ВЫЧИСЛЕНИЯ

Функции для организации параллельных вычислений sfInit(), запуск и завершение работы вычислительного кластера sfStop() (snowfall) sfLapply(), параллельные версии функций lapply(), sapply(), sfSapply(), apply() (snowfall) sfApply() foreach(...) параллельное выполнение циклов (foreach) %dopar% registerDoSEQ(), регистрация последовательного, SNOW и многопоточного registerDoSNOW(), бэк-энда для выполнения параллельных вычислений с registerDoMC() помощью пакета foreach (foreach, doSNOW, doMC)

–  –  –

ИНТЕРФЕЙС К WEKA И ДРУГИМ ЯЗЫКАМ ПРОГРАММИРОВАНИЯ

(INTERFACE TO WEKA AND OTHER PROGRAMMING LANGUAGES FUNCTIONS)

Пакет RWeka – это R-интерфейс к Weka, который позволяет работать с функциями Weka из среды R:

Ассоциативные правила: Apriori(), Tertius() Регрессия и классификация: LinearRegression(), Logistic(), SMO() "Ленивые" классификаторы: IBk(), LBR() Мета-классификаторы: AdaBoostM1(), Bagging(), LogitBoost(), MultiBoostAB(), Stacking(), CostSensitiveClassifier() Классификаторы на основе правил: JRip(), M5Rules(), OneR(), PART() Деревья классификации и регрессии: J48(), LMT(), M5P(), DecisionStump() Кластеризация: Cobweb(), FarthestFirst(), SimpleKMeans(), XMeans(), DBScan() Фильтры: Normalize(), Discretize() Стемминг слов: IteratedLovinsStemmer(), LovinsStemmer() Токенайзеры: AlphabeticTokenizer(), NGramTokenizer(), WordTokenizer()

–  –  –

ССЫЛКИ НА ОБУЧАЮЩИЕ РЕСУРСЫ В ИНТЕРНЕТЕ

Веб-сайт RDataMining: http://www.rdatamining.com http://www2.rdatamining.com RDataMining группа в LinkedIn http://group.rdatamining.com или (20,000+ подписчиков): https://www.linkedin.com/groups/4066593 RDataMining в сети Twitter @RDataMining (2,500+ фоловеров):

Проект RDataMining на сайте R- http://www.rdatamining.com/package

Pages:     | 1 |   ...   | 3 | 4 ||

Похожие работы:

«НАУКОВЕ ПІЗНАННЯ: МЕТОДОЛОГІЯ ТА ТЕХНОЛОГІЯ 1(30) 2013 57 © Закревский В. Э негативне несхвалення їх, з чого виникає необхідність змінити цю структуру в доцільну для суспільства сторону" [5; С. 99]. Ще одним ключовим...»

«Инструкция к пульту jvc rm c470 2-04-2016 1 Локационная реставрация куда-либо вторгается посереди бордюра. Экспансивная генеральша слабодушия — это, по сути, черно сколачивающий. Октет неисправимо не рвется пред не сточенной ветреницей. Дебильная эпидемиология начнет оригинальничать промежду нирваной, хотя иногда кабриолет дряб...»

«ПРОГРАММА РЕГИОНАЛЬНЫХ МОРСКИХ КОМПЛЕКСНЫХ ИНЖЕНЕРНО-ГЕОЛОГИЧЕСКИХ ООО "РН-ШЕЛЬФ-АРКТИКА" ИЗЫСКАНИЙ НА ЛИЦЕНЗИОННОМ УЧАСТКЕ "ХАТАНГСКИЙ" Краткое описание намечаемой деятельности Краткое описание намечаемой деятельности по Программе региональных морских комплексных инженерно-геологических изысканий на лицензионном участк...»

«МУЛЬТИВАРКА-СКОРОВАРКА PPMC 0124D хлебопечка чайник PBM 1501D PWK 1507CGD блендер пароварка PTB 0203G PFS 0308D мультиварка-скороварка PPMC 0124D Линия инновационной техники WHITE NIGHT от Мультиварка-cкороварка POLARIS PPMC 0124D бытовая электрическая Инструк...»

«Т. В. Пентковская, А. А. Индыченко, Е. В. Федорова К изучению толковой традиции домонгольского периода: Апостол и Евангелие с толкованиями П ервый перевод Апостола с толкованиями (далее — ТА-1) включает в себя текст Павловых и Соборных по...»

«Приложение №2 к Годовому отчету ОАО "Группа "Илим" за 2007 год Список совершенных ОАО "Группа "Илим" в 2007 году сделок, в совершении которых имеется заинтересованность 1 Решением единственного акционера ОАО "Группа "Илим" (Решение №5-1/2007 от 25.06.07г.) были одобрены следующие слеки с...»

«Том 9, №1 (январь февраль 2017) Интернет-журнал "НАУКОВЕДЕНИЕ" publishing@naukovedenie.ru http://naukovedenie.ru Интернет-журнал "Науковедение" ISSN 2223-5167 http://naukovedenie.ru/ Том 9, №1 (2017) http://naukovedenie.ru/vol9-1...»

«Архив Санкт-Петербургского отделения Института востоковедения РАН. Ф. 121. On. 1. Д. 227. Л. 9. Со слов бартангцев, живущих в нынешнем Рушанском р-не Горно-Бадахшанской автономной обл., Л.Ф. Моногарова писала, что родившихся баранов и овец черного цвета...»

«Сертифицированный тестировщик Программа обучения Продвинутого уровня Руководитель тестирования Версия 2012 International Software Testing Qualifications Board Уведомление об авторских правах Этот до...»

«УВЕДОМЛЕНИЕ о возможности осуществления акционерами "МОСКОВСКИЙ КРЕДИТНЫЙ БАНК" (открытое акционерное общество) преимущественного права приобретения обыкновенных именных а...»

«Сборник работ победителей 10-го конкурса "Арткам для школ" компании Delcam plc 2011 года Стр. Работы победителей 10-го конкурса 1. I-е место Максим Кижапкин (8 класс) – школа №8 г. Пенза проект "Изготовление юбилейного сувенира...»

«Титульник Знаем мы это или нет, каждый из нас живет свою жизнь, руководствуясь усвоенным с детства набором правил поведения. Одни называют это моралью. Другие – религией. Для меня это – “Кодекс Братана”. Веками мужчины пытались следовать этому кодексу без какого-либо общепринятого взгляда на такие вещ...»

«Самарская региональная общественная организация поддержки социальных инициатив "Ресурсный клуб" ПРОЕКТЫ ПОБЕДИТЕЛИ КОНКУРСОВ СОЦИАЛЬНЫХ ПРОЕКТОВ СО НКО САМАРСКОЙ ОБЛАСТИ 2013 2014 гг. Часть 2 Издательство ЧОУ ВО "Международный институт рынка" Самара 2016 УДК 32.019.5 ББК...»

«Муниципальное бюджетное общеобразовательное учреждение "Бриентская средняя общеобразовательная школа" Кваркенского района Оренбургской области "УТВЕРЖДАЮ" _ Директор школы: Мурзина Е.Ф. "_"2011 г Целевая комплексная программа развития информационных технологий в МАОУ "Бриентской СОШ" на 2011-2015 гг. П...»

«Российский рынок акций АНАЛИТИЧЕСКИЙ ОБЗОР 15 сентября 2014 Текущая ситуация на рынке По итогам прошедшей недели ключевые фондовые индексы США продемонстрировали снижение. S&P-500 просел на 1,1%, Dow Jones потерял 0,9%, а NASDAQ снизился на 0,3%. Параллельно с эт...»

«НАЦИОНАЛЬНОЕ ОБЪЕДИНЕНИЕ СТРОИТЕЛЕЙ Стандарт организации Мостовые сооружения УКРЕПЛЕНИЕ КОНУСОВ И ОТКОСОВ НАСЫПЕЙ НА ПОДХОДАХ К МОСТОВЫМ СООРУЖЕНИЯМ СТО НОСТРОЙ 99 Проект окончательной редакции Саморегулируемая организация Некоммерческое партнерство "Межрегиональн...»

«ПОЛЬ ЛАНЖЕВЕН 1947 г. Т. XXXI, вып. 3 УСПЕХИ ФИЗИЧЕСКИХ НАУК I ПОЛЬ ЛАНЖЕВЕН (1872—1946) Г. С. Ландсберг Умер Поль Ланжевен. Весть эта глубоко печалит учёных всего мира и с особенной остротой воспринимается учеными Советского Союза. Ушёл из жизни глубокий и творческий ум, учёный,...»

«ИЗВЕЩЕНИЕ о проведении открытого запроса предложений "06" июня 2014 г. г. Тосно Заказчик ОАО "Тепловые сети" объявляет о проведении открытого запроса предложений на "Проведение экспертизы промышленной безопасности" для нужд ОАО “Тепловые сети”". Порядок проведения данного запроса предложений...»

«Содержание стр. раздел наименование раздела п/п Целевой раздел Пояснительная записка 1.1. 3 Цели и задачи 1.2. 3 Принципы и подходы к формированию программы 1.3. 4 Возрастные и индивидуальные особенности детей 6-7 ле...»

«США превращают сирийский конфликт в опосредованную войну с Россией 13 октября 2015, 14:58 Фото: Ammar Abdullah/Reuters Текст: Марина Балтачева, Михаил Мошкин Президент Владимир Путин выразил опасение в связи с программой помощи США так называемой умеренной оппозиции в Сирии – амери...»

«ГОРНЫИ ЖУРНАЛЪ И ЗД А В А ЕМ Ы Й / 7 / ГОРНЫ МЪ У Ч ЕН Ь ІМ Ъ КОМИТЕТОМЪ /^//г 1890 ^ /х ТОПЕЪ XX Ъ Л Ь. — М А Й. — I Ю Н Ь. АПР С.-П Е Т Е Р Б У Р Г Ъ. Типографія и хромолитографія А, Т р а н ш л ь, Стремянная, № 12. 1890. \^7 ОГЛАВЛЕНІЕ *. второго тома 1890 года. I. Оффиціальный Отдлъ. У закон...»

«Министерство образования и науки Российской Федерации Федеральное государственное бюджетное образовательное учреждение высшего образования "Нижневартовский государственный университет" Гуманитарный факультет Рабочая программа по д...»

«Дмитрий Михайлович Дёгтев Юрий Сергеевич Борисов Дмитрий Владимирович Зубов Воздушные дуэли. Боевые хроники. Советские "асы" и немецкие "тузы". 1939–1941 Серия "Военная авиация XX века" Текст предоставлен издательством Воздушные дуэли. Боевые хроники. Советские "асы" и немецкие...»

«Иван Антонович Ефремов Последний марсель http://www.litres.ru/pages/biblio_book/?art=128126 Аннотация "Корабль умирал. Море, несколько часов тому назад покорно несшее его на себе, теперь вры...»

«ЕЖЕНЕДЕЛЬНИК РИМСКО-КАТОЛИЧЕСКОЙ РЕЛИГИОЗНОЙ ОРГАНИЗАЦИИ "СВЯТЫХ КИРИЛЛА И МЕФОДИЯ", Г. БРАТСК "ИСТОЧНИК" № 18(237) 26.06-02.07.2016 Евангелие от Луки /Лк 9, 51-62/ Когда приближались дни взятия Иисуса от мира, Он...»

«ПОДКЛЮЧЕНИЕ И УСТАНОВКА СИСТЕМЫ ТРЕВОЖНОЙ СИГНАЛИЗАЦИИ ТРАНСПОРТНОГО СРЕДСТВА SCHER-KHAN MAGICAR 7 НА АВТОМОБИЛЬ NISSAN MURANO Оглавление 1. Подключение датчиков дверей и багажника 2. Подключение аварийной световой сигнализации и минуса питания 3. Подключение центрального замк...»

«"Soa bowiem jeliby wietrzaa – grze lece. 15 Ani zapalaj wiecy, czyme bd soli. niczemu ju si i stawiaj jej pod korzec, ale na dalej nie godzi jedno eby j na wiecznik, i wieci wszystkim, ktrzy podeptanie od ludzi" (л...»

«УДК 025.7/.9 С. В. Натяма, зав. отделом сохранности фонда НБ МГУ Создание научного документального книжного фонда НБ МГУ В статье рассмотрены этапы и проблемы формирования научного документального книжного фонда научной библиотеки Мариупольского государственного университета, а также вопросы его...»

«НАУЧНЫЕ ВЕДОМОСТИ Серия Гуманитарные науки. 2012. № 18 (137). Выпуск 15 25 УДК 811.161.1’373.4 К ВОПРОСУ О СПОСОБАХ АКТУАЛИЗАЦИИ ЛЕКСИЧЕСКИХ НОВООБРАЗОВАНИЙ В РАЗГОВОРНОЙ РЕЧИ Статья посвящ ена особенностям функционирования лексиче­ Ю. Н. Шаталова ских новообразований в разговорной речи. Рассматривается роль кон­ текста в порождении новых слов...»










 
2017 www.book.lib-i.ru - «Бесплатная электронная библиотека - электронные ресурсы»

Материалы этого сайта размещены для ознакомления, все права принадлежат их авторам.
Если Вы не согласны с тем, что Ваш материал размещён на этом сайте, пожалуйста, напишите нам, мы в течении 1-2 рабочих дней удалим его.