amo veri incelemesi nesneleri programlama
Veri incelemesi nesneleri Programlama amo kullanarak basit ve anlaşılır. İlk adım, veri yapısı modeli incelemesi proje destek oluşturmaktır. Daha sonra tahmin etmek veya verilerinizi yatan görünmeyen ilişkileri bulmak için kullanmak istediğiniz incelemesi algoritması destekleyen veri incelemesi modeli oluşturun. Oluşturulan incelemesi proje ile (dahil yapısı ve algoritmalar), daha sonra sorgulama ve istemci uygulamasından oluşabileceğini kullanacağınız eğitimli modelleri almak için incelemesi modelleri sonra işleyebilir.
Hatırlanması gereken bir şey var: amo sorgulamak için değil; amo, yönetme ve incelemesi yapıları ve modelleri yönetme içindir. Veri sorgulamak için kullanın adomd ile geliştirilmesi.NET.
Bu konuda aşağıdaki bölümler bulunur:
MiningStructure nesneleri
MiningModel nesneleri
MiningStructure nesneleri
Incelemesi yapısı, tüm incelemesi modelleri oluşturmak için kullanılan veri yapısı tanımıdır. Incelemesi yapısı, veritabanı içinde tanımlanan ve incelemesi modelleri katılan tüm sütun tanımları içeren bir veri kaynağı görünüm bağlama içerir. Bir incelemesi yapısı incelemesi modeli birden fazla olabilir.
Oluşturma bir MiningStructurenesnesi aşağıdaki adımları gerektirir:
Oluşturma MiningStructurenesne ve temel öznitelikler doldurmak. Temel öznitelikleri, nesne adı, nesne kimliğini iç ve veri kaynağı bağlantısı içerir.
Modeli sütunlar oluşturma. Sütun-ebilmek var olmak ikisinden biri sayıl veya tablo tanımları.
Her sütunun adını ve iç kimliği, bir tür, bir içerik tanımı ve bağlama ihtiyacı vardır.
Güncelleştirme MiningStructurenesnesinin Update yöntemini kullanarak sunucu nesnesine.
Yapıları mining işlenen ve bunlar işlendiğinde modelleri mining çocuklar işlenen veya yeniden.
Aşağıdaki örnek kod bir zaman serisi satış tahmin etmek için incelemesi yapısı oluşturur. Örnek kod çalıştırmadan önce emin olun veritabanı db, parametre olarak geçirilen CreateSalesForecastingMiningStructure, içerir db.DataSourceViews[0]görünüm başvuru dbo.vTimeSeriesde Adventure Works DW Multidimensional 2012 örnek veritabanı.
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;
}
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;
}
MiningModel nesneleri
Incelemesi modeli tüm sütunları ve incelemesi algoritması alanında kullanılacak sütun tanımları için depodur.
Oluşturma bir MiningModelnesnesi aşağıdaki adımları gerektirir:
Oluşturma MiningModelnesne ve temel öznitelikler doldurmak.
Temel öznitelikleri, nesne adı, nesne kimliğini iç ve incelemesi algoritması belirtimini içerir.
İncelemesi modeli sütunları ekleyin. Bir sütun durum anahtar olarak tanımlanmalıdır.
Güncelleştirme MiningModelnesnesinin Update yöntemini kullanarak sunucu nesnesine.
MiningModelnesneler işleme üst diğer modellerin bağımsız olarak MiningStructure.
Aşağıdaki örnek kod bir Microsoft Saat Series tahmin modeli "tahmini satış" yapısında oluşturur Incelemesi yapısı:
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;
}
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;
}
Ayrıca bkz.
Başvuru
Kavramlar
Mantıksal Architecture (Analiz Hizmetleri - çok boyutlu verilerle)
Veritabanı nesneleri (Analiz Hizmetleri - çok boyutlu verilerle)