共用方式為


離散化方法 (數據採礦)

適用於: SQL Server 2019 和舊版 Analysis Services Azure Analysis Services Fabric/Power BI Premium

重要

SQL Server 2017 Analysis Services 中已淘汰數據採礦,現在已在 SQL Server 2022 Analysis Services 中停止。 檔不會更新為已淘汰和已停止的功能。 若要深入瞭解,請參閱 Analysis Services 回溯相容性

一些用來在 SQL Server SQL Server Analysis Services 中建立數據採礦模型的演算法需要特定內容類型才能正常運作。 例如,Microsoft貝氏機率分類演算法無法使用連續數據行作為輸入,也無法預測連續值。 此外,某些數據行可能包含這麼多值,因此演算法無法輕易識別要建立模型之數據中的有趣模式。

在這些情況下,您可以離散化數據行中的數據,讓演算法能夠產生採礦模型。 離散化 是將值放入貯體的程式,以便有有限的可能狀態。 貯體本身會被視為已排序和離散值。 您可以離散化數值和字串資料行。

有數種方法可用來離散化數據。 如果您的資料採礦解決方案使用關係型數據,您可以藉由設定 DiscretizationBucketCount 屬性的值來控制要用於分組數據的貯體數目。 貯體的預設數目為 5。

如果您的數據採礦解決方案使用在線分析處理 (OLAP) Cube 中的數據,數據採礦演算法會自動使用下列方程式計算要產生的貯體數目,其中 n 是數據行中相異值的數目:

Number of Buckets = sqrt(n)

如果您不想讓 SQL Server Analysis Services 計算貯體數目,您可以使用 DiscretizationBucketCount 屬性手動指定貯體數目。

下表描述可用來在 SQL Server Analysis Services 中離散化數據的方法。

離散化方法 描述
AUTOMATIC SQL Server Analysis Services 會決定要使用的離散化方法。
叢集 此演算法會藉由取樣定型數據、初始化為數個隨機點,然後使用預期最大化 (EM) 叢集方法執行數個Microsoft群集演算法的反覆專案,將數據分割成群組。 CLUSTERS 方法很有用,因為它適用於任何分佈曲線。 不過,它需要比其他離散化方法更多的處理時間。

這個方法只能與數值數據行搭配使用。
EQUAL_AREAS 演算法會將數據分割成包含相等值數目的群組。 這個方法最適合用於常態分佈曲線,但如果分佈包含連續數據中窄群組中發生的大量值,則效果不佳。 例如,如果專案中有一半的成本為 0,則數據會在曲線的單一點下發生一半。 在這類散發中,此方法會中斷數據,以在多個區域中建立相等離散化。 這會產生不正確的數據表示法。

言論

  • 您可以使用 EQUAL_AREAS 方法來離散化字串。

  • CLUSTERS 方法會使用 1000 筆記錄的隨機樣本來離散化數據。 如果您不想讓演算法取樣數據,請使用 EQUAL_AREAS 方法。

另請參閱

內容類型 (資料採礦)
內容類型 (DMX)
數據採礦演算法 (Analysis Services - 數據採礦)
採礦結構 (Analysis Services - 數據採礦)
資料類型 (資料採礦)
採礦結構數據行
數據行散發 (資料採礦)