我有这个:
class SuggestedFeedBackPredition
{
[LoadColumn(0), ColumnName("Label")]
public bool IsGood { get; set; }
}
public class SuggestedFeedbackTrainingData
{
[LoadColumn(1), ColumnName("SuggestedFeedBackText")]
public string? SuggestedFeedBackText { get; set; }
[LoadColumn(0), ColumnName("Label")]
public bool IsGood { get; set; }
public Single Score { get; set; }
public Single Probability { get; set; }
public Single PredictedLabel { get; set; }
}我有这个:
var mlContext = new MLContext();
var mlData = mlContext.Data.LoadFromEnumerable<SuggestedFeedbackTrainingData>(suggestedFeedbackTrainingData());
//var pipline = mlContext.Transforms.Text.FeaturizeText("Label", "Features");
//var pipline = mlContext.Transforms.Text.FeaturizeText("Features", "SuggestedFeedbBackPridiction");
//var pipline = mlContext.Transforms.CopyColumns(outputColumnName: "Features", inputColumnName: "SuggestedFeedBackText").Append(mlContext.Transforms.Concatenate("Label",
// "Label"));
var dataProcessPipeline = mlContext.Transforms.Text.FeaturizeText("SuggestedFeedBackText");
ITransformer model = dataProcessPipeline.Fit(mlData);
//var dataview1 = mlContext.Data.LoadFromEnumerable<SuggestedFeedbackTrainingData>(testFeedbackTrainingData());
//var predictions = model.Transform(dataview1);
//var metrics = mlContext.BinaryClassification.Evaluate(predictions, "IsGood", "Score");
var predictionsObj = mlContext.Model.CreatePredictionEngine<SuggestedFeedbackTrainingData, SuggestedFeedBackPredition>(model);
var ff = new SuggestedFeedbackTrainingData();
ff.SuggestedFeedBackText = text.word;
var fff = predictionsObj.Predict(ff);
var isGood = fff.IsGood;在我的培训数据中:
public static List<SuggestedFeedbackTrainingData> suggestedFeedbackTrainingData()
{
List<SuggestedFeedbackTrainingData> sftd = new List<SuggestedFeedbackTrainingData>();
sftd.Add(new SuggestedFeedbackTrainingData()
{
SuggestedFeedBackText = "great",
IsGood = true
});
sftd.Add(new SuggestedFeedbackTrainingData()
{
SuggestedFeedBackText = "good",
IsGood = true
});
sftd.Add(new SuggestedFeedbackTrainingData()
{
SuggestedFeedBackText = "bad",
IsGood = false
});
sftd.Add(new SuggestedFeedbackTrainingData()
{
SuggestedFeedBackText = "nice",
IsGood = true
});
return sftd;
}当我的输入是“这是好的”时,我一直将属性"IsGood“false的值返回"true”。
我是不是遗漏了什么?
发布于 2022-07-28 21:16:26
有多种因素可能会影响您的模型的性能。下面是一些关于如何改进模型的指导。通常,这涉及使用更多(和代表性数据),尝试不同的算法,使用更多的列,等等。
https://learn.microsoft.com/dotnet/machine-learning/resources/improve-machine-learning-model-ml-net
因为这听起来像是刚刚开始,我建议在Visual中使用Model。它使用自动机器学习(,AutoML)帮助查找数据的“最佳”模型。不过,我要指出的是,AutoML不会帮助您克服没有足够代表性数据的问题。
https://dotnet.microsoft.com/learn/ml-dotnet/get-started-tutorial/data
https://stackoverflow.com/questions/73099582
复制相似问题