Upload
tsvetanka-georgieva
View
884
Download
5
Embed Size (px)
DESCRIPTION
Основната задача на базите от данни е да осигурят събиране, съхраняване и достъп до голямо количество данни. На практика, базите от данни са основния инструмент на т. нар. транзакционни информационни системи (Transaction Processing Systems – TPS), които автоматизират задачите за обработка на данните. Тези задачи са всекидневно изпълняваните операции в една организация (например въвеждане на поръчка, банкова транзакция) и се състоят от краткотрайни, атомарни, изолирани транзакции. Транзакциите изискват подробни, актуални данни и четат или променят няколко записа. Съгласуваността, възможността за възстановяване на оперативната база от данни, както и минимизирането на конфликтите, получени при едновременна работа на потребителите, са от съществено значение и следователно оказват влияние при проектирането на OLTP приложения. Складовете за данни служат за подпомагане на вземането на решения, поради което историческите (архивните), обобщени и обединени данни са много по-важни от подробните, отделни записи. Изграждането на склад за данни е част от изграждането на система за онлайн аналитична обработка на данни. При този вид системи се изпълняват сложни заявки, които осъществяват достъп до огромно количество данни и извършват много сканирания, съединения и обобщавания. Минимизирането на времето за отговор на тези заявки оказва съществено влияние при проектирането на OLAP приложения.
Citation preview
Складиране (data warehousing) и добиване на данни (data mining)
Доц. д-р Цветанка Георгиева-Трифонова
Складиране и добиване на данни – съдържание
Преглед на складирането на данни
Преглед на добиването на данни
Добиване на асоциативни правила
Основни направления и публикации
Разработка на информационни системи
Откриване на зависимости в бази от данни
Онлайн аналитична обработка и складиране на данни
Добиване на асоциативни правила
2 Складиране и добиване на данни
Преглед на складирането на данни
3
База от данни (database) събиране, съхраняване и достъп до данни;
транзакционни информационни системи (transaction processing systems);
съгласуваност, възстановяване, минимизирането на конфликтите.
Склад за данни (data warehouse) архивните, обобщени и обединени данни;
системи за онлайн аналитична обработка (online analytical processing – OLAP);
минимизиране на времето за отговор на заявки, осъществяващи достъп до огромно количество данни и извършващи много сканирания, съединения и обобщавания.
Складиране и добиване на данни
Складиране на данни – дефиниция
4
Складът за данни се дефинира като:
тематично ориентирана, интегрирана, времевариантна, неизменчива съвкупност от данни, подпомагаща вземането на решения;
база от данни, която предоставя достъп до цялата информация на дадена организация;
съхранява информация като хранилище за данни и дава на потребителите достъп до данни за извършване на изследователски анализ.
W. H. Inmon, Tech Topic: What is a Data Warehouse?, Prism Solutions, Inc. 1995
Складиране и добиване на данни
Онлайн аналитична обработка на данни (OLAP)
5
Отнася се към определена категория софтуерни технологии, предоставящи възможност на аналитици, мениджъри, администратори да извлекат полза от проучването на натрупаните данни;
Бърз, удобен, интерактивен достъп до разнообразни изгледи на информацията, която е била трансформирана от първоначалните данни така, че да отразява реалните потребителски изисквания;
Извършване на динамичен многомерен анализ на събраните данни, натрупани в резултат от дейността на конкретната организация;
Многопотребителски клиент/сървър режим на работа и получаване на бърз отговор на заявките, независимо от количеството на обработваните данни.
Складиране и добиване на данни
Видове OLAP системи
6
Релационна OLAP система (ROLAP)
съхранява данните в релационна база от данни;
позволява ефективно реализиране на многомерния модел и прилагане на операции за обработка на многомерни данни.
Многомерна OLAP система (MOLAP)
съхранява многомерни данни, включващи резултати от обобщения, в специални структури от данни (т.нар. кубове с данни – data cubes) и изпълнява OLAP операциите върху тях.
Складиране и добиване на данни
Куб с данни – пример
7
Складиране и добиване на данни
Основни OLAP операции
8
Обединяване (roll-up) увеличаване на нивото на обобщаване;
Детайлизиране (drill-down) намаляване на нивото на обобщаване или увеличаване
на подробностите; Избиране и проектиране (slice-and-dice)
намаляване на размерността на данните, т.е. извличане на проекция на данните върху подмножество от размерностите за определени стойности на другите размерности;
Филтриране (filtering) извеждане на данни, които отговарят на определено
условие, зададено за някоя размерност; Пренасочване (pivot)
пренасочване на многомерния изглед на данните.
MDX (MultiDimensional eXpressions) – стандартен език за извличане и обработване на многомерните данни.
Складиране и добиване на данни
Архитектура на склад за данни
9
Източници на данни Реализиране на добре работеща система за събиране, съхраняване и
осигуряване на достъп до първичната информация.
Предварителна обработка Извличане на данните;
Използват се данни от разнообразни източници; Решаване на проблеми, свързани с имена, мерки, релевантност, др.
Трансформиране на данните; Откриване и премахване на грешни данни; Обработка на липсващи данни; Откриване и анализиране на силно отличаващите се стойности (outliers), др.
Зареждане на данните в куб с данни; Периодично обновяване.
Съхраняване на данните Инструменти за крайните потребители
Анализи, заявки, отчети, добиване на данни.
Складиране и добиване на данни
Архитектура на склад за данни (2)
10
Преглед на добиването на данни
11
Натрупване и съхраняване на данни в огромни бази от данни супермаркети и транзакции на кредитни карти (market
analysis); научни данни; Web анализ (browsing behavior, advanced information
retrieval). Дефиниция
1992 г., Григорий Пятецкий-Шапиро (Gregory Piatetsky-Shapiro) Добиването на данни е процес на откриване от суровите
данни на предварително неизвестни, нетривиални практически полезни, достъпни интерпретации на знания, необходими за вземане на решения в различни сфери на човешката дейност.
Извличане на информация от данни
Складиране и добиване на данни
Добиване на данни – дефиниция
1996 г., Григорий Пятецкий-Шапиро (Gregory Piatetsky-Shapiro) и Усама Файад (Usama Fayyad) процес на извличане на нетривиална, неявна,
предварително неизвестна и потенциално полезна информация от големи хранилища на данни като: релационни бази от данни, складове за данни, XML хранилища, др.;
най-съществената част от процеса извличане на знания от данни (Knowledge Discovery in Databases – KDD);
съвкупност от множество различни методи за извличане на знания.
Задачи за добиване на данни: класификация, регресия, клъстериране, асоциация, последователни шаблони.
12 Складиране и добиване на данни
Мултидисциплинарен характер на добиването на данни
.
13 Складиране и добиване на данни
Класически пример: добиване на асоциативни правила
14
Анализиране на закупените едновременно продукти (market basket analysis) Дадена е база от данни за продажби и за всяка осъществена
продажба се поддържа списък с продадените артикули; Задачата е да се намерят правилата, които съпоставят
множество от артикули, появяващи се в един и същи списък с друго множество от артикули.
Пример 30% от всички покупки от store.bg съдържат едновременно
"Моята първа енциклопедия за Космоса” и „История на България в приказки и разкази”;
65% от покупките от store.bg, които включват „Моята първа енциклопедия за Космоса”, включват също „История на България в приказки и разкази”.
R. Agrawal, T. Imielinski, A. Swami, Mining Association Rules between Sets of Items in
Large Databases, In Proceedings of the ACM SIGMOD, 1993
Складиране и добиване на данни
Системи за добиване на данни
15
транзакции за покупки от различни магазини
всички покупки във всички магазини през миналата година
продажби на хранителни стоки
наличие на зависимост между продажбата на два различни продукта
Складиране и добиване на данни
Видове системи за добиване на данни
16
Класифицират се в съответствие с различни критерии: Тип на източника на данни
Текстови данни, мултимедийни данни, пространствени данни, др.
Модел на данните Релационни бази от данни, складове за данни, XML
хранилища, др. Задачи за добиване на данни
Изпълняване на една или повече задачи за добиване на данни – класифициране, клъстериране, асоцииране, др.
Методи за добиване на данни Прилагане на различни методи и подходи от машинното
обучение, статистиката, невронните мрежи; Използване на генетични алгоритми, визуализиране,
интерактивна обработка на данните, др.
Складиране и добиване на данни
Проблеми на добиването на данни
17
Защита на данните Натрупаните данни, върху които се прилагат алгоритми за
добиване на данни;
Разкритата информация, получена след прилагане на алгоритмите за добиване на данни.
Потребителски интерфейс Интерпретиране на резултатите от добиването на данни;
Уточняване и усъвършенстване на задачите за добиване;
Разглеждане на откритата информация от различни гледни точки.
Производителност Мащабируемост и ефективност при обработката на значително
количество данни.
Складиране и добиване на данни
Методи за добиване на данни
18
клиенти, които купуват мляко, купуват също и хляб
описание от вида: имаме три типа клиенти
мъжете клиенти, които купуват мляко, купувaт също и хляб, докато жените клиенти – не
Складиране и добиване на данни
Добиване на асоциативни правила (association rule mining)
19
Търсене на шаблони, наречени асоциативни правила във вида: Body ⇒ Head [support, confidence]
Body: характеристика на x, т.е. на транзакция, човек; Head: характеристика, за която е вероятно да следва от Body; support, confidence: мерки за валидност на правилото.
Примери
покупка(x, “мляко”) ⇒ покупка(x, “хляб”) *0.5%, 60%+
студент(x, “КН”) ∧ изпит(x, “БД”) ⇒
оценка(x, “отличен”) *1%, 75%+
Проблем Дадени са:
(1) база от данни от транзакции; (2) всяка транзакция е списък от обекти (items).
Да се намерят: всички правила, които съпоставят наличието на един набор от обекти с наличието на друг набор от обекти.
Складиране и добиване на данни
Едномерни и многомерни асоциативни правила
20
Едномерни правила покупка(x, “мляко”) ⇒ покупка(x, “хляб”)
Многомерни правила: повече от 2 размерности или предикати
възраст(x, “19-25”) ∧ покупка(x, “пуканки”) ⇒ покупка(x, “кока-кола”)
Преобразуването в едномерни правила: използват се двойки предикат-стойност като обекти (items)
клиент(x, *възраст, “19-25”+) ∧ клиент(x, *покупка, “пуканки”+) ⇒ клиент(x, *покупка, “кока-кола”+)
Опростено означаване на едномерни правила ,мляко- ⇒ ,хляб- ,*възраст, “19-25”+, *покупка, “пуканки”+- ⇒ ,*покупка, “кока-кола”+-
Складиране и добиване на данни
Поддръжка и сигурност
21
Складиране и добиване на данни
Поддръжка и сигурност: възможни ситуации
22
Допускаме, че поддръжката на AB надвишава предварително зададената минимална стойност;
TA е множеството от транзакции, които съдържат набора от обекти A.
Складиране и добиване на данни
Дефиниция на асоциативно правило
23
Терминология и означения Множество от всички обекти I, подмножество на I се нарича
набор от обекти (itemset); Транзакция t (tid, A), A ⊆ I набор от обекти, идентификатор на
транзакция tid; Множество D от всички транзакции (база от данни), транзакция
t∈D.
Дефиниция на асоциативно правило A ⇒ B [s, c] A, B са набори от обекти (A, B ⊆ I); A ∩ B е празното множество; поддръжка s = P(A∪B): вероятността транзакция да съдържа A∪B; сигурност c = P(B|A): условната вероятност транзакция, която
съдържа A, да съдържа също B.
Примери Обекти: I = ,мляко, хляб, яйца, ябълка, банани- Транзакция: (200, ,мляко, хляб, яйца-) Асоциативно правило: ,мляко- ⇒ ,хляб- *0.50, 0.66+
Складиране и добиване на данни
Често срещани набори от обкети (frequent itemsets)
24
1. A ⇒ B може да бъде асоциативно правило само ако A∪B е често срещан
набор от обекти;
търсене на често срещани набори от обекти.
2. Произволно подмножество на често срещан набор от обекти е също често
срещан набор от обекти (априорно свойство априорен алгоритъм);
т.е. ако {мляко, хляб} е често срещан набор от обекти, двата набора {мляко}
и {хляб} са също често срещани.
3. Затова итеративно се намират често срещаните набори от обекти с
увеличаване на броя на елементите от 1 до k (k-елементни набори от
обекти);
намалява се броя на възможните кандидати при търсенето на често
срещани набори от обекти с много елементи.
Складиране и добиване на данни
Използване на априорното свойство
25
Ако са ни известни често срещаните (k-1)-елементни набори от обекти, кои са кандидатите за често срещани k-елементни набори от обекти?
Ако са ни известни всички често срещани (k-1)-елементни набори от обекти Lk-1, тогава можем да изградим множество от кандидати Ck за често срещани k-елементни набори от обекти чрез съединяване на всеки два често срещани (k-1)-елементни набора от обекти, които се различават по точно един елемент: стъпка за съединяване (join step) ; само тези набори от обекти биха могли да бъдат често срещани k-
елементни набори от обекти. Складиране и добиване на данни
Алгоритъм за генериране на кандидати
26
Предполагаме, че елементите в Lk-1 са подредени в нарастващ ред, тогава Ck се създава чрез SQL израза:
INSERT INTO Ck (item1, …, itemk)
SELECT p.item1, p.item2, …, p.itemk-1, q.itemk-1
FROM Lk-1 p, Lk-1 q
WHERE p.item1=q.item1 AND … AND
p.itemk-2=q.itemk-2 AND p.itemk-1 < q.itemk-1
Складиране и добиване на данни
Използване на априорното свойство (2)
27
Един набор-кандидат от обекти не удовлетворява непременно априорното свойство;
След генериране на множеството от кандидатите Ck се отстраняват всички набори от обекти, за които не всички (k-1)-елементни подмножества са елементи на Lk-1, т.е. трябва да са често срещани (k-1)-елементни набори от обекти: стъпка за пречистване, т.е. отстраняване на излишните кандидати (prune step);
Тогава се броят останалите k-елементни набори-кандидати от обекти в базата от данни и се отстраняват тези, които не са често срещани (достатъчно условие).
Складиране и добиване на данни
Генериране на често срещани набори от обекти: априорният алгоритъм
28
k:=1; Lk := ,често срещани елементи в D}; Докато Lk !=∅
{ Ck+1 := кандидати, генерирани от Lk чрез съединяване и
пречистване; За всяка транзакция T в базата от данни
се увеличава броя на всички набори-кандидати от обекти в Ck+1, които се съдържат в T;
Lk+1 := кандидати в Ck+1 с min_support; k := k+1; }
Извежда се ∪k Lk
Складиране и добиване на данни
Пример
29
Складиране и добиване на данни
Генериране на асоциативни правила от често срещани набори от обекти
30
За всеки често срещан набор от обекти L се генерират всички непразни подмножества S
За всяко непразно подмножество S се извеждат правилата S ⇒ L\S, ако
(min_conf е минимална сигурност),
тъй като сигурността confidence(A ⇒ B) = P(B|A) =
min_conf)support(
)support(
S
L
min_conf)support(
)support(
A
BA
Складиране и добиване на данни
Пример
31
Предполагаме, че минималната сигурност е min_conf =0.75. L={2, 3, 5}, S={3, 5}, confidence(S ⇒ L\S)= support(L)/ support (S)=2/2, затова ,3, 5} ⇒ {2} е валидно асоциативно правило. L={2, 3, 5}, S={2}, confidence(S ⇒ L\S)= support (L)/ support(S)=2/3, затова ,2- ⇒ ,3, 5- не е валидно асоциативно правило.
Складиране и добиване на данни
Подобряване на ефективността на априорния алгоритъм
33
Намаляване на транзакциите Транзакция, която не съдържа нито един често срещан k-
елементен набор от обекти, е безполезна при следващите сканирания.
Разделяне (partitioning) Произволен набор от обекти, който е потенциално често
срещан в базата от данни, трябва да бъде често срещан в поне едно от подразделенията на базата от данни [A. Savasere, E. Omiecinski, S. Navathe, An effcient algorithm for mining association rules in large databases, In 21st VLDB Conf., 1995].
Семплиране (sampling) Избират се шаблони от базата от данни и се търсят често
срещани набори от данни в извадка от база от данни, като се използва съответно по-ниска минимална стойност на поддръжката [H. Toivonen, Sampling large databases for association rules, In 22nd VLDB Conf., 1996].
Складиране и добиване на данни
Подобряване на ефективността на априорния алгоритъм (2)
34
Паралелно изчисляване (parallel computing) Разделят се кандидатите, както и базата от данни за обработка от
различни процесори [R. Agrawal, J. C. Shafer, Parallel Mining of Association Rules, IEEE Trans. on Knowledge and Data Eng., 1996].
Хеш таблица (hash table) Намалява се размерът на множеството от кандидатите чрез
филтриране на k-елементните набори от обекти от хеш-таблицата, ако хеш-записът няма минимална поддръжка [J. S. Park, M.S. Chen, P.S. Yu, An Effective Hash-Based Algorithm for Mining Association Rules, ACM SIGMOD Int. Conf. on Management of Data, 1995].
Дървовидни структури от данни Използва се дърво на често срещаните шаблони и базата от
данни се сканира само два пъти, за да се намерят често срещаните шаблони без генериране на кандидати [J. Han, J Pei, Mining frequent patterns by pattern growth: methodology and implications, ACM SIGKDD Explorations Newsletter, 2000].
Складиране и добиване на данни
Откриване на асоциативни правила и OLAP технология
37
OLAP-базираното добиване на асоциативни правила Интегрира OLAP технологията с добиването на асоциативни
правила;
Алгоритмите за добиване на данни могат да бъдат прилагани върху различните части и върху различни нива на обобщаване в съответния куб с данни;
Обобщените стойности, необходими за откриването на асоциативните правила, са изчислени и съхранени в куба с данни, което улеснява проверяването и филтрирането.
Поддръжката и сигурността на асоциативните правила могат да бъдат изчислени директно въз основа на стойностите в съответните обобщени клетки на куба с данни.
Складиране и добиване на данни
J. Han, OLAP Mining: An Integration of OLAP with Data Mining, In Proc. IFIP Conf. Data Semantics, 1997
Базирани на ограничения асоциативни правила
Складиране и добиване на данни 38
Генериране на извънредно голям брой асоциативни правила За крайните потребители е почти невъзможно да обхванат
или потвърдят такъв голям брой асоциативни правила. Подходи за намаляване на броя на асоциативните правила
Задаване на ограничения за данните; атрибутите; формиране на правилото;
Подобряване на ефективността на алгоритмите за добиване на данни.
Примери P(x, y) ∧ Q(x, w) покупка(x, “компютър”) покупка(x, y) ∧ покупка(x, w) покупка(x, “компютър”) Y. Fu, J. Han, Meta-rule-guided mining of association rules in relational databases, In
Proc. of the Int. Workshop on Integration of Knowledge Discovery with Deductive and Object-Oriented Databases, 1995
M. Kamber, J. Han, J. Chiang, Using Data Cubes for Metarule-Guided Mining of Multi-Dimensional Association Rules, Technical Report, Simon Fraser University, 1997
Основни направления и публикации
Складиране и добиване на данни 39
Разработка на информационни системи клиент/сървър система за поддържане и извличане на данни в аудио и
видео архив на уникални български камбани; T. Trifonov, T. Georgieva, Client/server system for managing an audio and video archive for unique Bulgarian bells, WSEAS Transactions on Information Science and Applications, 2009
информационна клиент/сървър система за поддържане и извличане на информация за дипломни работи на студенти; T. Georgieva-Trifonova, Development of an information system for diploma works management, Journal of Informatics in Education, 2011
информационна система за поддържане на електронен архив на текстове на български език; T. Trifonov, T. Georgieva-Trifonova, Research on letter and word frequency in the modern Bulgarian language, International Journal of Knowledge-Based Organizations, 2012
библиографска информационна система за организиране, съхранение и използване на дигитализирана научна литература. I. Bouyukliev, T. Georgieva-Trifonova, Development of a personal bibliographic information system, The Electronic Library, Emerald, 2013
Основни направления и публикации (2)
Складиране и добиване на данни 40
Откриване на зависимости в бази от данни разклонени зависимости;
T. Georgieva, Discovering Branching and Fractional Dependencies in Databases, Data and Knowledge Engineering, Elsevier, 2008
зависимости, поправящи грешки;
G. Bogdanova, T. Georgieva, Using Error-correcting Dependencies for Collaborative Filtering, Data and Knowledge Engineering, Elsevier, 2008
частични зависимости.
G. Bogdanova, T. Todorov, T. Georgieva, Algorithms for Securing and Analyzing Data in the Experimental Multimedia Archive, Journal “Mathematica Balkanica”, 2007
Основни направления и публикации (3)
Складиране и добиване на данни 41
Складиране и онлайн аналитична обработка на: данните в уеб базирана клиент/сървър система, която съдържа архивен
фонд от фолклорни материали; G. Bogdanova, T. Georgieva, Analyzing the Data in OLAP Data Cubes, International Journal on Information Theories and Applications, 2005
данни за честотите на буквите, биграмите, триграмите, думите, дължините на думите в съвременния български език от разнородни източници; T. Trifonov, T. Georgieva-Trifonova, OLAP system for investigating the modern Bulgarian language, In Proceedings of the Fifth International Conference on Information Systems and Grid Technologies, St. Kliment Ohridski University Press, Sofia, 2011
библиографски данни; T. Georgieva-Trifonova, Warehousing and OLAP analysis of bibliographic data, Intelligent Information Management, 2011
данни за уникални български камбани. T. Trifonov, T. Georgieva-Trifonova, Warehousing and OLAP analysis of data about unique Bulgarian bells, In Proc. of the Forty First Spring Conf. of the Union of Bulgarian Mathematicians, Borovets, 2012
Основни направления и публикации (4)
Складиране и добиване на данни 42
Добиване на асоциативни правила Приложение за откриване на асоциативните правила в OLAP кубове с данни;
Г. Богданова, Ц. Георгиева, Приложение за откриване на асоциативните правила в OLAP кубове с данни, сп. ”Автоматика и информатика”, 2006
Алгоритъм за откриване на интервалите на разпределение на асоциативните правила в OLAP кубове с данни; T. Georgieva, Algorithm for Discovering the Distribution Intervals of the Association Rules in OLAP Data Cubes, Journal “Mathematica Balkanica”, 2006
Приложение за откриване на базирани на ограничения асоциативни правила; T. Trifonov, T. Georgieva, Application for Discovering the Constraint-based Association Rules in an Archive for Unique Bulgarian Bells, European Journal of Scientific Research, United Kingdom, 2009
Добиване на библиографски данни. T. Georgieva-Trifonova, Mining bibliographic data, In Proc. of the Sixth Int. Conf. on Information Systems and Grid Technologies, St. Kliment Ohridski University Press, Sofia, 2012
Благодаря за вниманието!
Складиране и добиване на данни