Я пытаюсь построить модель прогнозирования цены биткойна, используя Apache spark и scala. Я предварительно обработал данные и построил следующий формат:
- Отметка времени
- цена биткойна
- цена в долларах США
- МаксЦена
- минЦена
- числоторгов
- openPrice
- ЗакрытьЦена
- средняя цена
Я использую линейную регрессию для выполнения perdition.
val scaler = new StandardScaler(withMean = true, withStd = true)
.fit(parsedData.map(x => x.features))
val scaledData = parsedData
.map(x =>
LabeledPoint(x.label,
scaler.transform(Vectors.dense(x.features.toArray))))
val splits = scaledData.randomSplit(Array(0.8, 0.2), seed = 11L)
val training = splits(0).cache()
val test = splits(1)
// Building the model
val numIterations = 100
val step = 0.1
val algorithm = new LinearRegressionWithSGD()
algorithm.setIntercept(true)
algorithm.optimizer
.setNumIterations(numIterations)
.setStepSize(step)
.setRegParam(0.001)
.setUpdater(updater)
Прогнозы, которые я получаю, рассчитываются неправильно. Это дает мне очень случайные прогнозы.
Кто-нибудь может помочь мне с этим? Тот же набор данных отлично работает, когда я делаю прогноз с помощью библиотек Azure ML.