私はこれに従うことを試みるMLlib tutorial。私はEstimatorsのコンセプトを理解しました。それは入力としてデータフレームを受け取り、それを使用して、MLlib用語のトランスフォーマ(データフレームを入力として受け取り、別のデータフレームを返す)である予測モデルを訓練して返します。MLlib Estimatorは、フィーチャとターゲットカラムが何であるかをどのように知っていますか?
私には分かりませんが、Estimatorは、データフレームのどの列をフィーチャとして扱い、どの列をターゲットとして使用するかをどのように知っていますか?
はのは、この例を見てみましょう:
from pyspark.ml.classification import LogisticRegression
# Prepare training data from a list of (label, features) tuples.
training = spark.createDataFrame([
(1.0, Vectors.dense([0.0, 1.1, 0.1])),
(0.0, Vectors.dense([2.0, 1.0, -1.0])),
(0.0, Vectors.dense([2.0, 1.3, 1.0])),
(1.0, Vectors.dense([0.0, 1.2, -0.5]))], ["label", "features"])
# Create a LogisticRegression instance. This instance is an Estimator.
lr = LogisticRegression(maxIter=10, regParam=0.01)
# Print out the parameters, documentation, and any default values.
print("LogisticRegression parameters:\n" + lr.explainParams() + "\n")
# Learn a LogisticRegression model. This uses the parameters stored in lr.
model1 = lr.fit(training)
私はモデルが機能としてfeatures
列を取り、ターゲットとしてlabel
列を扱うことを推測します。それが正しいか?そのような場合は、このデフォルトの動作を変更できますか?