C#机器入门学习之判断日报是否合格详解

2020-01-05 10:10:11于丽

定型模型数据集准备好之后还有一个评估模型的测试数据集(可以称之为标准答案)wikipedia-detox-250-line-test.tsv格式与上面展示的评估数据集一样

定型数据的数据越丰富算法的回归曲线方程就会越接近理想的模型方程,你的模型预测结果就会越符合你的要求。

第四步:定义特征类

根据分享的模型确定其分析的特征项并定义为相关的类并且需要引用机器学习的包using Microsoft.ML.Data;,由此模型定义的数据集类如下(结果可看注释):


/// <summary>

 /// 输入数据集类

 /// </summary>

 public class SentimentData

 {

 /// <summary>

 /// 日志是否合格的值(0:为合格,1:不合格)

 /// </summary>

 [Column(ordinal: "0", name: "Label")]

 public float Sentiment;

 

 /// <summary>

 /// 日报内容

 /// </summary>

 [Column(ordinal: "1")]

 public string SentimentText;

 }

 

 /// <summary>

 /// 预测结果集类

 /// </summary>

 public class SentimentPrediction

 {

 /// <summary>

 /// 预测值(是否合格)

 /// </summary>

 [ColumnName("PredictedLabel")]

 public bool Prediction { get; set; }

 

 /// <summary>

 /// 或然率(结果分布概率)

 /// </summary>

 [ColumnName("Probability")]

 public float Probability { get; set; }
 }

第一个SentimentData类为输入数据集类,指的就是根据定型的数据集的特征项定义的集类,第二个SentimentPrediction类为预测结果集类,也就是你所需要的结果的类定义 该类的结构一般受你所使用的学习算法影响,根据你的学习管道输出的结果以及个人需求的综合考虑来定义。输入集类带的Column属性标注其在数据集的格式位置的编排以及何为Label值。预测集的PredictedLabel在预测和评估过程中使用。

第五步:代码实现

首先定义以指定这些路径和 _textLoader 变量,用来读取数据或者是保存实验数据,具体如下所示: