【发布时间】:2019-06-05 16:57:15
【问题描述】:
假设我有这个示例数据:
Sample.csv:
Dog,25
Cat,23
Cat,20
Dog,0
我想将它加载到IDataView,将其转换为准备好进行机器学习(没有字符串等),然后再次将其保存为.csv,比如说用另一种工具或语言对其进行分析。
// Load data:
var sampleCsv = Path.Combine("Data", "Sample.csv");
var columns = new[]
{
new TextLoader.Column("type", DataKind.String, 0),
new TextLoader.Column("age", DataKind.Int16, 1),
};
var mlContext = new MLContext(seed: 0);
var dataView = mlContext.Data.LoadFromTextFile(sampleCsv, columns,',');
// Transform
var pipeline =
mlContext.Transforms.Categorical.OneHotEncoding("type",
// This outputKind will add just one column, while others will add some:
outputKind: OneHotEncodingEstimator.OutputKind.Key);
var transformedDataView = pipeline.Fit(dataView).Transform(dataView);
// transformedDataView:
// Dog,1,25
// Cat,2,23
// Cat,2,20
// Dog,1,0
如何获取两个数字列并将它们写入.csv文件?
【问题讨论】:
-
你找到解决办法了吗?
-
是的。移动到
Python中的pandas包:-( -
没有答案,但你能分享一下你是如何在你的转换数据视图中得到“狗”和“猫”的吗?我目前正在处理类似的问题,我无法从转换后的数据视图中获取实际标签
-
您可以查看here。也许 C# 不适合动态类型
标签: c# csv machine-learning ml.net