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;
}