本文简要介绍
pyspark.ml.classification.MultilayerPerceptronClassifier
的用法。用法:
class pyspark.ml.classification.MultilayerPerceptronClassifier(*, featuresCol='features', labelCol='label', predictionCol='prediction', maxIter=100, tol=1e-06, seed=None, layers=None, blockSize=128, stepSize=0.03, solver='l-bfgs', initialWeights=None, probabilityCol='probability', rawPredictionCol='rawPrediction')
基于多层感知器的分类器训练器。每一层都有sigmoid激活函数,输出层有softmax。输入的数量必须等于特征向量的大小。输出的数量必须等于标签的总数。
版本 1.6.0 中的新函数。
例子:
>>> from pyspark.ml.linalg import Vectors >>> df = spark.createDataFrame([ ... (0.0, Vectors.dense([0.0, 0.0])), ... (1.0, Vectors.dense([0.0, 1.0])), ... (1.0, Vectors.dense([1.0, 0.0])), ... (0.0, Vectors.dense([1.0, 1.0]))], ["label", "features"]) >>> mlp = MultilayerPerceptronClassifier(layers=[2, 2, 2], seed=123) >>> mlp.setMaxIter(100) MultilayerPerceptronClassifier... >>> mlp.getMaxIter() 100 >>> mlp.getBlockSize() 128 >>> mlp.setBlockSize(1) MultilayerPerceptronClassifier... >>> mlp.getBlockSize() 1 >>> model = mlp.fit(df) >>> model.setFeaturesCol("features") MultilayerPerceptronClassificationModel... >>> model.getMaxIter() 100 >>> model.getLayers() [2, 2, 2] >>> model.weights.size 12 >>> testDF = spark.createDataFrame([ ... (Vectors.dense([1.0, 0.0]),), ... (Vectors.dense([0.0, 0.0]),)], ["features"]) >>> model.predict(testDF.head().features) 1.0 >>> model.predictRaw(testDF.head().features) DenseVector([-16.208, 16.344]) >>> model.predictProbability(testDF.head().features) DenseVector([0.0, 1.0]) >>> model.transform(testDF).select("features", "prediction").show() +---------+----------+ | features|prediction| +---------+----------+ |[1.0,0.0]| 1.0| |[0.0,0.0]| 0.0| +---------+----------+ ... >>> mlp_path = temp_path + "/mlp" >>> mlp.save(mlp_path) >>> mlp2 = MultilayerPerceptronClassifier.load(mlp_path) >>> mlp2.getBlockSize() 1 >>> model_path = temp_path + "/mlp_model" >>> model.save(model_path) >>> model2 = MultilayerPerceptronClassificationModel.load(model_path) >>> model.getLayers() == model2.getLayers() True >>> model.weights == model2.weights True >>> model.transform(testDF).take(1) == model2.transform(testDF).take(1) True >>> mlp2 = mlp2.setInitialWeights(list(range(0, 12))) >>> model3 = mlp2.fit(df) >>> model3.weights != model2.weights True >>> model3.getLayers() == model.getLayers() True
相关用法
- Python pyspark MultilabelClassificationEvaluator用法及代码示例
- Python pyspark MultiIndex.size用法及代码示例
- Python pyspark MultiIndex.hasnans用法及代码示例
- Python pyspark MultiIndex.to_numpy用法及代码示例
- Python pyspark MultiIndex.levshape用法及代码示例
- Python pyspark MultiIndex.max用法及代码示例
- Python pyspark MultiIndex.drop用法及代码示例
- Python pyspark MultiIndex.min用法及代码示例
- Python pyspark MultiIndex.unique用法及代码示例
- Python pyspark MultiIndex.rename用法及代码示例
- Python pyspark MultiIndex.value_counts用法及代码示例
- Python pyspark MultiIndex.values用法及代码示例
- Python pyspark MultiIndex.difference用法及代码示例
- Python pyspark MultiIndex.sort_values用法及代码示例
- Python pyspark MultiIndex.spark.transform用法及代码示例
- Python pyspark MultiIndex.T用法及代码示例
- Python pyspark MultiIndex用法及代码示例
- Python pyspark MultiIndex.ndim用法及代码示例
- Python pyspark MulticlassClassificationEvaluator用法及代码示例
- Python pyspark MultiIndex.copy用法及代码示例
- Python pyspark MultiIndex.to_frame用法及代码示例
- Python pyspark MultiIndex.shape用法及代码示例
- Python pyspark MultiIndex.equals用法及代码示例
- Python pyspark MultiIndex.empty用法及代码示例
- Python pyspark MultiIndex.to_series用法及代码示例
注:本文由纯净天空筛选整理自spark.apache.org大神的英文原创作品 pyspark.ml.classification.MultilayerPerceptronClassifier。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。