Procesy eksploracji danych

Slides:



Advertisements
Podobne prezentacje
Opinie Polaków na temat usług szpitalnych
Advertisements

Indeksy w bazie danych Oracle
Znaki informacyjne.
20041 Projektowanie dynamicznych witryn internetowych Paweł Górczyński ASP 3.0.
Projektowanie bazy danych
Ludwik Antal - Numeryczna analiza pól elektromagnetycznych –W10
Bazy danych II Instrukcja SELECT Piotr Górczyński 25/08/2001.
OLAP budowa aplikacji analitycznych w MS SQL 2000 i Yukon
Bazy danych II Instrukcja INSERT Piotr Górczyński 25/08/2001.
25/08/ Bazy danych II Piotr Górczyński MS Access – Action Query.
25/08/2001 Bazy danych II 1 Piotr Górczyński Wstęp do SQL.
1 Stan rozwoju Systemu Analiz Samorządowych czerwiec 2009 Dr Tomasz Potkański Z-ca Dyrektora Biura Związku Miast Polskich Warszawa,
Wycofywanie potwierdzonych transakcji
Ksantypa2: Architektura
Systemy operacyjne Copyright, 2000 © Jerzy R. Nawrocki Wprowadzenie do informatyki.
WekaSQL Język i aplikacja przetwarzania oraz eksploracji danych.
Usługa Windows Server Update Services (WSUS)
Rozproszone bazy danych
Systemy zarządzania treścią CMS
Praca Inżynierska „Analiza i projekt aplikacji informatycznej do wspomagania wybranych zadań ośrodków sportowych” Dyplomant: Marcin Iwanicki Promotor:
Klasyfikacja systemów
Zarządzanie zmianami w systemie bezpieczeństwa - rozwiązania Check Point i partnerów OPSEC dr inż. Mariusz Stawowski
Analiza, projekt i częściowa implementacja systemu obsługi kina
Język SQL (Structured Query Language) DDL (Data Definition Language)
SZPIF – Harmonogram, Opis narzędzi, Schemat bazy danych
dr inż. Piotr Muryjas Wyższa Szkoła Przedsiębiorczości i Administracji
SIEĆ P2P 1. Definicja sieci równouprawnionej. To taka sieć, która składa się z komputerów o takim samym priorytecie ważności, a każdy z nich może pełnić.
Wstęp do eksploracji danych
Wykonawcy:Magdalena Bęczkowska Łukasz Maliszewski Piotr Kwiatek Piotr Litwiniuk Paweł Głębocki.
Projektowanie Stron WWW
Wykonanie: Iwona Szatkowska. Uwaga! Wszystkie opisane w instrukcji operacje oparte są o zapowiedzi oraz projekty odpowiednich ustaw i rozporządzeń. Te.
Arkusze kalkulacyjne, część 3
Tryb tabelaryczny w Analysis Services 2012
Instrukcje: CREATE, INSERT, UPDATE, DELETE, DROP
EasyMOD kontrola modyfikacji i rozszerzeń systemu SAP
Używanie eksploracji danych w systemach IT
Dr hab. Dariusz Piwczyński Katedra Genetyki i Podstaw Hodowli Zwierząt
Licencjonowanie narzędzi dla programistów
Prezentacja i szkolenie
KOLEKTOR ZASOBNIK 2 ZASOBNIK 1 POMPA P2 POMPA P1 30°C Zasada działanie instalacji solarnej.
Podstawy działania wybranych usług sieciowych
ŻYWE JĘZYKI PROGRAMOWANIA LIVING IT UP WITH A LIVE PROGRAMMING LANGUAGE Sean McDirmid Ecole Polytechnique Fédérale de Lausanne (EPFL)
SQL - Structured Query Language
Wybrane zagadnienia relacyjnych baz danych
1. ŁATWOŚĆ ZADANIA (umiejętności) 2. ŁATWOŚĆ ZESTAWU ZADAŃ (ARKUSZA)
Programowanie obiektowe 2013/2014
Autor: Joanna Barańska Promotor: dr inż. Paweł Figat Konsultant:
Komendy SQL do pracy z tabelami i bazami
Duży efekt małym kosztem, czyli SQL Server nie tylko jako baza danych

