作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我的情况我正在尝试使用 ML.net 创建一个神经网络,对两种类型的信号(本质上是或否)进行分类。我有一组数据映射到“否”,另一组数据将映射到"is"。我希望用这些数据来训练网络。
我的问题由于我的训练数据受到监督(我知道所需的输出),我如何“告诉”LoadFromTextFile
所有数据都应映射到“yes”(或 1 无关紧要)的函数
My QuestionIn short, how do you train a network with supervised data(I know the desired output of my training data) in ML.Net?
我的数据模型:
public class Analog
{
[LoadColumn(0, Global.SAMPLE_SIZE - 1)]
[VectorType(Global.SAMPLE_SIZE)]
public float[] DiscreteSignal { get; set; }
}
加载代码:
//Create MLContext
static MLContext mCont = new MLContext();
//Load Data
IDataView data = mCont.Data.LoadFromTextFile<Analog>("myYesSignalData.csv", separatorChar: ',', hasHeader: false);
最佳答案
ML.NET 支持通过使用 MultiFileSource
类将多个数据集加载到一个 IDataView
中:
var loader = mCont.Data.LoadFromTextFile<Analog>(separatorChar: ',', hasHeader: false);
IDataView data = loader.Load(new MultiFileSource("myYesSignalData.csv", "myNoSignalData.csv"));
但是,除了向两个文件添加标签列之外,我目前没有办法让培训师知道哪些示例是正面的,哪些示例是负面的:在“yes”文件中添加一个全一列,在“no”文件添加全零列。然后按如下方式定义 Analog
类:
public class Analog
{
[LoadColumn(0, Global.SAMPLE_SIZE - 1)]
[VectorType(Global.SAMPLE_SIZE)]
public float[] DiscreteSignal { get; set; }
[LoadColumn(Global.SAMPLE_SIZE)]
public float Label { get; set; }
}
添加标签列可以使用简单的 C# 程序来完成,如下所示:
public class AnalogNoLabel
{
[LoadColumn(0, Global.SAMPLE_SIZE - 1)]
[VectorType(Global.SAMPLE_SIZE)]
public float[] DiscreteSignal { get; set; }
}
public void AddLabel(MLContext mCont)
{
IDataView data = mCont.Data.LoadFromTextFile<AnalogNoLabel>("myYesSignalData.csv", separatorChar: ',', hasHeader: false);
var pipeline = mCont.Transforms.CustomMapping<AnalogNoLabel, Analog>((input, output) => {
output.DiscreteSignal = input.DiscreteSignal;
output.Label = 1;
}, contractName: null);
IDataView dataWithLabel = pipeline.Fit(data).Transform(data);
using (var stream = new FileStream("myNewYesSignalData.txt", FileMode.Create))
mCont.Data.SaveAsText(dataWithLabel, stream);
}
以及“myNoSignalData.csv”的类似脚本,其中 output.Label = 0
而不是 output.Label = 1
。
关于c# - 如何将监督数据加载到 MLContext 对象中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59795134/
我的情况我正在尝试使用 ML.net 创建一个神经网络,对两种类型的信号(本质上是或否)进行分类。我有一组数据映射到“否”,另一组数据将映射到"is"。我希望用这些数据来训练网络。 我的问题由于我的训
我按照website中的教程进行操作,我选择“示例笔记本”--深度学习图像分类,(look here),当我运行时 ml = MLContext(sc),出现错误如下: ---------------
我是一名优秀的程序员,十分优秀!