- •Министерство образования и науки рф Федеральное государственное бюджетное образовательное учреждение высшего образования «Московский авиационный институт (национальный исследовательский университет)»
- •Оглавле
- •Введение
- •Задание 1. Знакомство с gui интерфейсом библиотеки data mining алгоритмов.
- •Задание 2. Выполнение анализа данных методами data mining.
- •Задание 3. Создание программ анализа данных с использованием алгоритмовdatamining
- •Задание 4. Реализация алгоритмов построенияunsupervised моделей
- •Будем использовать arff файл сегментации потребителей:
- •Задачи обобщения
- •Задачи поиска правил ассоциации
- •Задачи сокращения размерности
- •Задачи визуализации данных
- •Задание 5. Реализация алгоритмов построения supervised моделей.
- •Всего существует три алгоритма: АлгоритмId3,cart, с4.5.
Задание 4. Реализация алгоритмов построенияunsupervised моделей
Согласно данной концепции на вход любого алгоритма подаются исходные данные в виде потока представленного классом MiningInputStream . Кроме данных перед работой алгоритма должны быть выполнены соответствующие настройки. Они делятся на два типа: настройки специфичные для решаемой задачи (строящейся модели) и настройки специфичные для конкретного алгоритма. Первые реализуются с помощью наследования от класса MiningSettings, второй тип наследование от класса MiningAlgorithmSpecification. Результат работы алгоритма представляется в виде моделей являющихся экземплярами класса MiningModel. Сами алгоритмы наследуются от класса MiningAlgorithm.
В библиотеке Xelopes реализованы классы настроек, моделей и алгоритмов для основных задач data minig (табл.1). Необходимо заметить, что входные данные не зависят от решаемой задачи и для любого алгоритма представляются в виде экземпляра класса MiningInputStream.
Таблица 1. Основные классы библиотеки Xelopes
№ |
Задача |
Класс настроек |
Класс модели |
Класс алгоритма |
1 |
Статистические задачи |
StatisticsMiningSettings |
StatisticsMiningModel |
StatisticsAlgorithm |
2 |
Поиск ассоциативных правил |
AssociationRulesSettings |
AssociationRulesMiningModel |
AssociationRulesAlgorithm |
3 |
Сиквинциальный анализ
|
SequentialSettings |
SequentialMiningModel |
SequentialAlgorithm |
4 |
CustomerSequentialSettings |
CustomerSequentialMiningModel |
CustomerSequentialAlgorithm | |
5 |
Кластеризация |
ClusteringMiningSettings |
ClusteringMiningModel |
ClusteringAlgorithm |
6 |
Регрессии |
SupportVectorSettings |
SupportVectorMiningModel |
SupportVectorAlgorithm |
7 |
SparseGridsSettings |
SparseGridsMiningModel |
SparseGridsAlgorithm | |
8 |
Классификации |
DecisionTreeSettings |
DecisionTreeMiningModel |
DecisionTreeMiningModel |
Будем использовать arff файл сегментации потребителей:
@relation 'travel'
@attribute sex {m, f}
@attribute age real
@attribute numb_journeys real
@attribute favor_country { Spain, Turkey, Poland, USA, France, Russia, Germany, Canada}
@attribute money_spent real
@data
f 33 3 Spain 10500
f 28 1 Turkey 645
m 16 1 Poland 433
m 34 2 USA 15230
f 52 12 Spain 12450
f 19 1 Spain 1426
f 45 5 Russia 4900
f 72 7 Germany 8560
f 23 4 Spain 17870
m 49 4 Spain 5400
PMML файл, построенный unsupervised алгоритмом
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE PMML PUBLIC "pmml20.dtd" "pmml20.dtd">
<PMML version="2.0">
<Header copyright="Copyright (c) 2003 prudsys AG" description="Xelopes mining model. See www.zsoft.ru or www.prudsys.com">
<Application version="1.1" name="Xelopes" />
<Timestamp>2018-03-25 03:57:50 MSD</Timestamp>
</Header>
<DataDictionary numberOfFields="5">
<DataField displayName="sex" name="sex" isCyclic="0" optype="categorical">
<Value displayValue="m" property="valid" value="m" />
<Value displayValue="f" property="valid" value="f" />
</DataField>
<DataField displayName="age" name="age" isCyclic="0" optype="continuous">
<Interval leftMargin="-Infinity" rightMargin="Infinity" closure="openOpen" />
</DataField>
<DataField displayName="numb_journeys" name="numb_journeys" isCyclic="0" optype="continuous">
<Interval leftMargin="-Infinity" rightMargin="Infinity" closure="openOpen" />
</DataField>
<DataField displayName="favor_country" name="favor_country" isCyclic="0" optype="categorical">
<Value displayValue="Spain" property="valid" value="Spain" />
<Value displayValue="Turkey" property="valid" value="Turkey" />
<Value displayValue="Poland" property="valid" value="Poland" />
<Value displayValue="USA" property="valid" value="USA" />
<Value displayValue="France" property="valid" value="France" />
<Value displayValue="Russia" property="valid" value="Russia" />
<Value displayValue="Germany" property="valid" value="Germany" />
<Value displayValue="Canada" property="valid" value="Canada" />
</DataField>
<DataField displayName="money_spent" name="money_spent" isCyclic="0" optype="continuous">
<Interval leftMargin="-Infinity" rightMargin="Infinity" closure="openOpen" />
</DataField>
</DataDictionary>
<ClusteringModel modelName="clustering model" modelClass="centerBased" algorithmName="centerBasedClustering" functionName="clustering" numberOfClusters="3">
<MiningSchema>
<MiningField missingValueTreatment="asMode" name="sex" missingValueReplacement="f" outliers="asMissingValues" usageType="active" />
<MiningField missingValueTreatment="asMean" name="age" missingValueReplacement="37.1" outliers="asIs" usageType="active" />
<MiningField missingValueTreatment="asMean" name="numb_journeys" missingValueReplacement="4.0" outliers="asIs" usageType="active" />
<MiningField missingValueTreatment="asMode" name="favor_country" missingValueReplacement="Spain" outliers="asMissingValues" usageType="active" />
<MiningField missingValueTreatment="asMean" name="money_spent" missingValueReplacement="7741.4" outliers="asIs" usageType="active" />
</MiningSchema>
<ComparisonMeasure compareFunction="absDiff" kind="distance" minimum="0.0" maximum="0.0">
<euclidean />
</ComparisonMeasure>
<Cluster name="clust0">
<Array type="real" n="5">0.75 35.5 5.25 0.75 14012.5</Array>
</Cluster>
<Cluster name="clust1">
<Array type="real" n="5">0.6666666666666666 55.333333333333336 5.333333333333333 3.6666666666666665 6286.666666666667</Array>
</Cluster>
<Cluster name="clust2">
<Array type="real" n="5">0.6666666666666666 21.0 1.0 1.0 834.6666666666666</Array>
</Cluster>
</ClusteringModel>
</PMML>
В результате данные были разбиты на три сегмента:
Клиенты среднего возраста, предпочитающие поездки в южные страны;
Пожилые клиенты, которые посещают европейские страны;
Молодые клиенты, которые мало путешествуют
Что такое unsupervised модели?
Обучение без учителя (самообучение, спонтанное обучение) — один из способов машинного обучения, при котором испытуемая система спонтанно обучается выполнять поставленную задачу без вмешательства со стороны экспериментатора. С точки зрениякибернетики, это является одним из видовкибернетического эксперимента. Как правило, это пригодно только для задач, в которых известны описания множества объектов (обучающей выборки), и требуется обнаружить внутренние взаимосвязи, зависимости, закономерности, существующие между объектами.
Обучение без учителя часто противопоставляется обучению с учителем, когда для каждого обучающего объекта принудительно задаётся «правильный ответ», и требуется найти зависимость между стимулами и реакциями системы.
Что такое описательные модели?
Описательные модели используются для свертывания и компактного представления экспериментальных данных без изучения механизма процесса. В этом и состоит одна из задач математической статистики, определяемой иногда как наука о редукции данных. Такой подход имеет безусловные достоинства для практика. Зная эмпирические закономерности, имея формулу, описывающую, например, изменение элюирующей силы при варьировании состава подвижной фазы, изотерму или изобару того или иного свойства, легко найти нужное решение, подставив в формулу соответствующее значение независимой переменной величины
Какие модели относятся к типу unsupervised?
Задачи кластеризации
Эксперимент обучения без учителя при решении задачи распознавания образовможно сформулировать как задачукластерного анализа.Выборка объектов разбивается на непересекающиеся подмножества, называемые кластерами, так, чтобы каждый кластер состоял из схожих объектов, а объекты разных кластеров существенно отличались. Исходная информация представляется в виде матрицы расстояний.
Методы решения
Графовые алгоритмы кластеризации
Статистические алгоритмы кластеризации
Иерархическая кластеризацияилитаксономия
Нейронная сеть Кохонена
Метод ближайших соседей (k-means)
Автоассоциатор
Глубокая сеть доверия
Кластеризация может играть вспомогательную роль при решении задач классификациии регрессии.Для этого нужно сначала разбить выборку на кластеры, затем к каждому кластеру применить какой-нибудь совсем простой метод, например, приблизить целевую зависимость константой.
Методы решения
Нейронная сеть встречного распространения
Метод радиальных базисных функций