Programowanie w języku C++
Projektowanie stron WWW
Projekt Badawczo- Rozwojowy realizowany na rzecz bezpieczeństwa i obronności Państwa współfinansowany ze środków Narodowego Centrum Badań i Rozwoju „MODEL.
User experience studio Użyteczna biblioteka Teraźniejszość i przyszłość informacji naukowej.
1 SBD, L.Banachowski Podstawy SQL - języka relacyjnych i obiektowo-relacyjnych baz danych (SQL2, SQL'1999, Oracle) Powtórzenie wyk ł adu 3.
Testogranie TESTOGRANIE Bogdana Berezy.
Archiwizacja bazy danych
Jak Jaś parował skarpetki Andrzej Majkowski 1 informatyka +
Systemy dynamiczne 2014/2015Obserwowalno ść i odtwarzalno ść  Kazimierz Duzinkiewicz, dr hab. in ż. Katedra In ż ynierii Systemów Sterowania 1 Obserwowalność.
Treści multimedialne - kodowanie, przetwarzanie, prezentacja Odtwarzanie treści multimedialnych Andrzej Majkowski informatyka +
Autor: Damian Urbańczyk
Elementy geometryczne i relacje
1. Logowanie z usługą Active Directory. a) logowanie do domeny Windows 2003 Server odbywa się znacznie szybciej niż w poprzednich wersjach. b) nie ma odwołania.
Komendy SQL do pracy z danymi
BAZY DANYCH Microsoft Access Akademia Górniczo-Hutnicza Wydział Elektrotechniki, Automatyki, Informatyki i Inżynierii Biomedycznej Katedra Automatyki i.
Temat: Tworzenie bazy danych
Zmienne typy danych w VBA. MS Excel – typy danych w języku programowania VBA.
Projekt „NEW-TECH Program rozwoju praktycznych kompetencji nauczycieli zawodów branż nowych technologii” jest współfinansowany przez Unię Europejską Projekt.
SQL Server Analysis Services Action!
Strukturalny język zapytań SQL - historia
Zapis prezentacji:

Procesy eksploracji danych RafalLukawiecki StrategicConsultant, Project Botticelli Ltd rafal@projectbotticelli.co.uk

Cele Poznanie procesu eksploracji danych Dobre zrozumienie kluczowej terminologii To seminarium bazuje na książce „Data Mining” autorstwa ZhaoHui Tang i Jamie MacLennan, oraz na prezentacjach Jamiego. Dziękuję Jamiemu i Donaldowi Farmerowi za pomoc podczas przygotowywania tej sesji. Dziękuję Roni Karassik za slajd. Dziękuję Mike'owi Tsalidisowi, Oldze Londer i Marinowi Bezicowi za wszelką pomoc. Dziziękuję Maciejowi Pileckiemu za pomoc przy pokazach. Podane tu informacje mają wyłącznie cel ilustracyjny i stanowią opinie i poglądy firmy Botticelli i/lub Rafała Lukawieckiego. Zaprezentowane materiały nie są pewne i mogą się zmieniać w zależności od kilku czynników. sFirma Microsoft nie udziela żadnych gwarancji, wyrażonych wprost, dorozumianych ani ustawowych odnośnie do informacji zawartych w tej prezentacji. © 2007 Project Botticelli Ltd & Microsoft Corp. Niektóre slajdy zawierają cytaty z chronionych prawem autorskim materiałów innych autorów wskazanych za każdym razem. Wszelkie prawa zastrzeżone. Microsoft, Windows, Windows Vista i inne nazwy produktów są lub mogą być zarejestrowanymi znakami handlowymi i/lub znakami handlowymi w Stanach Zjednoczonych i innych krajach. Podane tu informacje mają wyłącznie cel ilustracyjny i stanowią aktualne poglądy firmy Project Botticelli Ltd w dniu tej prezentacji. Ponieważ firmy Project Botticelli i Microsoft muszą reagować na zmiany sytuacji rynkowej, nie można interpretować tych poglądów jako zobowiązanie składane w imieniu firmy Microsoft, a firmy Microsoft i Project Botticelli nie mogą zagwarantować dokładności jakichkolwiek informacji po dacie tej prezentacji. Firma Project Botticelli nie udziela żadnych gwarancji, wyrażonych wprost, dorozumianych ani ustawowych odnośnie do informacji zawartych w tej prezentacji. Możliwe, że prezentacja zawiera błędy i pominięcia.

