public class ALSModel extends Model<ALSModel> implements ALSModelParams, MLWritable
param: rank rank of the matrix factorization model
param: userFactors a DataFrame that stores user factors in two columns: id and features
param: itemFactors a DataFrame that stores item factors in two columns: id and features
| Modifier and Type | Method and Description |
|---|---|
IntParam |
blockSize()
Param for block size for stacking input data in matrices.
|
Param<String> |
coldStartStrategy()
Param for strategy for dealing with unknown or new users/items at prediction time.
|
ALSModel |
copy(ParamMap extra)
Creates a copy of this instance with the same UID and some extra params.
|
Param<String> |
itemCol()
Param for the column name for item ids.
|
Dataset<Row> |
itemFactors() |
static ALSModel |
load(String path) |
Param<String> |
predictionCol()
Param for prediction column name.
|
int |
rank() |
static MLReader<ALSModel> |
read() |
Dataset<Row> |
recommendForAllItems(int numUsers)
Returns top
numUsers users recommended for each item, for all items. |
Dataset<Row> |
recommendForAllUsers(int numItems)
Returns top
numItems items recommended for each user, for all users. |
Dataset<Row> |
recommendForItemSubset(Dataset<?> dataset,
int numUsers)
Returns top
numUsers users recommended for each item id in the input data set. |
Dataset<Row> |
recommendForUserSubset(Dataset<?> dataset,
int numItems)
Returns top
numItems items recommended for each user id in the input data set. |
ALSModel |
setBlockSize(int value)
Set block size for stacking input data in matrices.
|
ALSModel |
setColdStartStrategy(String value) |
ALSModel |
setItemCol(String value) |
ALSModel |
setPredictionCol(String value) |
ALSModel |
setUserCol(String value) |
String |
toString() |
Dataset<Row> |
transform(Dataset<?> dataset)
Transforms the input dataset.
|
StructType |
transformSchema(StructType schema)
Check transform validity and derive the output schema from the input schema.
|
String |
uid()
An immutable unique ID for the object and its derivatives.
|
Param<String> |
userCol()
Param for the column name for user ids.
|
Dataset<Row> |
userFactors() |
MLWriter |
write()
Returns an
MLWriter instance for this ML instance. |
transform, transform, transformparamscheckIntegers, getColdStartStrategy, getItemCol, getUserColgetPredictionColgetBlockSizeclear, copyValues, defaultCopy, defaultParamMap, explainParam, explainParams, extractParamMap, extractParamMap, get, getDefault, getOrDefault, getParam, hasDefault, hasParam, isDefined, isSet, onParamChange, paramMap, params, set, set, set, setDefault, setDefault, shouldOwnsave$init$, initializeForcefully, initializeLogIfNecessary, initializeLogIfNecessary, initializeLogIfNecessary$default$2, initLock, isTraceEnabled, log, logDebug, logDebug, logError, logError, logInfo, logInfo, logName, logTrace, logTrace, logWarning, logWarning, org$apache$spark$internal$Logging$$log__$eq, org$apache$spark$internal$Logging$$log_, uninitializepublic static ALSModel load(String path)
public Param<String> userCol()
ALSModelParamsuserCol in interface ALSModelParamspublic Param<String> itemCol()
ALSModelParamsitemCol in interface ALSModelParamspublic Param<String> coldStartStrategy()
ALSModelParamscoldStartStrategy in interface ALSModelParamspublic final IntParam blockSize()
HasBlockSizeblockSize in interface HasBlockSizepublic final Param<String> predictionCol()
HasPredictionColpredictionCol in interface HasPredictionColpublic String uid()
Identifiableuid in interface Identifiablepublic int rank()
public ALSModel setUserCol(String value)
public ALSModel setItemCol(String value)
public ALSModel setPredictionCol(String value)
public ALSModel setColdStartStrategy(String value)
public ALSModel setBlockSize(int value)
value - (undocumented)public Dataset<Row> transform(Dataset<?> dataset)
Transformertransform in class Transformerdataset - (undocumented)public StructType transformSchema(StructType schema)
PipelineStage
We check validity for interactions between parameters during transformSchema and
raise an exception if any parameter value is invalid. Parameter value checks which
do not depend on other parameters are handled by Param.validate().
Typical implementation should first conduct verification on schema change and parameter validity, including complex parameter interaction checks.
transformSchema in class PipelineStageschema - (undocumented)public ALSModel copy(ParamMap extra)
ParamsdefaultCopy().public MLWriter write()
MLWritableMLWriter instance for this ML instance.write in interface MLWritablepublic String toString()
toString in interface IdentifiabletoString in class Objectpublic Dataset<Row> recommendForAllUsers(int numItems)
numItems items recommended for each user, for all users.numItems - max number of recommendations for each userpublic Dataset<Row> recommendForUserSubset(Dataset<?> dataset, int numItems)
numItems items recommended for each user id in the input data set. Note that if
there are duplicate ids in the input dataset, only one set of recommendations per unique id
will be returned.dataset - a Dataset containing a column of user ids. The column name must match userCol.numItems - max number of recommendations for each user.public Dataset<Row> recommendForAllItems(int numUsers)
numUsers users recommended for each item, for all items.numUsers - max number of recommendations for each itempublic Dataset<Row> recommendForItemSubset(Dataset<?> dataset, int numUsers)
numUsers users recommended for each item id in the input data set. Note that if
there are duplicate ids in the input dataset, only one set of recommendations per unique id
will be returned.dataset - a Dataset containing a column of item ids. The column name must match itemCol.numUsers - max number of recommendations for each item.