在尝试获取IDataView对象的预览数据时,我得到了以下错误
外部异常
System.FormatException:‘解析失败,异常:无法解析值{某个值}行{number},列{列名}’
内部异常
InvalidOperationException:无法解析行{number}中的值{某些值},列{列名}
https://www.kaggle.com/shivamb/real-or-fake-fake-jobposting-prediction是我试图加载的DataSet
输入模型
public class JobPostInput
{
[LoadColumn(0)]
[ColumnName("job_id")]
public int JobId { get; set; }
[LoadColumn(1)]
[ColumnName("title")]
public string Title { get; set; }
[LoadColumn(2)]
[ColumnName("location")]
public string Location { get; set; }
[LoadColumn(3)]
[ColumnName("department")]
public string Department { get; set; }
[LoadColumn(4)]
[ColumnName("salary_range")]
public string SalaryRange { get; set; }
[LoadColumn(5)]
[ColumnName("company_profile")]
public string CompanyProfile { get; set; }
[LoadColumn(6)]
[ColumnName("description")]
public string Description { get; set; }
[LoadColumn(7)]
[ColumnName("requirements")]
public string Requirements { get; set; }
[LoadColumn(8)]
[ColumnName("benefits")]
public string Benefits { get; set; }
[LoadColumn(9)]
[ColumnName("telecommuting")]
public bool Telecommuting { get; set; }
[LoadColumn(10)]
[ColumnName("has_company_logo")]
public bool HasCompanyLogo { get; set; }
[LoadColumn(11)]
[ColumnName("has_questions")]
public bool HasQuestions { get; set; }
[LoadColumn(12)]
[ColumnName("employment_type")]
public string EmployementType { get; set; }
[LoadColumn(13)]
[ColumnName("required_experience")]
public string ExperienceRequired { get; set; }
[LoadColumn(14)]
[ColumnName("required_education")]
public string RequiredEducation { get; set; }
[LoadColumn(15)]
[ColumnName("industry")]
public string Industry { get; set; }
[LoadColumn(16)]
[ColumnName("function")]
public string Function { get; set; }
[LoadColumn(17)]
[ColumnName("fraudulent")]
public bool IsFraud { get; set; }
}错误码
var dataView = _context.Data.LoadFromTextFile<JobPostInput>(path: "file path", hasHeader: true, separatorChar: ',');
var preview = dataView.Preview();//exception here注:
boolean类型,但显示的值为string类型。发布于 2020-07-18 19:41:10
对您的JobPostInput进行一个小小的更改将有助于解决这个问题。
更改下列属性以使用float而不是bool
它试图将这些解析为布尔值,但它们实际上是整数(在ML.NET中是浮动的)。可以使用context.Transforms.Conversion.ConvertType方法将它们转换为布尔人。
https://stackoverflow.com/questions/62970024
复制相似问题