Program Rozważania dotyczące serwerów Proces eksploracji danych Kluczowe pojęcia i terminologia Eksploracja danych za pomocą DMX

Rozważania dotyczące serwerów

DM – część Microsoft SQL Server

Protokoły SQL Server Analysis Services Excel OLEDB ADOMD TCP 3/28/2017 9:45 AM Protokoły Excel OLEDB ADOMD TCP Aplikacje klienckie SQL Server Analysis Services XMLA AMO IIS BIDS SSMS HTTP Profiler ADOMD .NET

Rozważania na temat usług Analysis Services Składniki DM zawarte wydaniach Standard, Enterprise i Developer programu SQL Server 2005 Usługi SSAS 2008 i 2005 mogą działać równolegle Usługi SSAS nie muszą działać na tym samym serwerze co aparat BD SQL Potrzeby dotyczące wydajności Względy bezpieczeństwa Usługi SSAS umożliwiają analizę danych ze źródeł innych niż SQL Server

Bezpieczeństwo usług SSAS Wskazówki dotyczące zabezpieczania usług SSAS można znaleźć w „SQL Books Online” Potrzeby dotyczące uprawnień (nadmierne upraszczanie): Standardowy użytkownik BD SQL może: Wyświetlać modele i korzystać z nich Wdrażać tymczasowe modele sesyjne (jeśli opcja jest włączona) Administratorzy BD mogą też: Wdrażać i zmieniać modele trwałe, używając SSMS (Management Studio) lub trybu online BIDS Administratorzy serwera mogą też: Używać trybu offline BIDS i modeli wdrażania wsadowego

Zalecenia dotyczące bezpieczeństwa usług SSAS W mocno obciążonych środowiskach programowania w wielkiej korporacji: Dwa serwery usług SSAS: produkcyjny i projektowy/testowy Programiści administrują serwerami projektowymi, ale nie produkcyjnymi Dzięki temu jest możliwy pełny tryb offline BIDS Ręczna lub automatyczna replikacja między serwerej projektowym i produkcyjnym Użytkownicy końcowi to użytkownicy BD wdrożonych modeli (używający ich w programach Excel, Visio itp.)

Omówienie procesu eksploracji danych

Proceseksploracji DM Engine Model eksploracji Model eksploracji Dane do przewidzenia Dane treningowe Model eksploracji Aparat DM DM Engine Model eksploracji Model eksploracji Model eksploracji Z przewidywaniem

Etapy procesu życia modelu DM Definicja modelu Definiowanie kolumn dla przypadków: wizualnie (BIDS), przy użyciu DMX lub z języka PMML Trening modelu Wprowadzenie wielkich ilości danych z rzeczywistej BD lub z dziennika systemu Testowanie modelu Dane testowe muszą być inne niż treningowe Używanie modelu (eksploracja i przewidywanie) Używanie modelu na nowych danych w celu przewidywania wyników Aktualizacja modelu Co miesiąc, co tydzień, co noc lub częściej – ponowne testowanie

