Ders 5: Tahmin sorguları yürütme

Bu derste, kullanacağınız select from <modeli> Tahmin birleştirme (dmx) iki farklı türde Öngörüler oluşturmak için deyim formu esas karar ağacı oluşturulan, model Ders 2: Veri madenciliği modelleri Birliği araştırma yapısı ekleme.Bunlar tahmin türleri aşağıda tanımlanmıştır.

  • Singleton sorgu
    Öngörüler yapılırken anlık değerlerini sağlamak için bir singleton sorgu kullanın.Örneğin, tek bir müşteri büyük bir olasılıkla commute distance, alan kodunu veya müşterinin çocukların sayısı gibi sorgu girdileri geçirerek bir bisiklet alıcı olması olup olmadığını belirleyebilirsiniz.Singleton sorgu nasıl büyük olasılıkla kişi gösteren bir değeri üzerinde bu girişi temel alan bir bisiklet satın almak için verir.

  • Toplu iş sorgu
    Kim de belirlemek için bir toplu iş sorgu kullanın bir tablo Potansiyel müşterilerin bir bisiklet satın almak olasıdır.Pazarlama departmanınızın ile müşteriler ve müşteri öznitelikler listesini sağlar, örneğin, sonra bir toplu iş iş tahmin kim karşı belirlemek için kullanabileceğiniz tablo büyük olasılıkla bir bisiklet satın almak.

The SELECT FROM <model> PREDICTION JOIN (DMX) form of the SELECT statement contains three parts:

  • Döndürülür tahmin işlevleri ve araştırma modeli sütunlar listesi sonuçlar.sonuçlar da kaynak verilerden giriş sütunlar içerebilir.

  • Bir tahmin oluşturmak için kullanılan veri tanımlama kaynak sorgu.Örneğin, bir toplu iş sorgu müşterilerin listesini kaynaklanabilir.

  • Araştırma modeli sütunlar ve kaynak veri arasında bir eşleme.Bu adlar eşleşiyorsa, ardından DOĞAL sözdizimini kullanın ve sütun eşlemeleri dışında bırakın.

Tahmin işlevleri kullanarak daha ayrıntılı sorgu geliştirebilirsiniz.Tahmin işlevleri bir öngörü oluşma olasılığı gibi ek bilgi sağlamak ve öngörü eğitim DataSet için destek sağlar.Tahmin işlevleri hakkında daha fazla bilgi için bkz: İşlevler (dmx).

Bu eğitmenin Öngörüler ProspectiveBuyer tablo esas alan AdventureWorksDW2008R2 örnek veritabanı.ProspectiveBuyer tablo, potansiyel müşteriler ve ilişkili özelliklerini listesini içerir.Müşteriler bu tablo karar ağacı madenciliği model oluşturmak için kullanılan müşterilerin bağımsızdır.

Ayrıca Öngörüler de tahmin Sorgu Oluşturucusu'nu kullanarak oluşturabileceğiniz Business Intelligence Development Studio.Daha fazla bilgi için bkz: Tahmin Sorgu oluşturucunun dmx tahmin sorgular oluşturmak için kullanma.

Ders görevleri

Bu derste aşağıdaki görevleri gerçekleştirecek:

  • Belirli bir müşteri büyük olasılıkla bir bisiklet satın almak olup olmadığını belirlemek için bir singleton sorgu oluşturun.

  • Listelenen hangi müşterilerin belirlemek için toplu iş sorgu oluşturma bir tablo 'ın, büyük olasılıkla bir bisiklet satınalma müşterilerdir.

Singleton sorgu

İlk adım kullanmaktır select from <modeli> tahmin birleştirme (dmx) bir singleton tahmin sorgu.Singleton deyim genel bir örneği aşağıda verilmiştir:

SELECT <select list> FROM [<mining model name>] 
NATURAL PREDICTION JOIN
(SELECT '<value>' AS [<column>], ...)
AS [<input alias>]

Sorgunun döndürmesi ve tahmin oluşturmak için kullanılan araştırma modeli belirtir araştırma modeli sütunlarından kodu ilk satırı tanımlar:

SELECT <select list> FROM [<mining model name>] 

Sonraki kod satırlarını, bir tahmin oluşturmak için kullandığınız müşteri özelliklerini tanımlayın:

NATURAL PREDICTION JOIN
(SELECT '<value>' AS [<column>], ...)
AS [<input alias>]
ORDER BY <expression>

DOĞAL tahmin birleştirme belirtirseniz, sunucu modeli her sütundan giriş, temel alınarak sütun adlarından bir sütuna eşleştirir.Sütunları, sütun adları eşleşmiyorsa, göz ardı edilir.

