【发布时间】:2019-12-22 05:14:02
【问题描述】:
特征列“特征”的架构不匹配:预期向量,得到向量参数名称:inputSchema 该错误发生在以下代码中
static readonly string _dataPat=Path.Combine(Environment.CurrentDirectory, "Data", "train_data.csv");
static void Main(string[] args)
{
var mlContext = new MLContext(seed: 0);
IDataView data = mlContext.Data.LoadFromTextFile<IrisData>(_dataPath, separatorChar: ',', hasHeader: true);
string featuresColumnName = "Features";
var pipeline = mlContext.Transforms
.Concatenate(featuresColumnName,"Class", "Sex", "AgeGroup", "Embarked")
.Append(mlContext.Clustering.Trainers.KMeans(featuresColumnName, numberOfClusters: 2));
var model = pipeline.Fit(data);
错误与代码一致
var model = pipeline.Fit(data);
我的班级 IrisData
public class IrisData
{
[LoadColumn(0)]
public string Class;
[LoadColumn(1)]
public string Sex;
[LoadColumn(2)]
public string AgeGroup;
[LoadColumn(3)]
public string Embarked;
}
【问题讨论】:
-
尝试将
Concatenate的第二个参数作为列名数组。 -
@Jon 现在出现错误“找不到输入列'Features'参数名称:inputSchema'”
-
那个错误是由于添加了csv文件可能。我已经更新了我的问题并在我的项目中添加了我的 csv 文件的图片
-
不要使用
Concatenate,而是尝试使用FeaturizeText。