Wiele podejść Praca według własnego uznania: Eksperci BD i weterani języka SQL: DMX (jak T-SQL) Import/eksport za pomocą języka PMML Wszyscy: Business Intelligence Development Studio (BIDS) Obsługiwany w Visual Studio (dołączony!) Nie ma potrzeby pisania kodu – praca przy użyciu myszy Excel/Visio 2007 z dodatkami Data Mining Add-Ins Karta „Data Mining” – wszystko Karta „Table Analysis” – łatwiej za to prościej

Uwaga Łatwiej wyjaśnić kluczową terminologię na slajdach programu PowerPoint, pokazując rozszerzenia DMX Łatwiej wyjaśnić kluczową terminologię na pokazach, przedstawiając środowisko BIDS i umożliwiając klikanie Zastosujemy obie metody! Najpierw DMX i slajdy Potem (zwłaszcza po południu), głównie pokazy

Kluczowe pojęcia i terminologia

Struktura eksploracji (Mining Structure) Opisuje dane, którymi trzeba się zająć Kolumny ze źródeł danych i ich: Typy danych Typy zawartości Zawiera modele eksploracji Często buduje się kilka różnych modeli w jednej strukturze Przechowuje dane treningowe, zwane przypadkami (cases) (jeśli to konieczne) Przechowuje dane testowe, określane jako wydzielone (holdout) (w programie SQL 2008)

Model eksploracji danych (Data Mining Model) Kontener układów odkrywanych za pomocą algorytmu eksploracji danych w przypadkach treningowych Tabela zawierająca układy Wyrażone przez wizualizatory Określa użyciekolumn już zdefiniowanych w strukturze eksploracji

Przypadki: to, co badamy (Cases) Przypadek – zbiór kolumn (atrybutów), które mają być analizowane Wiek, płeć, region, roczne wydatki Klucz przypadku – unikatowy identyfikator przypadku Kolumna ma: Typ danych Typ zawartości I opcjonalnie: Dystrybucję Dyskretyzację Pokrewne kolumny Flagi (np. NOT NULL)

Typy danych kolumny (Column Data Types) Nie zajmujemy się typami niskiego poziomu Typy używane w eksploracji danych : Text Long Boolean Double Date i niektóre algorytmy innych firm: Time i Sequence

Typy zawartości kolumny (Content Types) Sterują algorytmami Typowe: DISCRETE Czerwony, Niebieski, Zielony CONTINOUS 6511,49 € DISCRETIZED 1-5, 6-20, 21+ Oznacza klucz: KEY Do celów specjalnych: KEY SEQUENCE KEY TIME ORDERED CYCLICAL

Użycie kolumn (Column Usage) W niektórych algorytmach interpretacja tego nieznacznie się różni, ale na ogół kolumny służą do: Wejście W celu przewidywania innej kolumny PREDICT Te kolumny są zarówno przewidywane, jak i działają jako wejściowe do przewidywania innych PREDICT_ONLY Nieużywane jako dane wejściowe Wszystkie kolumny mogą być wejściowymi i przewidywanymi

Dyskretyzacja Bardzo ważna technika Gdy nie ma potrzeby analizowania pełnego ciągłego zakresu Eksploracja danych może automatycznie konwertować dane na przedziały Domyślnie na 5 Techniki: AUTOMATIC CLUSTERS EQUAL_AREAS THRESHOLDS

Dystrybucje kolumn Jeśli jest znana dystrybucja danych (należy znać), trzeba ją podać: NORMAL Typowa krzywa Gaussa (dzwonowa) LOG NORMAL Większość wartości na „początku” skali UNIFORM Linia płaska – jednakowo prawdopodobna lub idealnie losowa Mogą istnieć inne dystrybucje, ale nie można ich podać – algorytm będzie działać prawidłowo

