肌萎縮性側索硬化症¶
-
類
pyspark.ml.recommendation。
肌萎縮性側索硬化症
( *,排名:int=10,麥克斯特:int=10,regParam:浮動=0.1,numUserBlocks:int=10,numItemBlocks:int=10,implicitPrefs:bool=假,α:浮動=1.0,userCol:str=“用戶”,itemCol:str=“項目”,種子:可選(int]=沒有一個,ratingCol:str=“評級”,非負:bool=假,checkpointInterval:int=10,intermediateStorageLevel:str=“MEMORY_AND_DISK”,finalStorageLevel:str=“MEMORY_AND_DISK”,coldStartStrategy:str=“南”,blockSize:int=4096年 ) ¶ -
交替最小二乘(ALS)矩陣分解。
ALS試圖評估評級矩陣R兩個低等級矩陣的乘積,X和Y,即X *次= R。通常,這些近似矩陣被稱為“因素”。一般方法是迭代。在每個迭代中,矩陣的一個因素是保持不變,而另一種是使用最小二乘解。newly-solved因子矩陣然後保持不變而解決其他因子矩陣。
ALS的這是一個阻塞實現分解算法組兩組因素(稱為“用戶”和“產品”)成塊,減少溝通隻發送一份每個用戶向量在每個迭代中,每個產品塊產品,隻有塊需要用戶的特征向量。這是通過並不是預先計算的一些信息評級矩陣確定每個用戶的“外部鏈接”產品將有助於(塊)和“在鏈接”信息為每個產品(每個用戶的特征向量接收塊這將取決於)。這讓我們隻發送一個數組的每個用戶塊和產品塊之間的特征向量,並有產品塊找到用戶的評級基於這些信息和更新產品。
對於內隱偏好數據,該算法是基於使用隱beplay娱乐ios含的反饋數據集的“協同過濾”,這裏使用,用於屏蔽方法。
本質上,而不是尋找評級矩陣的低秩近似R這個發現,偏好矩陣的近似P的元素P1如果r > 0, 0如果r < = 0。然後評級作為“信心”值表示用戶首選項的相關強度而不是明確的評分項目。
筆記
輸入評級dataframe ALS的實現應該是確定的。在擬合ALS模型不確定性數據會導致失敗。例如,一個order-sensitive操作像抽樣後重新分區使dataframe輸出不確定性,df.repartition (2)。樣本(False, 0.5, 1618)。檢查點采樣dataframe之前或添加一個抽樣可以幫助使dataframe確定的。
例子
> > >df=火花。createDataFrame(…((0,0,4.0),(0,1,2.0),(1,1,3.0),(1,2,4.0),(2,1,1.0),(2,2,5.0)),…(“用戶”,“項目”,“評級”])> > >肌萎縮性側索硬化症=肌萎縮性側索硬化症(排名=10,種子=0)> > >肌萎縮性側索硬化症。setMaxIter(5)ALS……> > >肌萎縮性側索硬化症。getMaxIter()5> > >肌萎縮性側索硬化症。setRegParam(0.1)ALS……> > >肌萎縮性側索硬化症。getRegParam()0.1> > >肌萎縮性側索硬化症。清晰的(肌萎縮性側索硬化症。regParam)> > >模型=肌萎縮性側索硬化症。適合(df)> > >模型。getBlockSize()4096年> > >模型。getUserCol()“用戶”> > >模型。setUserCol(“用戶”)ALSModel……> > >模型。getItemCol()“項目”> > >模型。setPredictionCol(“newPrediction”)ALS……> > >模型。排名10> > >模型。userFactors。orderBy(“id”)。收集()行(id = 0,特性=[…])、行(id = 1,…),行(id = 2,…)> > >測試=火花。createDataFrame(((0,2),(1,0),(2,0)),(“用戶”,“項目”])> > >預測=排序(模型。變換(測試)。收集(),關鍵=λr:r(0])> > >預測(0]行(用戶= 0,項= 2,newPrediction = 0.6929…)> > >預測(1]行(用戶= 1項= 0,newPrediction = 3.47356…)> > >預測(2]行(用戶= 2,項= 0,newPrediction = -0.899198…)> > >user_recs=模型。recommendForAllUsers(3)> > >user_recs。在哪裏(user_recs。用戶= =0)。選擇(“recommendations.item”,“recommendations.rating”)。收集()行(項=(0,1,2)評級= [3.910……,1.997……,0。692...])]> > >item_recs=模型。recommendForAllItems(3)> > >item_recs。在哪裏(item_recs。項= =2)。選擇(“recommendations.user”,“recommendations.rating”)。收集()行(用戶=(2,1,0),評級= [4.892……,3.991……,0。692...])]> > >user_subset=df。在哪裏(df。用戶= =2)> > >user_subset_recs=模型。recommendForUserSubset(user_subset,3)> > >user_subset_recs。選擇(“recommendations.item”,“recommendations.rating”)。第一個()行(項=(2,1,0),評級= [4.892……,1.076……,-0.899...])> > >item_subset=df。在哪裏(df。項= =0)> > >item_subset_recs=模型。recommendForItemSubset(item_subset,3)> > >item_subset_recs。選擇(“recommendations.user”,“recommendations.rating”)。第一個()行(用戶=(0,1,2)評級= [3.910……,3.473……,-0.899...])> > >als_path=temp_path+“/肌萎縮性側索硬化症”> > >肌萎縮性側索硬化症。保存(als_path)> > >als2=肌萎縮性側索硬化症。負載(als_path)> > >肌萎縮性側索硬化症。getMaxIter()5> > >model_path=temp_path+“/ als_model”> > >模型。保存(model_path)> > >model2=ALSModel。負載(model_path)> > >模型。排名= =model2。排名真正的> > >排序(模型。userFactors。收集())= =排序(model2。userFactors。收集())真正的> > >排序(模型。itemFactors。收集())= =排序(model2。itemFactors。收集())真正的> > >模型。變換(測試)。排序(“用戶”)。取(1)= =model2。變換(測試)。排序(“用戶”)。取(1)真正的
方法
清晰的
(參數)清除參數映射的參數是否被顯式地設置。
複製
((額外的))創建這個實例的副本具有相同uid和一些額外的參數。
explainParam
(參數)解釋一個參數並返回它的名字,醫生,和可選的默認值,用戶提供的字符串值。
返回文檔的所有參數選擇默認值和用戶提供的值。
extractParamMap
((額外的))提取嵌入默認參數值和用戶提供的值,然後合並他們額外的值從輸入平麵參數映射,後者使用價值如果存在衝突,即。排序:默認參數值< <額外的用戶提供的值。
適合
(數據集[params))適合一個模型與可選參數的輸入數據集。
fitMultiple
(paramMaps數據集)適合一個模型為每個參數映射的輸入數據集paramMaps。
getAlpha
()得到α的值或其默認值。
得到的價值blockSize或其默認值。
得到的價值checkpointInterval或其默認值。
得到的價值coldStartStrategy或其默認值。
得到的價值finalStorageLevel或其默認值。
得到的價值implicitPrefs或其默認值。
得到的價值intermediateStorageLevel或其默認值。
得到的價值itemCol或其默認值。
麥克斯特的價值或其默認值。
得到的值非負或其默認值。
得到的價值numItemBlocks或其默認值。
得到的價值numUserBlocks或其默認值。
getOrDefault
(參數)得到參數的值在用戶提供的參數映射或其默認值。
getParam
(paramName)通過它的名稱參數。
得到的價值predictionCol或其默認值。
getRank
()獲得的價值等級或其默認值。
得到的價值ratingCol或其默認值。
得到的價值regParam或其默認值。
getSeed
()種子的價值或其默認值。
得到的價值userCol或其默認值。
hasDefault
(參數)檢查是否一個參數有默認值。
hasParam
(paramName)測試這個實例包含一個參數是否與給定名稱(字符串)。
isDefined
(參數)檢查參數是否由用戶或顯式地設置一個默認值。
收取
(參數)檢查參數是否由用戶顯式地設置。
負載
(路徑)從輸入路徑,讀取一個毫升實例的快捷方式read () .load(路徑)。
讀
()返回一個MLReader這個類的實例。
保存
(路徑)這個毫升實例保存到給定的路徑,一個快捷方式的“寫().save(路徑)。
集
(參數值)設置一個參數嵌入參數映射。
setAlpha
(值)設置的值
α
。setBlockSize
(值)設置的值
blockSize
。設置的值
checkpointInterval
。設置的值
coldStartStrategy
。設置的值
finalStorageLevel
。設置的值
implicitPrefs
。setItemCol
(值)設置的值
itemCol
。setMaxIter
(值)設置的值
麥克斯特
。設置的值
非負
。setNumBlocks
(值)設置兩個
numUserBlocks
和numItemBlocks
特定值。設置的值
numItemBlocks
。設置的值
numUserBlocks
。setparam
(自我,\[、等級、麥克斯特、…))ALS的設置參數。
設置的值
predictionCol
。setRank
(值)設置的值
排名
。setRatingCol
(值)設置的值
ratingCol
。setRegParam
(值)設置的值
regParam
。setSeed
(值)設置的值
種子
。setUserCol
(值)設置的值
userCol
。寫
()返回一個MLWriter實例毫升實例。
屬性
返回所有參數命令的名字。
方法的文檔
-
清晰的
( 參數:pyspark.ml.param.Param )→沒有¶ -
清除參數映射的參數是否被顯式地設置。
-
複製
( 額外的:可選(ParamMap]=沒有一個 )→摩根大通¶ -
創建這個實例的副本具有相同uid和一些額外的參數。這個實現第一次調用參數。複製和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(指數)。指數值可能不是連續的。
-
-
getAlpha
( )→浮動¶ -
得到α的值或其默認值。
-
getBlockSize
( )→int¶ -
得到的價值blockSize或其默認值。
-
getCheckpointInterval
( )→int¶ -
得到的價值checkpointInterval或其默認值。
-
getColdStartStrategy
( )→str¶ -
得到的價值coldStartStrategy或其默認值。
-
getFinalStorageLevel
( )→str¶ -
得到的價值finalStorageLevel或其默認值。
-
getImplicitPrefs
( )→bool¶ -
得到的價值implicitPrefs或其默認值。
-
getIntermediateStorageLevel
( )→str¶ -
得到的價值intermediateStorageLevel或其默認值。
-
getItemCol
( )→str¶ -
得到的價值itemCol或其默認值。
-
getMaxIter
( )→int¶ -
麥克斯特的價值或其默認值。
-
getNonnegative
( )→bool¶ -
得到的值非負或其默認值。
-
getNumItemBlocks
( )→int¶ -
得到的價值numItemBlocks或其默認值。
-
getNumUserBlocks
( )→int¶ -
得到的價值numUserBlocks或其默認值。
-
getOrDefault
( 參數:聯盟(str,pyspark.ml.param.Param(T]] )→聯盟(任何,T] ¶ -
得到參數的值在用戶提供的參數映射或其默認值。如果沒有設置提出了一個錯誤。
-
getParam
( paramName:str )→pyspark.ml.param.Param ¶ -
通過它的名稱參數。
-
getPredictionCol
( )→str¶ -
得到的價值predictionCol或其默認值。
-
getRank
( )→int¶ -
獲得的價值等級或其默認值。
-
getRatingCol
( )→str¶ -
得到的價值ratingCol或其默認值。
-
getRegParam
( )→浮動¶ -
得到的價值regParam或其默認值。
-
getSeed
( )→int¶ -
種子的價值或其默認值。
-
getUserCol
( )→str¶ -
得到的價值userCol或其默認值。
-
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,價值:任何 )→沒有¶ -
設置一個參數嵌入參數映射。
-
setAlpha
( 價值:浮動 )→pyspark.ml.recommendation.ALS ¶ -
設置的值
α
。
-
setBlockSize
( 價值:int )→pyspark.ml.recommendation.ALS ¶ -
設置的值
blockSize
。
-
setCheckpointInterval
( 價值:int )→pyspark.ml.recommendation.ALS ¶ -
設置的值
checkpointInterval
。
-
setColdStartStrategy
( 價值:str )→pyspark.ml.recommendation.ALS ¶ -
設置的值
coldStartStrategy
。
-
setFinalStorageLevel
( 價值:str )→pyspark.ml.recommendation.ALS ¶ -
設置的值
finalStorageLevel
。
-
setImplicitPrefs
( 價值:bool )→pyspark.ml.recommendation.ALS ¶ -
設置的值
implicitPrefs
。
-
setIntermediateStorageLevel
( 價值:str )→pyspark.ml.recommendation.ALS ¶
-
setItemCol
( 價值:str )→pyspark.ml.recommendation.ALS ¶ -
設置的值
itemCol
。
-
setMaxIter
( 價值:int )→pyspark.ml.recommendation.ALS ¶ -
設置的值
麥克斯特
。
-
setNonnegative
( 價值:bool )→pyspark.ml.recommendation.ALS ¶ -
設置的值
非負
。
-
setNumBlocks
( 價值:int )→pyspark.ml.recommendation.ALS ¶ -
設置兩個
numUserBlocks
和numItemBlocks
特定值。
-
setNumItemBlocks
( 價值:int )→pyspark.ml.recommendation.ALS ¶ -
設置的值
numItemBlocks
。
-
setNumUserBlocks
( 價值:int )→pyspark.ml.recommendation.ALS ¶ -
設置的值
numUserBlocks
。
-
setparam
( 自我,\ *,排名= 10,麥克斯特= 10,regParam = 0.1,numUserBlocks = 10,numItemBlocks = 10,implicitPrefs = False,α= 1.0,userCol = "用戶",itemCol = "項目",種子=沒有,ratingCol =“評級”,非負= False,checkpointInterval = 10,intermediateStorageLevel = " MEMORY_AND_DISK ",finalStorageLevel = " MEMORY_AND_DISK ",coldStartStrategy = "南",blockSize = 4096 ) ¶ -
ALS的設置參數。
-
setPredictionCol
( 價值:str )→pyspark.ml.recommendation.ALS ¶ -
設置的值
predictionCol
。
-
setRank
( 價值:int )→pyspark.ml.recommendation.ALS ¶ -
設置的值
排名
。
-
setRatingCol
( 價值:str )→pyspark.ml.recommendation.ALS ¶ -
設置的值
ratingCol
。
-
setRegParam
( 價值:浮動 )→pyspark.ml.recommendation.ALS ¶ -
設置的值
regParam
。
-
setSeed
( 價值:int )→pyspark.ml.recommendation.ALS ¶ -
設置的值
種子
。
-
setUserCol
( 價值:str )→pyspark.ml.recommendation.ALS ¶ -
設置的值
userCol
。
-
寫
( )→pyspark.ml.util.JavaMLWriter¶ -
返回一個MLWriter實例毫升實例。
屬性的文檔
-
α
=參數(父母=‘定義’,name =“阿爾法”,醫生=α為內隱偏好) ¶
-
blockSize
=參數(父母=‘定義’,name = ' blockSize ', doc = '疊加輸入數據塊大小的矩陣。數據分區內堆放。如果超過剩餘的數據塊大小調整一個分區那麼這個數據的大小。) ¶
-
checkpointInterval
=參數(父母=‘定義’,name = ' checkpointInterval ', doc = '設置檢查點間隔(> = 1)或禁用檢查點(1)。例如10意味著緩存將檢查點每10迭代。注意:此設置將被忽略,如果目錄沒有設置檢查站SparkContext。”) ¶
-
coldStartStrategy
=參數(父母=‘定義’,name = ' coldStartStrategy ', doc = "戰略應對未知或新用戶/項目預測時間。這可能是有用的在交叉驗證或生產場景中,用於處理用戶/項目id模型並沒有出現在訓練數據。支持價值觀:‘南’,‘降’。”) ¶
-
finalStorageLevel
=參數(父母=‘定義’,name = ' finalStorageLevel ', doc = StorageLevel ALS模型因素。) ¶
-
implicitPrefs
=參數(父母=‘定義’,name = ' implicitPrefs ', doc =“是否使用內隱偏好”) ¶
-
intermediateStorageLevel
=參數(父母=‘定義’,name = ' intermediateStorageLevel ', doc = " StorageLevel中間數據集。不能‘沒有’。”) ¶
-
itemCol
=參數(父母=‘定義’,name = ' itemCol ', doc = '列名稱條目id。id必須在整數值範圍之內。”) ¶
-
麥克斯特
=參數(父母=‘定義’,name =“麥克斯特”,醫生=“馬克斯(> = 0)的迭代次數。) ¶
-
非負
=參數(父母=‘定義’,name =“非負”,醫生=“是否使用非負約束的最小二乘) ¶
-
numItemBlocks
=參數(父母=‘定義’,name = ' numItemBlocks ', doc =項目塊的數量) ¶
-
numUserBlocks
=參數(父母=‘定義’,name = ' numUserBlocks ', doc =用戶模塊的數量) ¶
-
參數個數
¶ -
返回所有參數命令的名字。默認實現使用
dir ()
所有的屬性類型參數
。
-
predictionCol
=參數(父母=‘定義’,name = ' predictionCol ', doc =預測列名稱。) ¶
-
排名
=參數(父母=‘定義’,name =“排名”,醫生=秩的分解) ¶
-
ratingCol
=參數(父母=‘定義’,name = ' ratingCol ', doc =“列名為評級”) ¶
-
regParam
=參數(父母=‘定義’,name = ' regParam ', doc =“正則化參數(> = 0)”。) ¶
-
種子
=參數(父母=‘定義’,name =“種子”,醫生=“隨機種子。”) ¶
-
userCol
=參數(父母=‘定義’,name = ' userCol ',醫生為用戶id = '列名稱。id必須在整數值範圍之內。”) ¶
-