aboutsummaryrefslogtreecommitdiff
path: root/python
diff options
context:
space:
mode:
authorYu ISHIKAWA <yuu.ishikawa@gmail.com>2015-11-09 13:16:04 -0800
committerXiangrui Meng <meng@databricks.com>2015-11-09 13:16:04 -0800
commit88a3fdcc783f880a8d01c7e194ec42fc114bdf8a (patch)
tree90d9e511875072461beae9daa27093af0dba24e3 /python
parent860ea0d386b5fbbe26bf2954f402a9a73ad37edc (diff)
downloadspark-88a3fdcc783f880a8d01c7e194ec42fc114bdf8a.tar.gz
spark-88a3fdcc783f880a8d01c7e194ec42fc114bdf8a.tar.bz2
spark-88a3fdcc783f880a8d01c7e194ec42fc114bdf8a.zip
[SPARK-10280][MLLIB][PYSPARK][DOCS] Add @since annotation to pyspark.ml.classification
Author: Yu ISHIKAWA <yuu.ishikawa@gmail.com> Closes #8690 from yu-iskw/SPARK-10280.
Diffstat (limited to 'python')
-rw-r--r--python/pyspark/ml/classification.py56
1 files changed, 56 insertions, 0 deletions
diff --git a/python/pyspark/ml/classification.py b/python/pyspark/ml/classification.py
index 2e468f67b8..603f2c7f79 100644
--- a/python/pyspark/ml/classification.py
+++ b/python/pyspark/ml/classification.py
@@ -67,6 +67,8 @@ class LogisticRegression(JavaEstimator, HasFeaturesCol, HasLabelCol, HasPredicti
Traceback (most recent call last):
...
TypeError: Method setParams forces keyword arguments.
+
+ .. versionadded:: 1.3.0
"""
# a placeholder to make it appear in the generated doc
@@ -99,6 +101,7 @@ class LogisticRegression(JavaEstimator, HasFeaturesCol, HasLabelCol, HasPredicti
self._checkThresholdConsistency()
@keyword_only
+ @since("1.3.0")
def setParams(self, featuresCol="features", labelCol="label", predictionCol="prediction",
maxIter=100, regParam=0.1, elasticNetParam=0.0, tol=1e-6, fitIntercept=True,
threshold=0.5, thresholds=None, probabilityCol="probability",
@@ -119,6 +122,7 @@ class LogisticRegression(JavaEstimator, HasFeaturesCol, HasLabelCol, HasPredicti
def _create_model(self, java_model):
return LogisticRegressionModel(java_model)
+ @since("1.4.0")
def setThreshold(self, value):
"""
Sets the value of :py:attr:`threshold`.
@@ -129,6 +133,7 @@ class LogisticRegression(JavaEstimator, HasFeaturesCol, HasLabelCol, HasPredicti
del self._paramMap[self.thresholds]
return self
+ @since("1.4.0")
def getThreshold(self):
"""
Gets the value of threshold or its default value.
@@ -144,6 +149,7 @@ class LogisticRegression(JavaEstimator, HasFeaturesCol, HasLabelCol, HasPredicti
else:
return self.getOrDefault(self.threshold)
+ @since("1.5.0")
def setThresholds(self, value):
"""
Sets the value of :py:attr:`thresholds`.
@@ -154,6 +160,7 @@ class LogisticRegression(JavaEstimator, HasFeaturesCol, HasLabelCol, HasPredicti
del self._paramMap[self.threshold]
return self
+ @since("1.5.0")
def getThresholds(self):
"""
If :py:attr:`thresholds` is set, return its value.
@@ -185,9 +192,12 @@ class LogisticRegression(JavaEstimator, HasFeaturesCol, HasLabelCol, HasPredicti
class LogisticRegressionModel(JavaModel):
"""
Model fitted by LogisticRegression.
+
+ .. versionadded:: 1.3.0
"""
@property
+ @since("1.4.0")
def weights(self):
"""
Model weights.
@@ -205,6 +215,7 @@ class LogisticRegressionModel(JavaModel):
return self._call_java("coefficients")
@property
+ @since("1.4.0")
def intercept(self):
"""
Model intercept.
@@ -215,6 +226,8 @@ class LogisticRegressionModel(JavaModel):
class TreeClassifierParams(object):
"""
Private class to track supported impurity measures.
+
+ .. versionadded:: 1.4.0
"""
supportedImpurities = ["entropy", "gini"]
@@ -231,6 +244,7 @@ class TreeClassifierParams(object):
"gain calculation (case-insensitive). Supported options: " +
", ".join(self.supportedImpurities))
+ @since("1.6.0")
def setImpurity(self, value):
"""
Sets the value of :py:attr:`impurity`.
@@ -238,6 +252,7 @@ class TreeClassifierParams(object):
self._paramMap[self.impurity] = value
return self
+ @since("1.6.0")
def getImpurity(self):
"""
Gets the value of impurity or its default value.
@@ -248,6 +263,8 @@ class TreeClassifierParams(object):
class GBTParams(TreeEnsembleParams):
"""
Private class to track supported GBT params.
+
+ .. versionadded:: 1.4.0
"""
supportedLossTypes = ["logistic"]
@@ -287,6 +304,8 @@ class DecisionTreeClassifier(JavaEstimator, HasFeaturesCol, HasLabelCol, HasPred
>>> test1 = sqlContext.createDataFrame([(Vectors.sparse(1, [0], [1.0]),)], ["features"])
>>> model.transform(test1).head().prediction
1.0
+
+ .. versionadded:: 1.4.0
"""
@keyword_only
@@ -310,6 +329,7 @@ class DecisionTreeClassifier(JavaEstimator, HasFeaturesCol, HasLabelCol, HasPred
self.setParams(**kwargs)
@keyword_only
+ @since("1.4.0")
def setParams(self, featuresCol="features", labelCol="label", predictionCol="prediction",
probabilityCol="probability", rawPredictionCol="rawPrediction",
maxDepth=5, maxBins=32, minInstancesPerNode=1, minInfoGain=0.0,
@@ -333,6 +353,8 @@ class DecisionTreeClassifier(JavaEstimator, HasFeaturesCol, HasLabelCol, HasPred
class DecisionTreeClassificationModel(DecisionTreeModel):
"""
Model fitted by DecisionTreeClassifier.
+
+ .. versionadded:: 1.4.0
"""
@@ -371,6 +393,8 @@ class RandomForestClassifier(JavaEstimator, HasFeaturesCol, HasLabelCol, HasPred
>>> test1 = sqlContext.createDataFrame([(Vectors.sparse(1, [0], [1.0]),)], ["features"])
>>> model.transform(test1).head().prediction
1.0
+
+ .. versionadded:: 1.4.0
"""
@keyword_only
@@ -396,6 +420,7 @@ class RandomForestClassifier(JavaEstimator, HasFeaturesCol, HasLabelCol, HasPred
self.setParams(**kwargs)
@keyword_only
+ @since("1.4.0")
def setParams(self, featuresCol="features", labelCol="label", predictionCol="prediction",
probabilityCol="probability", rawPredictionCol="rawPrediction",
maxDepth=5, maxBins=32, minInstancesPerNode=1, minInfoGain=0.0,
@@ -419,6 +444,8 @@ class RandomForestClassifier(JavaEstimator, HasFeaturesCol, HasLabelCol, HasPred
class RandomForestClassificationModel(TreeEnsembleModels):
"""
Model fitted by RandomForestClassifier.
+
+ .. versionadded:: 1.4.0
"""
@@ -450,6 +477,8 @@ class GBTClassifier(JavaEstimator, HasFeaturesCol, HasLabelCol, HasPredictionCol
>>> test1 = sqlContext.createDataFrame([(Vectors.sparse(1, [0], [1.0]),)], ["features"])
>>> model.transform(test1).head().prediction
1.0
+
+ .. versionadded:: 1.4.0
"""
# a placeholder to make it appear in the generated doc
@@ -482,6 +511,7 @@ class GBTClassifier(JavaEstimator, HasFeaturesCol, HasLabelCol, HasPredictionCol
self.setParams(**kwargs)
@keyword_only
+ @since("1.4.0")
def setParams(self, featuresCol="features", labelCol="label", predictionCol="prediction",
maxDepth=5, maxBins=32, minInstancesPerNode=1, minInfoGain=0.0,
maxMemoryInMB=256, cacheNodeIds=False, checkpointInterval=10,
@@ -499,6 +529,7 @@ class GBTClassifier(JavaEstimator, HasFeaturesCol, HasLabelCol, HasPredictionCol
def _create_model(self, java_model):
return GBTClassificationModel(java_model)
+ @since("1.4.0")
def setLossType(self, value):
"""
Sets the value of :py:attr:`lossType`.
@@ -506,6 +537,7 @@ class GBTClassifier(JavaEstimator, HasFeaturesCol, HasLabelCol, HasPredictionCol
self._paramMap[self.lossType] = value
return self
+ @since("1.4.0")
def getLossType(self):
"""
Gets the value of lossType or its default value.
@@ -516,6 +548,8 @@ class GBTClassifier(JavaEstimator, HasFeaturesCol, HasLabelCol, HasPredictionCol
class GBTClassificationModel(TreeEnsembleModels):
"""
Model fitted by GBTClassifier.
+
+ .. versionadded:: 1.4.0
"""
@@ -555,6 +589,8 @@ class NaiveBayes(JavaEstimator, HasFeaturesCol, HasLabelCol, HasPredictionCol, H
>>> test1 = sc.parallelize([Row(features=Vectors.sparse(2, [0], [1.0]))]).toDF()
>>> model.transform(test1).head().prediction
1.0
+
+ .. versionadded:: 1.5.0
"""
# a placeholder to make it appear in the generated doc
@@ -587,6 +623,7 @@ class NaiveBayes(JavaEstimator, HasFeaturesCol, HasLabelCol, HasPredictionCol, H
self.setParams(**kwargs)
@keyword_only
+ @since("1.5.0")
def setParams(self, featuresCol="features", labelCol="label", predictionCol="prediction",
probabilityCol="probability", rawPredictionCol="rawPrediction", smoothing=1.0,
modelType="multinomial"):
@@ -602,6 +639,7 @@ class NaiveBayes(JavaEstimator, HasFeaturesCol, HasLabelCol, HasPredictionCol, H
def _create_model(self, java_model):
return NaiveBayesModel(java_model)
+ @since("1.5.0")
def setSmoothing(self, value):
"""
Sets the value of :py:attr:`smoothing`.
@@ -609,12 +647,14 @@ class NaiveBayes(JavaEstimator, HasFeaturesCol, HasLabelCol, HasPredictionCol, H
self._paramMap[self.smoothing] = value
return self
+ @since("1.5.0")
def getSmoothing(self):
"""
Gets the value of smoothing or its default value.
"""
return self.getOrDefault(self.smoothing)
+ @since("1.5.0")
def setModelType(self, value):
"""
Sets the value of :py:attr:`modelType`.
@@ -622,6 +662,7 @@ class NaiveBayes(JavaEstimator, HasFeaturesCol, HasLabelCol, HasPredictionCol, H
self._paramMap[self.modelType] = value
return self
+ @since("1.5.0")
def getModelType(self):
"""
Gets the value of modelType or its default value.
@@ -632,9 +673,12 @@ class NaiveBayes(JavaEstimator, HasFeaturesCol, HasLabelCol, HasPredictionCol, H
class NaiveBayesModel(JavaModel):
"""
Model fitted by NaiveBayes.
+
+ .. versionadded:: 1.5.0
"""
@property
+ @since("1.5.0")
def pi(self):
"""
log of class priors.
@@ -642,6 +686,7 @@ class NaiveBayesModel(JavaModel):
return self._call_java("pi")
@property
+ @since("1.5.0")
def theta(self):
"""
log of class conditional probabilities.
@@ -681,6 +726,8 @@ class MultilayerPerceptronClassifier(JavaEstimator, HasFeaturesCol, HasLabelCol,
|[0.0,0.0]| 0.0|
+---------+----------+
...
+
+ .. versionadded:: 1.6.0
"""
# a placeholder to make it appear in the generated doc
@@ -715,6 +762,7 @@ class MultilayerPerceptronClassifier(JavaEstimator, HasFeaturesCol, HasLabelCol,
self.setParams(**kwargs)
@keyword_only
+ @since("1.6.0")
def setParams(self, featuresCol="features", labelCol="label", predictionCol="prediction",
maxIter=100, tol=1e-4, seed=None, layers=None, blockSize=128):
"""
@@ -731,6 +779,7 @@ class MultilayerPerceptronClassifier(JavaEstimator, HasFeaturesCol, HasLabelCol,
def _create_model(self, java_model):
return MultilayerPerceptronClassificationModel(java_model)
+ @since("1.6.0")
def setLayers(self, value):
"""
Sets the value of :py:attr:`layers`.
@@ -738,12 +787,14 @@ class MultilayerPerceptronClassifier(JavaEstimator, HasFeaturesCol, HasLabelCol,
self._paramMap[self.layers] = value
return self
+ @since("1.6.0")
def getLayers(self):
"""
Gets the value of layers or its default value.
"""
return self.getOrDefault(self.layers)
+ @since("1.6.0")
def setBlockSize(self, value):
"""
Sets the value of :py:attr:`blockSize`.
@@ -751,6 +802,7 @@ class MultilayerPerceptronClassifier(JavaEstimator, HasFeaturesCol, HasLabelCol,
self._paramMap[self.blockSize] = value
return self
+ @since("1.6.0")
def getBlockSize(self):
"""
Gets the value of blockSize or its default value.
@@ -761,9 +813,12 @@ class MultilayerPerceptronClassifier(JavaEstimator, HasFeaturesCol, HasLabelCol,
class MultilayerPerceptronClassificationModel(JavaModel):
"""
Model fitted by MultilayerPerceptronClassifier.
+
+ .. versionadded:: 1.6.0
"""
@property
+ @since("1.6.0")
def layers(self):
"""
array of layer sizes including input and output layers.
@@ -771,6 +826,7 @@ class MultilayerPerceptronClassificationModel(JavaModel):
return self._call_java("javaLayers")
@property
+ @since("1.6.0")
def weights(self):
"""
vector of initial weights for the model that consists of the weights of layers.