Bir singleton tahmin sorgu oluşturmak için

  1. De Object Explorer, sağ örnek , 'ınAnalysis Servicesüzerine gelin Yeni bir sorguve i dmx.

    Sorgu Düzenleyicisi açılır ve yeni, boş bir sorgu içeriyor.

  2. Singleton deyim genel örneği boş sorgu kopyalayın.

  3. Aşağıdaki değiştirin:

    <select list> 
    

    ile:

    [Bike Buyer] AS Buyer, PredictHistogram([Bike Buyer]) AS Statistics
    

    as deyim sorgu sonucunda dönen diğer ad ad sütunlar için kullanılır.The PredictHistogram function returns statistics about the prediction, including the probability and the support.Kullanılabilir işlevler hakkında daha fazla bilgi için bir tahmin deyim, bkz: İşlevler (dmx).

  4. Aşağıdaki değiştirin:

    [<mining model>] 
    

    ile:

    [Decision Tree]
    
  5. Aşağıdaki değiştirin:

    (SELECT '<value>' AS [<column name>], ...)  AS t
    

    ile:

    (SELECT 35 AS [Age],
      '5-10 Miles' AS [Commute Distance],
      '1' AS [House Owner Flag],
      2 AS [Number Cars Owned],
      2 AS [Total Children]) AS t
    

    Şimdi, tam deyim aşağıdaki gibi olmalıdır:

    SELECT
       [Bike Buyer] AS Buyer,
       PredictHistogram([Bike Buyer]) AS Statistics
    FROM
       [Decision Tree]
    NATURAL PREDICTION JOIN
    (SELECT 35 AS [Age],
       '5-10 Miles' AS [Commute Distance],
       '1' AS [House Owner Flag],
       2 AS [Number Cars Owned],
       2 AS [Total Children]) AS t
    
  6. Üzerinde Dosya menüsünde'i tıklatın DMXQuery1.dmx Farklı Kaydet.

  7. De Farklı Kaydet iletişim kutusunda uygun klasöre göz atın ve dosyayı adlandırın Singleton_Query.dmx.

  8. Araç çubuğundan, Execute düğme.

    Bir bisiklet gibi de bu öngörü ile ilgili istatistikleri belirtilen özelliklere sahip bir müşteri mi satın alacağınız hakkında bir tahmin sorgu döndürür.

Toplu iş sorgu

Bir sonraki adım kullanmaktır select from <modeli> tahmin birleştirme (dmx) bir toplu iş iş tahmin sorgu.Bir toplu iş deyim genel bir örneği aşağıda verilmiştir:

SELECT TOP <number> <select list> 
FROM [<mining model name>]
PREDICTION JOIN
OPENQUERY([<datasource>],'<SELECT statement>')
  AS [<input alias>]
ON <on clause, mapping,>
WHERE <where clause, boolean expression,>
ORDER BY <expression>

Singleton sorgu olarak, ilk iki satır kod madenciliği modelinin tahmin oluşturmak için kullanılan adı yanı sıra, sorgunun döndürdüğü araştırma modeli sütunlarından tanımlayın.ÜST <numarası> deyim belirtir, sorgu yalnızca döndürecektir numarası veya sonuçlar tarafından belirtilen <sayısı>.

Sonraki kod satırlarını Öngörüler esas kaynak verileri tanımlayın:

OPENQUERY([<datasource>],'<SELECT statement>')
  AS [<input alias>]

Kaynak veri alma yöntem için birkaç seçeneğiniz vardır, ancak Bu öğreticide SORGUAÇ kullanacaktır.Mevcut seçenekler hakkında daha fazla bilgi için bkz: <Kaynak veri sorgusu>.

Bir sonraki satıra kaynak verilerde araştırma modeli kaynak sütunlar ve sütun arasındaki eşlemeyi tanımlar:

ON <column mappings>

where yan tümce tümce tümce tahmin sorgu tarafından döndürülen sonuçlar filtreleri:

WHERE <where clause, boolean expression,>

Son ve isteğe bağlı kod satırı, sonuçlar tarafından sipariş sütun belirtir:

ORDER BY <expression> [DESC|ASC]

order by üst bulunmak <sayısı> deyim, döndürülen sonuçlar filtrelemek için.Örneğin, içinde tahmin olasılığını tarafından sipariş edilen ilk on bike alıcıların döner tahmin doğru olan.[Açıkl| kullanabilirsinizasc] sözdizimi düzenini denetlemek için sonuçlar görüntülenir.

