GaussianMixture¶
-
類
pyspark.ml.clustering。
GaussianMixture
( *,featuresCol:str=“特性”,predictionCol:str=“預測”,k:int=2,probabilityCol:str=“概率”,托爾:浮動=0.01,麥克斯特:int=One hundred.,種子:可選(int]=沒有一個,aggregationDepth:int=2,weightCol:可選(str]=沒有一個 ) ¶ -
GaussianMixture集群。這類執行期望最大化的多元高斯混合模型(gmm)。GMM代表一個複合分布獨立的高斯分布與相關的“混合”指定每個貢獻的組合權重。
給定一組采樣點,這個類將最大化對數似混合高斯模型的k,迭代直到對數似變化小於convergenceTol,或直到它達到最大迭代次數。雖然這個過程是一般保證收斂,不能保證找到全局最優。
筆記
對高維數據(有許多特性),該算法可能表現不佳。這是由於高維數據(a)很難在所有集群(基於統計/理論參數)和(b)與高斯分布數值問題。
例子
> > >從pyspark.ml.linalg進口向量
> > >數據=((向量。密集的([- - - - - -0.1,- - - - - -0.05),),…(向量。密集的([- - - - - -0.01,- - - - - -0.1),),…(向量。密集的([0.9,0.8),),…(向量。密集的([0.75,0.935),),…(向量。密集的([- - - - - -0.83,- - - - - -0.68),),…(向量。密集的([- - - - - -0.91,- - - - - -0.76),)> > >df=火花。createDataFrame(數據,(“特征”])> > >通用汽車=GaussianMixture(k=3,托爾=0.0001,種子=10)> > >通用汽車。getMaxIter()One hundred.> > >通用汽車。setMaxIter(30.)GaussianMixture……> > >通用汽車。getMaxIter()30.> > >模型=通用汽車。適合(df)> > >模型。getAggregationDepth()2> > >模型。getFeaturesCol()“特性”> > >模型。setPredictionCol(“newPrediction”)GaussianMixtureModel……> > >模型。預測(df。頭()。特性)2> > >模型。predictProbability(df。頭()。特性)DenseVector ((0.0, 0.0, 1.0))> > >模型。hasSummary真正的> > >總結=模型。總結> > >總結。k3> > >總結。clusterSizes(2,2,2)> > >權重=模型。權重> > >len(權重)3> > >高斯函數=模型。高斯函數> > >len(高斯函數)3> > >高斯函數(0]。的意思是DenseVector ([0.825, 0.8675])> > >高斯函數(0]。浸DenseMatrix (2, 2, 0.0056, -0.0051, -0.0051, 0.0046, 0)> > >高斯函數(1]。的意思是DenseVector ([-0.87, -0.72])> > >高斯函數(1]。浸DenseMatrix (2, 2, 0.0016, 0.0016, 0.0016, 0.0016, 0)> > >高斯函數(2]。的意思是DenseVector ([-0.055, -0.075])> > >高斯函數(2]。浸DenseMatrix (2, 2, 0.002, -0.0011, -0.0011, 0.0006, 0)> > >模型。gaussiansDF。選擇(“的意思是”)。頭()行(意味著= DenseVector ([0.825, 0.8675]))> > >模型。gaussiansDF。選擇(“浸”)。頭()行(x = DenseMatrix(2, 2,(0.0056, -0.0051, -0.0051, 0.0046),假))> > >改變了=模型。變換(df)。選擇(“特征”,“newPrediction”)> > >行=改變了。收集()> > >行(4]。newPrediction= =行(5]。newPrediction真正的> > >行(2]。newPrediction= =行(3]。newPrediction真正的> > >gmm_path=temp_path+“/ gmm”> > >通用汽車。保存(gmm_path)> > >gm2=GaussianMixture。負載(gmm_path)> > >gm2。getK()3> > >model_path=temp_path+“/ gmm_model”> > >模型。保存(model_path)> > >model2=GaussianMixtureModel。負載(model_path)> > >model2。hasSummary假> > >model2。權重= =模型。權重真正的> > >model2。高斯函數(0]。的意思是= =模型。高斯函數(0]。的意思是真正的> > >model2。高斯函數(0]。浸= =模型。高斯函數(0]。浸真正的> > >model2。高斯函數(1]。的意思是= =模型。高斯函數(1]。的意思是真正的> > >model2。高斯函數(1]。浸= =模型。高斯函數(1]。浸真正的> > >model2。高斯函數(2]。的意思是= =模型。高斯函數(2]。的意思是真正的> > >model2。高斯函數(2]。浸= =模型。高斯函數(2]。浸真正的> > >model2。gaussiansDF。選擇(“的意思是”)。頭()行(意味著= DenseVector ([0.825, 0.8675]))> > >model2。gaussiansDF。選擇(“浸”)。頭()行(x = DenseMatrix(2, 2,(0.0056, -0.0051, -0.0051, 0.0046),假))> > >模型。變換(df)。取(1)= =model2。變換(df)。取(1)真正的> > >gm2。setWeightCol(“重量”)GaussianMixture……
方法
清晰的
(參數)清除參數映射的參數是否被顯式地設置。
複製
((額外的))創建這個實例的副本具有相同uid和一些額外的參數。
explainParam
(參數)解釋一個參數並返回它的名字,醫生,和可選的默認值,用戶提供的字符串值。
返回文檔的所有參數選擇默認值和用戶提供的值。
extractParamMap
((額外的))提取嵌入默認參數值和用戶提供的值,然後合並他們額外的值從輸入平麵參數映射,後者使用價值如果存在衝突,即。排序:默認參數值< <額外的用戶提供的值。
適合
(數據集[params))適合一個模型與可選參數的輸入數據集。
fitMultiple
(paramMaps數據集)適合一個模型為每個參數映射的輸入數據集paramMaps。
得到的價值aggregationDepth或其默認值。
得到的價值featuresCol或其默認值。
getK
()獲得的價值k
麥克斯特的價值或其默認值。
getOrDefault
(參數)得到參數的值在用戶提供的參數映射或其默認值。
getParam
(paramName)通過它的名稱參數。
得到的價值predictionCol或其默認值。
得到的價值probabilityCol或其默認值。
getSeed
()種子的價值或其默認值。
getTol
()被托爾的價值或其默認值。
得到的價值weightCol或其默認值。
hasDefault
(參數)檢查是否一個參數有默認值。
hasParam
(paramName)測試這個實例包含一個參數是否與給定名稱(字符串)。
isDefined
(參數)檢查參數是否由用戶或顯式地設置一個默認值。
收取
(參數)檢查參數是否由用戶顯式地設置。
負載
(路徑)從輸入路徑,讀取一個毫升實例的快捷方式read () .load(路徑)。
讀
()返回一個MLReader這個類的實例。
保存
(路徑)這個毫升實例保存到給定的路徑,一個快捷方式的“寫().save(路徑)。
集
(參數值)設置一個參數嵌入參數映射。
設置的值
aggregationDepth
。設置的值
featuresCol
。setK
(值)設置的值
k
。setMaxIter
(值)設置的值
麥克斯特
。setparam
(自我\ * (featuresCol,…))GaussianMixture設置參數。
設置的值
predictionCol
。設置的值
probabilityCol
。setSeed
(值)設置的值
種子
。setTol
(值)設置的值
托爾
。setWeightCol
(值)設置的值
weightCol
。寫
()返回一個MLWriter實例毫升實例。
屬性
返回所有參數命令的名字。
方法的文檔
-
清晰的
( 參數:pyspark.ml.param.Param )→沒有¶ -
清除參數映射的參數是否被顯式地設置。
-
複製
( 額外的:可選(ParamMap]=沒有一個 )→摩根大通¶ -
創建這個實例的副本具有相同uid和一些額外的參數。這個實現第一次調用參數。複製and then make a copy of the companion Java pipeline component with extra params. So both the Python wrapper and the Java pipeline component get copied.
- 參數
-
- 額外的 東西,可選
-
額外參數複製到新實例
- 返回
-
-
JavaParams
-
這個實例的副本
-
-
explainParam
( 參數:聯盟(str,pyspark.ml.param.Param] )→str¶ -
解釋一個參數並返回它的名字,醫生,和可選的默認值,用戶提供的字符串值。
-
explainParams
( )→str¶ -
返回文檔的所有參數選擇默認值和用戶提供的值。
-
extractParamMap
( 額外的:可選(ParamMap]=沒有一個 )→ParamMap¶ -
提取嵌入默認參數值和用戶提供的值,然後合並他們額外的值從輸入平麵參數映射,後者使用價值如果存在衝突,即。排序:默認參數值< <額外的用戶提供的值。
- 參數
-
- 額外的 東西,可選
-
額外的參數值
- 返回
-
- dict
-
合並後的參數映射
-
適合
( 數據集:pyspark.sql.dataframe.DataFrame,參數個數:聯盟[ParamMap、列表(ParamMap)元組(ParamMap),沒有一個)=沒有一個 )→聯盟(米,列表(米] ] ¶ -
適合一個模型與可選參數的輸入數據集。
- 參數
-
-
數據集
pyspark.sql.DataFrame
-
輸入數據集。
- 參數個數 dict或列表或元組,可選的
-
一個可選的參數覆蓋嵌入參數的地圖。如果列表/元組的參數映射,這適用於每一個參數並返回一個列表的模型映射。
-
數據集
- 返回
-
-
變壓器
或者一個列表變壓器
-
擬合模型(年代)
-
-
fitMultiple
( 數據集:pyspark.sql.dataframe.DataFrame,paramMaps:序列(ParamMap] )→迭代器(元組(int,米] ] ¶ -
適合一個模型為每個參數映射的輸入數據集paramMaps。
- 參數
-
-
數據集
pyspark.sql.DataFrame
-
輸入數據集。
-
paramMaps
collections.abc.Sequence
-
一係列的參數映射。
-
數據集
- 返回
-
-
_FitMultipleIterator
-
一個線程安全的iterable包含為每個參數映射模型。每次調用下一個(modelIterator)將返回(指數模型)模型是適合使用在哪裏paramMaps(指數)。指數值可能不是連續的。
-
-
getAggregationDepth
( )→int¶ -
得到的價值aggregationDepth或其默認值。
-
getFeaturesCol
( )→str¶ -
得到的價值featuresCol或其默認值。
-
getK
( )→int¶ -
獲得的價值k
-
getMaxIter
( )→int¶ -
麥克斯特的價值或其默認值。
-
getOrDefault
( 參數:聯盟(str,pyspark.ml.param.Param(T]] )→聯盟(任何,T] ¶ -
得到參數的值在用戶提供的參數映射或其默認值。如果沒有設置提出了一個錯誤。
-
getParam
( paramName:str )→pyspark.ml.param.Param ¶ -
通過它的名稱參數。
-
getPredictionCol
( )→str¶ -
得到的價值predictionCol或其默認值。
-
getProbabilityCol
( )→str¶ -
得到的價值probabilityCol或其默認值。
-
getSeed
( )→int¶ -
種子的價值或其默認值。
-
getTol
( )→浮動¶ -
被托爾的價值或其默認值。
-
getWeightCol
( )→str¶ -
得到的價值weightCol或其默認值。
-
hasDefault
( 參數:聯盟(str,pyspark.ml.param.Param(任何]] )→bool¶ -
檢查是否一個參數有默認值。
-
hasParam
( paramName:str )→bool¶ -
測試這個實例包含一個參數是否與給定名稱(字符串)。
-
isDefined
( 參數:聯盟(str,pyspark.ml.param.Param(任何]] )→bool¶ -
檢查參數是否由用戶或顯式地設置一個默認值。
-
收取
( 參數:聯盟(str,pyspark.ml.param.Param(任何]] )→bool¶ -
檢查參數是否由用戶顯式地設置。
-
classmethod
負載
( 路徑:str )→RL¶ -
從輸入路徑,讀取一個毫升實例的快捷方式read () .load(路徑)。
-
classmethod
讀
( )→pyspark.ml.util.JavaMLReader(RL] ¶ -
返回一個MLReader這個類的實例。
-
保存
( 路徑:str )→沒有¶ -
這個毫升實例保存到給定的路徑,一個快捷方式的“寫().save(路徑)。
-
集
( 參數:pyspark.ml.param.Param,價值:任何 )→沒有¶ -
設置一個參數嵌入參數映射。
-
setAggregationDepth
( 價值:int )→pyspark.ml.clustering.GaussianMixture ¶ -
設置的值
aggregationDepth
。
-
setFeaturesCol
( 價值:str )→pyspark.ml.clustering.GaussianMixture ¶ -
設置的值
featuresCol
。
-
setK
( 價值:int )→pyspark.ml.clustering.GaussianMixture ¶ -
設置的值
k
。
-
setMaxIter
( 價值:int )→pyspark.ml.clustering.GaussianMixture ¶ -
設置的值
麥克斯特
。
-
setparam
( 自我,\ *,featuresCol = "特性",predictionCol = "預測",k = 2,probabilityCol =“概率”,托爾= 0.01,麥克斯特= 100,種子=沒有,aggregationDepth = 2,weightCol =沒有 ) ¶ -
GaussianMixture設置參數。
-
setPredictionCol
( 價值:str )→pyspark.ml.clustering.GaussianMixture ¶ -
設置的值
predictionCol
。
-
setProbabilityCol
( 價值:str )→pyspark.ml.clustering.GaussianMixture ¶ -
設置的值
probabilityCol
。
-
setSeed
( 價值:int )→pyspark.ml.clustering.GaussianMixture ¶ -
設置的值
種子
。
-
setTol
( 價值:浮動 )→pyspark.ml.clustering.GaussianMixture ¶ -
設置的值
托爾
。
-
setWeightCol
( 價值:str )→pyspark.ml.clustering.GaussianMixture ¶ -
設置的值
weightCol
。
-
寫
( )→pyspark.ml.util.JavaMLWriter¶ -
返回一個MLWriter實例毫升實例。
屬性的文檔
-
aggregationDepth
=參數(父母=‘定義’,name = ' aggregationDepth ', doc =的建議深度treeAggregate (> = 2)。) ¶
-
featuresCol
=參數(父母=‘定義’,name = ' featuresCol ', doc =功能列名稱。) ¶
-
k
=參數(父母=‘定義’,名字=“k”,醫生= '的獨立的高斯函數混合模型。必須> 1。) ¶
-
麥克斯特
=參數(父母=‘定義’,name =“麥克斯特”,醫生=“馬克斯(> = 0)的迭代次數。) ¶
-
參數個數
¶ -
返回所有參數命令的名字。默認實現使用
dir ()
所有的屬性類型參數
。
-
predictionCol
=參數(父母=‘定義’,name = ' predictionCol ', doc =預測列名稱。) ¶
-
probabilityCol
=參數(父母=‘定義’,name = ' probabilityCol ', doc = '列名為預測類條件概率。注意:並不是所有的模型輸出精確校準的概率估計!這些概率應該被視為機密,而不是精確的概率。”) ¶
-
種子
=參數(父母=‘定義’,name =“種子”,醫生=“隨機種子。”) ¶
-
托爾
=參數(父母=‘定義’,name =“托爾”,醫生=迭代算法的收斂公差(> = 0)”。) ¶
-
weightCol
=參數(父母=‘定義’,name = ' weightCol ', doc = '體重列名。如果這不是設置或空,我們對所有實例權重為1.0。”) ¶
-