I wreszcie Przypadek zagnieżdżony (Nested Case) – przypadek zawierający tabelę kolumn Zakupy klienta Używany do analizy układów w relacji Ma zagnieżdżony klucz (Nested Key) Nie „relacyjny” klucz obcy! Na ogół klucz zagnieżdżony to kolumna, która ma być analizowana Np.: Nazwa produktu lub model

Szczegóły procesu eksploracji danych przy użyciu DMX

Rozszerzania eksploracji danych DMX „T-SQL” do eksploracji danych Proste! Jak skrypty dla specjalistów IT Dwa typy instrukcji: Definicja danych CREATE, ALTER, EXPORT, IMPORT, DROP Manipulowanie danymi INSERT INTO, SELECT, DELETE

DMX – jak T-SQL CREATE MINING MODEL RyzykoKred (KlientIDLONG KEY, Płeć TEXT DISCRETE, Przychód LONG CONTINUOUS, Zawód TEXT DISCRETE, Ryzyko TEXT DISCRETE PREDICT) USING Drzewa_Decyzyjne_Microsoft INSERT INTO RyzykoKred (KlientID, Płeć, Przychód, Zawód, Ryzyko) Select IDklienta, Płeć, Przychód, Zawód,Ryzyko From Klienci Select NowiKlienci. IDklienta, RyzykoKred. Ryzyko, PrzewidPrawdop (RyzykoKred. Ryzyko) FROM RyzykoKred PREDICTION JOIN NowiKlienci ONRyzykoKred.Płeć=NowyKlient.Płeć AND RyzykoKred. Przychód=NowyKlient.Przychód AND RyzykoKred. Zawód=NowyKlient.Zawód

CREATE MINING MODEL CREATE MINING MODEL <nazwa> ( <definicje kolumn> ) USING <algorytm>[(<parametry>)] [WITH DRILLTHROUGH]

CREATE MINING MODEL CREATE MINING MODEL MójModel ( <definicjekolumn> ) USINGMicrosoft_Decision_Trees

CREATE MINING MODEL CREATE MINING MODEL MójModel ( [KlientID] LONG KEY, ) USINGMicrosoft_Decision_Trees Nazwa Typ danych Text Long Double Boolean Date

CREATE MINING MODEL CREATE MINING MODEL MójModel ( [KlientID] LONG KEY, ) USINGMicrosoft_Decision_Trees Nazwa Typ danych Typ zawartości Key Key Time Discrete Continuous Discretized

CREATE MINING MODEL CREATE MINING MODEL MójModel ( [KlientID] LONG KEY, ) USINGMicrosoft_Decision_Trees

CREATE MINING MODEL CREATE MINING MODEL MójModel ( [KlientID] LONG KEY, [Płeć] TEXT DISCRETE, ) USINGMicrosoft_Decision_Trees

CREATE MINING MODEL CREATE MINING MODEL MójModel ( [KlientID] LONG KEY, [Płeć] TEXT DISCRETE, [Stan cywilny] TEXT DISCRETE, ) USINGMicrosoft_Decision_Trees

CREATE MINING MODEL CREATE MINING MODEL MójModel ( [KlientID] LONG KEY, [Płeć] TEXT DISCRETE, [Stan cywilny] TEXT DISCRETE, [Wykształcenie] TEXT DISCRETE, ) USINGMicrosoft_Decision_Trees

CREATE MINING MODEL CREATE MINING MODEL MójModel ( [KlientID] LONG KEY, [Płeć] TEXT DISCRETE, [Stan cywilny] TEXT DISCRETE, [Wykształcenie] TEXT DISCRETE, [Własnośćdomu] TEXT DISCRETE PREDICT, ) USINGMicrosoft_Decision_Trees Użycie Predict Predict Only

