2

我正在尝试重新创建以下示例https://github.com/dotnet/machinelearning/blob/master/docs/samples/Microsoft.ML.Samples/Dynamic/SsaSpikeDetectorTransform.cs 但我不断收到 DataOperations 没有的错误t 包含 ReadFromEnumerable 方法的定义。我还收到 CreateEnumerable 方法不存在的错误,但我怀疑它与 ReadFromEnumerable 错误有关。

我已经复制了整个命名空间和代码,以防我可能遗漏了什么,但错误仍然存​​在。

从 Enumerable 方法中读取

var ml = new MLContext();

//Generate sample series data with a recurring pattern and a spike within the pattern
  const int SeasonalitySize = 5;
  const int TrainingSeasons = 3;
  const int TrainingSize = SeasonalitySize * TrainingSeasons;
  var data = new List<SsaSpikeData>();
  for (int i = 0; i < TrainingSeasons; i++)
      for (int j = 0; j < SeasonalitySize; j++)
          data.Add(new SsaSpikeData(j));

//This is a spike
  data.Add(new SsaSpikeData(100));
  for (int i = 0; i < SeasonalitySize; i++)
      data.Add(new SsaSpikeData(i));

// Convert data to IDataView.
var dataView = ml.Data.ReadFromEnumerable(data); //This is where the error occurs

CreateEnumerable 方法

var predictionColumn = ml.CreateEnumerable<SsaSpikePrediction>(transformedData, reuseRowObject: false);
4

1 回答 1

2

就像 dlatikay 说的,这是版本不匹配。我提供的示例来自仍处于预览阶段的版本。对于 ML.NET 0.9.0 及更早的版本,您需要使用 CreateStreamingDataView。要使 ReadFromEnumerable 和 CreateEnumerable 正常工作,您可以从此处下载 ML.NET 0.10.0 和 0.11.0 预览包https://dotnet.myget.org/feed/dotnet-core/package/nuget/Microsoft.ML/0.11 .0-preview-27404-5

于 2019-02-05T02:33:46.833 回答