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 |
---|---|
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 |
setColdStartStrategy(String value) |
ALSModel |
setItemCol(String value) |
ALSModel |
setPredictionCol(String value) |
ALSModel |
setUserCol(String value) |
Dataset<Row> |
transform(Dataset<?> dataset)
Transforms the input dataset.
|
StructType |
transformSchema(StructType schema)
:: DeveloperApi ::
|
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, transform
params
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
getColdStartStrategy, getItemCol, getUserCol
getPredictionCol
clear, copyValues, defaultCopy, defaultParamMap, explainParam, explainParams, extractParamMap, extractParamMap, get, getDefault, getOrDefault, getParam, hasDefault, hasParam, isDefined, isSet, paramMap, params, set, set, set, setDefault, setDefault, shouldOwn
toString
save
initializeLogging, initializeLogIfNecessary, initializeLogIfNecessary, isTraceEnabled, log, logDebug, logDebug, logError, logError, logInfo, logInfo, logName, logTrace, logTrace, logWarning, logWarning
public static ALSModel load(String path)
public Param<String> userCol()
ALSModelParams
userCol
in interface ALSModelParams
public Param<String> itemCol()
ALSModelParams
itemCol
in interface ALSModelParams
public Param<String> coldStartStrategy()
ALSModelParams
coldStartStrategy
in interface ALSModelParams
public final Param<String> predictionCol()
HasPredictionCol
predictionCol
in interface HasPredictionCol
public String uid()
Identifiable
uid
in interface Identifiable
public int rank()
public ALSModel setUserCol(String value)
public ALSModel setItemCol(String value)
public ALSModel setPredictionCol(String value)
public ALSModel setColdStartStrategy(String value)
public Dataset<Row> transform(Dataset<?> dataset)
Transformer
transform
in class Transformer
dataset
- (undocumented)public StructType transformSchema(StructType schema)
PipelineStage
Check transform validity and derive the output schema from the input schema.
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 PipelineStage
schema
- (undocumented)public ALSModel copy(ParamMap extra)
Params
defaultCopy()
.public MLWriter write()
MLWritable
MLWriter
instance for this ML instance.write
in interface MLWritable
public 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.