gpt4 book ai didi

c# - ML.NET:功能列的架构不匹配 'Features'

转载 作者:行者123 更新时间:2023-11-30 09:43:49 24 4
gpt4 key购买 nike

我正在尝试学习 ML.NET/进入机器学习,但我遇到了一个问题。

我的目标是创建一个训练模型,可用于根据输入预测城市。

此代码:

var dataPath = "cities.csv";
var mlContext = new MLContext();
var loader = mlContext.Data.CreateTextLoader<CityData>(hasHeader: false, separatorChar: ',');

var data = loader.Load(dataPath);

string featuresColumnName = "Features";

var pipeline = mlContext.Transforms.Concatenate(featuresColumnName, "PostalCode", "CityName")
.Append(mlContext.Clustering.Trainers.KMeans(featuresColumnName, clustersCount: 3));

var model = pipeline.Fit(data);

应采用 CSV 作为输入(其中包含城市列表(第 0 列 = 邮政编码,第 1 列 = 城市名称),然后将这些功能添加到管道中,会出现以下错误:

Unhandled Exception: System.ArgumentOutOfRangeException: Schema mismatch for feature column 'Features': expected Vector<R4>, got Vector<Text>

关于“Fit”功能。

我在 GitHub Repo 上进行了一些挖掘,但似乎找不到解决方案。我正在使用 Iris- 示例 ( https://learn.microsoft.com/en-us/dotnet/machine-learning/tutorials/iris-clustering )(当然经过我的修改)

有什么想法吗?

最佳答案

使用FeaturizeText将字符串特征转换为 float 组

var pipeline = mlContext.Transforms
.Text.FeaturizeText("PostalCodeF", "PostalCode")
.Append(mlContext.Transforms.Text.FeaturizeText("CityNameF", "CityName"))
.Append(mlContext.Transforms.Concatenate(featuresColumnName, "PostalCodeF", "CityNameF"))
.Append(mlContext.Clustering.Trainers.KMeans(featuresColumnName, clustersCount: 3));

var model = pipeline.Fit(data);

关于c# - ML.NET:功能列的架构不匹配 'Features',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55212103/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com