テスト機械学習データセットを使用して、pyspark で Spark MLlib パッケージを実行しようとしています。データセットを半分のトレーニングデータセットと半分のテストデータセットに分割しています。以下は、モデルを構築する私のコードです。ただし、すべての従属変数にわたる NaN、NaN.. の重みを示しています。理由がわかりませんでした。しかし、StandardScaler 関数を使用してデータを標準化しようとすると機能します。
model = LinearRegressionWithSGD.train(train_data, step = 0.01)
# evaluate model on test data set
valuesAndPreds = test_data.map(lambda p: (p.label, model.predict(p.features)))
助けてくれてありがとう。
以下は、スケーリングを行うために使用したコードです。
scaler = StandardScaler(withMean = True, withStd = True).fit(data.map(lambda x:x.features))
feature = [scaler.transform(x) for x in data.map(lambda x:x.features).collect()]
label = data.map(lambda x:x.label).collect()
scaledData = [LabeledPoint(l, f) for l,f in zip(label, feature)]