CREATE MINING MODEL CREATE MINING MODEL MójModel ( [KlientID] LONG KEY, [Płeć] TEXT DISCRETE, [Stan cywilny] TEXT DISCRETE, [Wykształcenie] TEXT DISCRETE, [Własnośćdomu] TEXT DISCRETE PREDICT, [Wiek] LONG CONTINUOUS, [Przychód] DOUBLE CONTINUOUS ) USINGMicrosoft_Decision_Trees

Tabele zagnieżdżone Mebel KlientID Płeć Stan cywilny Wykształcenie Własność domu 980001 M ZamŻon Licencjaci Wynajem Mebel Sofa Telewizor Drabina Boiler Leżanka Odtwarzacz DVD Stelaż Regał na książki Mata do jogi Waza 980002 M ZamŻon Licencjaci Własność 980003 K Wolny Magistrowie Własność 980004 M Wolny Średnie Własność 980005 K ZamŻon Licencjaci Wynajem 980006 K ZamŻon Magistrowie Wynajem

CREATE MINING MODEL Zagnieżdżenie CREATE MINING MODEL MójModel ( [KlientID] LONG KEY, [Płeć] TEXT DISCRETE, [Stan cywilny] TEXT DISCRETE, [Wykształcenie] TEXT DISCRETE, [Własnośćdomu] TEXT DISCRETE PREDICT, [Wiek] LONG CONTINUOUS, [Przychód] DOUBLE CONTINUOUS, [Produkty] TABLE [Nazwaproduktu] TEXT KEY ) ) USINGMicrosoft_Decision_Trees

Trening Użycie instrukcji INSERT INTO To wprowadza przypadki do aparatu Użycie składni SHAPE do tworzenia zagnieżdżonych zestawów wierszy wejściowych Ważne: Używać jedynie danych treningowych (na ogół ok. 70%) Pozostawić z boku trochę danych testowych

Ile treningu? Brak sztywnych reguł odnośnie do liczby przypadków Niemożliwe przetrenowanie przez podanie zbyt wielu przypadków Możliwe przetrenowanie w źle sparametryzowanych modelach Zbyt szczegółowe modele o za małym stopniu ogólności Czy są używane reprezentatywne próbki? Nie jest potrzebna duża ilość danych treningowych Trening jest wystarczający, gdy walidacja modelu jest poprawna (patrz później)

Podział danych do testowania Wydzielanie (Holdout) Za pomocą programu SQL Server 2005 Łatwo realizowane za pomocą zadania SSIS (Integration Services) Percentage Sampling Kilka sposobów wykonania w języku T-SQL Za pomocą programu SQL Server 2008 Program robi to za użytkownika! Określić WITH HOLDOUT w CREATE MINING STRUCTURE Lub wybrać ilość w oknie kreatora/właściwości GUI w środowisku BIDS

Pokaz Używanie usług SQL Server Integration Services do podziału danych na zestawy treningowe i testowe Używanie języka T-SQL w powyższym celu 43

INSERT INTO Możliwe dane źródłowe: Kwerenda danych Kwerenda DMX [MINING MODEL | MINING STRUCTURE] <nazwa modelu lub struktury> [(<lista kolumn> )] <dane źródłowe> Możliwe dane źródłowe: Kwerenda danych Kwerenda DMX Kwerenda MDX Wywołanie procedury przechowywanej Parametr zestawu danych

Testowanie i walidacja Sprawdzenie poprawności modelu Dokładność Czy zapewnia poprawne korelacje i przewidywania? Wiarygodność Czy działa podobnie w odniesieniu do innych danych testowych? Przydatność Czy zapewnia wgląd w dane czy tylko oczywistości?

Walidacja modelu Typowe podejścia: Dokładność Wiarygodność Przydatność Wykresy wzrostu i zysku Wykresy punktowe Macierz klasyfikacji Wiarygodność Walidacja krzyżowa Przewidywania danych zewnętrznych Przydatność Wymaga przejrzenia przez eksperta z konkretnej dziedziny Może wystarczyć proste sprawdzenie korelacji atrybutów