Bir toplu iş iş tahmin sorgu oluşturmak için

  1. De Object Explorer, sağ örnek , 'ınAnalysis Servicesüzerine gelin Yeni bir sorguve i dmx.

    Sorgu Düzenleyicisi açılır ve yeni, boş bir sorgu içeriyor.

  2. toplu iş iş deyim genel örneği boş sorgu kopyalayın.

  3. Aşağıdaki değiştirin:

    <select list> 
    

    ile:

    SELECT
      TOP 10
      t.[LastName],
      t.[FirstName],
      [Decision Tree].[Bike Buyer],
      PredictProbability([Bike Buyer])
    

    İlk 10, yalnızca üst on sonuçlar sorgu tarafından döndürülen belirtir.Bu sorgu içinde order by deyim sonuçlar olasılığı, siparişleri tahmin doğru olan, bu nedenle yalnızca on en olası sonuçlar döndürülür.

  4. Aşağıdaki değiştirin:

    [<mining model>] 
    

    ile:

    [Decision Tree]
    
  5. Aşağıdaki değiştirin:

    OPENQUERY([<datasource>],'<SELECT statement>')
    

    ile:

      OPENQUERY([Adventure Works DW2008R2],
        'SELECT
          [LastName],
          [FirstName],
          [MaritalStatus],
          [Gender],
          [YearlyIncome],
          [TotalChildren],
          [NumberChildrenAtHome],
          [Education],
          [Occupation],
          [HouseOwnerFlag],
          [NumberCarsOwned]
        FROM
          [dbo].[ProspectiveBuyer]
        ') AS t
    
  6. Aşağıdaki değiştirin:

    <ON clause, mapping,> 
    WHERE <where clause, boolean expression,>
    ORDER BY <expression>
    

    ile:

    [Decision Tree].[Marital Status] = t.[MaritalStatus] AND
      [Decision Tree].[Gender] = t.[Gender] AND
      [Decision Tree].[Yearly Income] = t.[YearlyIncome] AND
      [Decision Tree].[Total Children] = t.[TotalChildren] AND
      [Decision Tree].[Number Children At Home] = t.[NumberChildrenAtHome] AND
      [Decision Tree].[Education] = t.[Education] AND
      [Decision Tree].[Occupation] = t.[Occupation] AND
      [Decision Tree].[House Owner Flag] = t.[HouseOwnerFlag] AND
      [Decision Tree].[Number Cars Owned] = t.[NumberCarsOwned]
    WHERE [Decision Tree].[Bike Buyer] =1
    ORDER BY PredictProbability([Bike Buyer]) DESC
    

    Belirtmek DESC listelemek için sonuçlar en yüksek olasılık ile ilk.

    Şimdi, tam deyim aşağıdaki gibi olmalıdır:

    SELECT
      TOP 10
      t.[LastName],
      t.[FirstName],
      [Decision Tree].[Bike Buyer],
      PredictProbability([Bike Buyer])
    FROM
      [Decision Tree]
    PREDICTION JOIN
      OPENQUERY([Adventure Works DW2008R2],
        'SELECT
          [LastName],
          [FirstName],
          [MaritalStatus],
          [Gender],
          [YearlyIncome],
          [TotalChildren],
          [NumberChildrenAtHome],
          [Education],
          [Occupation],
          [HouseOwnerFlag],
          [NumberCarsOwned]
        FROM
          [dbo].[ProspectiveBuyer]
        ') AS t
    ON
      [Decision Tree].[Marital Status] = t.[MaritalStatus] AND
      [Decision Tree].[Gender] = t.[Gender] AND
      [Decision Tree].[Yearly Income] = t.[YearlyIncome] AND
      [Decision Tree].[Total Children] = t.[TotalChildren] AND
      [Decision Tree].[Number Children At Home] = t.[NumberChildrenAtHome] AND
      [Decision Tree].[Education] = t.[Education] AND
      [Decision Tree].[Occupation] = t.[Occupation] AND
      [Decision Tree].[House Owner Flag] = t.[HouseOwnerFlag] AND
      [Decision Tree].[Number Cars Owned] = t.[NumberCarsOwned]
    WHERE [Decision Tree].[Bike Buyer] =1
    ORDER BY PredictProbability([Bike Buyer]) DESC
    
  7. Üzerinde Dosya menüsünde'i tıklatın DMXQuery1.dmx Farklı Kaydet.

  8. De Farklı Kaydet iletişim kutusunda uygun klasöre göz atın ve dosyayı adlandırın Batch_Prediction.dmx.

  9. Araç çubuğundan, Execute düğme.

    Müşteri adlarını içeren bir tablo, her müşteri, bir bisiklet ve tahmini olasılık olup satın alacağınız bir tahmin sorgu döndürür.

Bisiklet alıcı öğreticide son adım budur.Şimdi sahip bir küme madenciliği modellerin benzerlikler arasında müşterilere araştırmanız ve potansiyel müşterilerin bir bisiklet satın alacağınız tahmin etmek için kullanabilirsiniz.

Pazar sepeti senaryoda dmx kullanmayı öğrenmek için bkz: Pazar sepeti dmx öğreticisi.