Udostępnij za pośrednictwem


Programowanie AMO wyszukiwania danych obiektów

Programowanie wyszukiwanie danych obiektów przy użyciu AMO jest niezwykle proste.Pierwszym krokiem jest utworzenie modelu struktury danych do obsługi projektu wydobycia.A następnie utworzyć dane model wyszukiwania , obsługuje algorytmu wyszukiwania ma być używany do przewidywania lub znaleźć niemieszczącym relacje podstawowych danych.Z górnictwa projektu utworzonych (włączając struktury i algorytmy) można następnie przetwarzać modeli wyszukiwania uzyskania przeszkolony modeli, które będą używane później podczas wykonywania kwerend i przewidywaniu od aplikacji klient.

Jeden element do zapamiętania jest AMO jest nie do badania; AMO jest zarządzanie i administrowanie struktur górnictwa i modeli.Kwerendy danych, użyj ADOMD.NET.

Ten temat zawiera następujące sekcje:

  • Obiekty MiningStructure

  • Obiekty MiningModel

Obiekty MiningStructure

struktura wyszukiwania jest definicja struktury danych, które jest używane do tworzenia wszystkich modeli wyszukiwania.struktura wyszukiwania zawiera powiązanie z widok źródło danych zdefiniowane w bazie danych i zawiera definicje wszystkie kolumny wchodzące w modelach górniczych.struktura wyszukiwania może mieć więcej niż jeden model wyszukiwania.

Tworzenie MiningStructure obiektu wymaga następujących kroków:

  1. Tworzenie MiningStructure object i wypełniania podstawowych atrybutów.Atrybuty podstawowe obejmują nazwę obiektu, obiekt identyfikator wewnętrzny i powiązanie źródło danych.

  2. Tworzenie kolumn dla modelu.Kolumny mogą być albo skalarnymi lub tabela definicje.

    Każda kolumna musi nazwę i identyfikator wewnętrzny, typ, definicja zawartości i powiązanie.

  3. Aktualizacja MiningStructure obiektu do serwera przy użyciu metoda aktualizacji obiektu.

    Górnictwo struktur mogą być przetwarzane, a gdy są przetwarzane, dzieci, górnictwo modele są przetwarzane lub retrained.

Następujący przykładowy kod tworzy strukturę górnictwo do prognozy sprzedaży w czas serii.Upewnij się, że przed uruchomieniem przykładowy kod, bazy danych db, przekazane jako parametr dla CreateSalesForecastingMiningStructure, zawiera w db.DataSourceViews[0] odwołanie do widoku dbo.vTimeSeries w AdventureWorksDW przykładowej bazy danych.

public static MiningStructure CreateSalesForecastingMiningStructure(Database db)
{
    MiningStructure ms = db.MiningStructures.FindByName("Forecasting Sales Structure");
    if (ms != null)
        ms.Drop();
    ms = db.MiningStructures.Add("Forecasting Sales Structure", "Forecasting Sales Structure");
    ms.Source = new DataSourceViewBinding(db.DataSourceViews[0].ID);

    ScalarMiningStructureColumn amount = ms.Columns.Add("Amount", "Amount");
    amount.Type = MiningStructureColumnTypes.Double;
    amount.Content = MiningStructureColumnContents.Continuous;
    amount.KeyColumns.Add("vTimeSeries", "Amount", OleDbType.Currency);

    ScalarMiningStructureColumn modelRegion = ms.Columns.Add("Model Region", "Model Region");
    modelRegion.IsKey = true;
    modelRegion.Type = MiningStructureColumnTypes.Text;
    modelRegion.Content = MiningStructureColumnContents.Key;
    modelRegion.KeyColumns.Add("vTimeSeries", "ModelRegion", OleDbType.WChar, 56);

    ScalarMiningStructureColumn qty = ms.Columns.Add("Quantity", "Quantity");
    qty.Type = MiningStructureColumnTypes.Long;
    qty.Content = MiningStructureColumnContents.Continuous;
    qty.KeyColumns.Add("vTimeSeries", "Quantity", OleDbType.Integer);

    ScalarMiningStructureColumn timeIndex = ms.Columns.Add("TimeIndex", "TimeIndex");
    timeIndex.IsKey = true;
    timeIndex.Type = MiningStructureColumnTypes.Long;
    timeIndex.Content = MiningStructureColumnContents.KeyTime;
    timeIndex.KeyColumns.Add("vTimeSeries", "TimeIndex", OleDbType.Integer);

    ms.Update();
    return ms;
}

Obiekty MiningModel

model wyszukiwania jest repozytorium dla wszystkich kolumnas i kolumna definicje używane w algorytmu wyszukiwania.

Tworzenie MiningModel obiektu wymaga następujących kroków:

  1. Tworzenie MiningModel object i wypełniania podstawowych atrybutów.

    Atrybuty podstawowe obejmują nazwę obiektu, obiekt identyfikator wewnętrzny i specyfikacji algorytm wyszukiwania.

  2. Dodawanie kolumn z model wyszukiwania.Jedna z kolumn musi być zdefiniowany jako klucz przypadku.

  3. Aktualizacja MiningModel obiektu do serwera przy użyciu metoda aktualizacji obiektu.

    MiningModelobiekty mogą być przetwarzane niezależnie od innych modeli w obiekcie nadrzędnym MiningStructure.

Następujący przykładowy kod tworzy na podstawie "Prognozowanie sprzedaży struktury" model prognozowania szeregu czasowego Microsoft struktura wyszukiwania:

public static MiningModel CreateSalesForecastingMiningModel(MiningStructure ms)
{
    if (ms.MiningModels.ContainsName("Sales Forecasting Model"))
    {
        ms.MiningModels["Sales Forecasting Model"].Drop();
    }
    MiningModel mm = ms.CreateMiningModel(true, "Sales Forecasting Model");
    mm.Algorithm = MiningModelAlgorithms.MicrosoftTimeSeries;
    mm.AlgorithmParameters.Add("PERIODICITY_HINT", "{12}");

    MiningModelColumn amount = new MiningModelColumn();
    amount.SourceColumnID = "Amount";
    amount.Usage = MiningModelColumnUsages.Predict;

    MiningModelColumn modelRegion = new MiningModelColumn();
    modelRegion.SourceColumnID = "Model Region";
    modelRegion.Usage = MiningModelColumnUsages.Key;

    MiningModelColumn qty = new MiningModelColumn();
    qty.SourceColumnID = "Quantity";
    qty.Usage = MiningModelColumnUsages.Predict;

    MiningModelColumn ti = new MiningModelColumn();
    ti.SourceColumnID = "TimeIndex";
    ti.Usage = MiningModelColumnUsages.Key;

    mm.Update();
    mm.Process(ProcessType.ProcessFull);
    return mm;
}