Zautomatyzowane testowanie Znakomita funkcja DM programu SQL Server Klikniecie karty „Mining Accuracy” automatycznie i szybko wykonuje test: Do przewidywania wartości są używane dane testowe Wyniki tego przewidywania są porównywane ze znaną wartością (w wydzieleniu) Wyniki to: Wykres wzrostu, wykres zysku, wykres punktowy, macierz klasyfikacji, statystyki walidacji krzyżowej

Przewidywanie! Zastosowanie modelu do przewidywania nieznanych danych Użycie instrukcji SELECT Nowa instrukcja PREDICTION JOIN Zwrócone wartości mogą zawierać tabele Na zagnieżdżonych tabelach można wykonywać dalsze instrukcje SELECT

PREDICTION JOIN SELECT [TOP <licznik> ] <lista-wyrażeń> FROM <model> [ [NATURAL] PREDICTION JOIN <dane źródłowe> AS <alias> [ ON <mapowanie-kolumn> ] [ WHERE <wyrażenie filtrujące> ] [ ORDER BY <wyrażenie> ] ]

Nie zapominać o eksploracji i analizie Kilka znakomitych wizualizatorów firmy Microsoft Dostępne w: BIDS, SSMS, SSRS, Excel, Visio oraz w wersji dla aplikacji użytkownika Wiele z nich będzie można obejrzeć dziś po południu! Wyszukując układy, można też wykonywać kwerendy bezpośrednio na modelu eksploracji Wiele przykładów można znaleźć w witrynie SQL Books Online. Można też postarać się o książkę „Data Mining with SQL Server 2005” (autorzy Jamie McLennan i ZhaoHui Tang)

Podsumowanie Tworzenie modelu eksploracji rozpoczyna się od zrozumienia danych: przypadki Należy dobrze zdefiniować typy danych i zawartości w kolumnach oraz ich użycie Zbudować model i trenować go przy użyciu osobnego zestawu danych Przetestować i przeprowadzić walidację przed podjęciem dalszych kroków Przeprowadzić wizualną eksplorację, przewidzieć i ucieszyć się 

2008 Microsoft Corporation & Project Botticelli Ltd 2008 Microsoft Corporation & Project Botticelli Ltd. Wszelkie prawa zastrzeżone. Podane tu informacje mają wyłącznie cel ilustracyjny i stanowią opinie i poglądy firmy Botticelli i/lub Rafała Lukawieckiego. Zaprezentowane materiały nie są pewne i mogą się zmieniać w zależności od kilku czynników. Firma Microsoft nie udziela żadnych gwarancji, wyrażonych wprost, dorozumianych ani ustawowych odnośnie do informacji zawartych w tej prezentacji. © 2007 Project Botticelli Ltd & Microsoft Corp. Niektóre slajdy zawierają cytaty z chronionych prawem autorskim materiałów innych autorów wskazanych za każdym razem. Wszelkie prawa zastrzeżone. Microsoft, Windows, Windows Vista i inne nazwy produktów są lub mogą być zarejestrowanymi znakami handlowymi i/lub znakami handlowymi w Stanach Zjednoczonych i innych krajach. Podane tu informacje mają wyłącznie cel ilustracyjny i stanowią aktualne poglądy firmy Project Botticelli Ltd w dniu tej prezentacji. Ponieważ firmy Project Botticelli & Microsoft muszą reagować na zmiany sytuacji rynkowej, nie można interpretować tych poglądów jako zobowiązanie składane w imieniu firmy Microsoft, a firmy Microsoft i Project Botticelli nie mogą zagwarantować dokładności jakichkolwiek informacji po dacie tej prezentacji. Firma Project Botticelli nie udziela żadnych gwarancji, wyrażonych wprost, dorozumianych ani ustawowych odnośnie do informacji zawartych w tej prezentacji. Możliwe, że prezentacja zawiera błędy i pominięcia.