Hecha una prueba de selección
This commit is contained in:
@@ -23,7 +23,7 @@ namespace testML
|
||||
|
||||
var tmpData = new List<Data>();
|
||||
|
||||
for (var c = 0; c < 15000; c++)
|
||||
for (var c = 0; c < 100000; c++)
|
||||
{
|
||||
var d = CreateRandomData();
|
||||
tmpData.Add(d);
|
||||
@@ -49,9 +49,9 @@ namespace testML
|
||||
//var trainer = mlContext.Regression.Trainers.OnlineGradientDescent(numberOfIterations: 100, learningRate: 0.01f );
|
||||
|
||||
var pipeline = mlContext.Transforms.CopyColumns(outputColumnName: "Label", inputColumnName: "IntegerNumber")
|
||||
.Append(mlContext.Transforms.Text.NormalizeText("StringTest"))
|
||||
.Append(mlContext.Transforms.Text.FeaturizeText("StringTest"))
|
||||
.Append(mlContext.Transforms.Concatenate("Features", "Enum1", "Enum2", "Enum3", "Enum4", "StringTest"))
|
||||
//.Append(mlContext.Transforms.Text.NormalizeText("StringTest"))
|
||||
//.Append(mlContext.Transforms.Text.FeaturizeText("StringTest"))
|
||||
.Append(mlContext.Transforms.Concatenate("Features", "Enum1", "Enum2", "Enum3", "Enum4"))
|
||||
.Append(mlContext.Transforms.NormalizeMinMax("Features"))
|
||||
.Append(trainer);
|
||||
|
||||
@@ -78,7 +78,7 @@ namespace testML
|
||||
|
||||
var predictionFunction = mlContext.Model.CreatePredictionEngine<Data, DataPrediction>(model);
|
||||
|
||||
for (var c = 0; c < 25; c++)
|
||||
for (var c = 0; c < 1000; c++)
|
||||
{
|
||||
var test = CreateRandomData();
|
||||
var expected = test.IntegerNumber;
|
||||
@@ -86,7 +86,10 @@ namespace testML
|
||||
|
||||
var p = predictionFunction.Predict(test);
|
||||
|
||||
Console.WriteLine("Found: {0:#,##0.00}\tExpected: {1:#,##0.00}\t\tDiff: {2:#,##0.00}", p.IntegerNumber, expected , expected- p.IntegerNumber);
|
||||
//p.IntegerNumber = (float)Math.Round(p.IntegerNumber);
|
||||
|
||||
|
||||
Console.WriteLine("{4} {3}, Found: {0:#,##0.00}\tExpected: {1:#,##0.00}\t\tDiff: {2:#,##0.00}", p.IntegerNumber, expected , expected- p.IntegerNumber, test.Enum4, test.Enum2);
|
||||
}
|
||||
|
||||
#endregion
|
||||
@@ -106,26 +109,17 @@ namespace testML
|
||||
Enum1 = rnd.Next(1, 4),
|
||||
Enum2 = rnd.Next(1, 11),
|
||||
Enum3 = rnd.Next(1, 6),
|
||||
Enum4 = rnd.Next(1, 6),
|
||||
Enum4 = rnd.Next(1, 4),
|
||||
StringTest = tags[rnd.Next(0, tags.Length)]
|
||||
};
|
||||
|
||||
// Ponemos algunos datos que tengan alguna relación (la red neuronal debería calibrarse para comprender esta formula)
|
||||
d.IntegerNumber = (((d.Enum1 + d.Enum2) - (d.Enum3 + d.Enum4)) * 5.25f) + d.StringTest.Length;
|
||||
|
||||
d.DecimalNumber = (d.Enum2 / d.Enum1) * (2.0f + (1.0f / d.StringTest.Length));
|
||||
|
||||
if (d.StringTest == "Azul")
|
||||
switch (d.Enum4)
|
||||
{
|
||||
d.IntegerNumber += 10;
|
||||
d.OrigenResultNumber = 1;
|
||||
case 1: d.IntegerNumber = 1; break;
|
||||
case 2: d.IntegerNumber = rnd.NextDouble() > 0.5 ? 1 : 0; break;
|
||||
case 3: d.IntegerNumber = 0; break;
|
||||
}
|
||||
|
||||
if (d.StringTest == "Rojo")
|
||||
{
|
||||
d.IntegerNumber += 5f;
|
||||
d.OrigenResultNumber = 1;
|
||||
}
|
||||
|
||||
return d;
|
||||
|
||||
|
||||
@@ -18,7 +18,7 @@
|
||||
</NuGetPackageImportStamp>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
|
||||
<PlatformTarget>x64</PlatformTarget>
|
||||
<PlatformTarget>x86</PlatformTarget>
|
||||
<DebugSymbols>true</DebugSymbols>
|
||||
<DebugType>full</DebugType>
|
||||
<Optimize>false</Optimize>
|
||||
|
||||
Reference in New Issue
Block a user