Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Resyncing ward #63

Merged
merged 9 commits into from
Mar 7, 2024
2 changes: 1 addition & 1 deletion AiDotNetBenchmarkTests/AiDotNetBenchmarkTests.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
</PropertyGroup>

<ItemGroup>
<PackageReference Include="BenchmarkDotNet" Version="0.13.10" />
<PackageReference Include="BenchmarkDotNet" Version="0.13.12" />
</ItemGroup>

</Project>
2 changes: 1 addition & 1 deletion src/OutlierRemoval/IQROutlierRemoval.cs
Original file line number Diff line number Diff line change
Expand Up @@ -60,4 +60,4 @@ internal override (double[][], double[][]) RemoveOutliers(double[][] rawInputs,

return (finalInputs, finalOutputs);
}
}
}
9 changes: 4 additions & 5 deletions src/Regression/MultipleRegression.cs
Original file line number Diff line number Diff line change
Expand Up @@ -43,11 +43,10 @@ public MultipleRegression(double[][] inputs, double[] outputs, MultipleRegressio
ValidationHelper.CheckForInvalidTrainingSizes(trainingSize, inputSize - trainingSize, Math.Min(2, inputs.Length), trainingPctSize);

// Perform the actual work necessary to create the prediction and metrics models
var (trainingInputs, trainingOutputs, oosInputs, oosOutputs) =
PrepareData(inputs, outputs, trainingSize, RegressionOptions.Normalization);
var (cleanedInputs, cleanedOutputs) =
RegressionOptions.OutlierRemoval?.RemoveOutliers(trainingInputs, trainingOutputs) ?? (trainingInputs, trainingOutputs);
Fit(cleanedInputs, cleanedOutputs);
var (cleanedInputs, cleanedOutputs) = RegressionOptions.OutlierRemoval?.RemoveOutliers(inputs, outputs) ?? (inputs, outputs);
var (normalizedInputs, normalizedOutputs, oosInputs, oosOutputs) =
PrepareData(cleanedInputs, cleanedOutputs, trainingSize, RegressionOptions.Normalization);
Fit(normalizedInputs, normalizedOutputs);
Predictions = Transform(oosInputs);
Metrics = new Metrics(Predictions, oosOutputs, inputs.Length, RegressionOptions.OutlierRemoval?.Quartile);
}
Expand Down
9 changes: 4 additions & 5 deletions src/Regression/MultivariateRegression.cs
Original file line number Diff line number Diff line change
Expand Up @@ -44,11 +44,10 @@ public MultivariateRegression(double[][] inputs, double[][] outputs, MultipleReg
ValidationHelper.CheckForInvalidTrainingSizes(trainingSize, inputSize - trainingSize, Math.Min(2, inputSize), trainingPctSize);

// Perform the actual work necessary to create the prediction and metrics models
var (trainingInputs, trainingOutputs, oosInputs, oosOutputs) =
PrepareData(inputs, outputs, trainingSize, RegressionOptions.Normalization);
var (cleanedInputs, cleanedOutputs) =
RegressionOptions.OutlierRemoval?.RemoveOutliers(trainingInputs, trainingOutputs) ?? (trainingInputs, trainingOutputs);
Fit(cleanedInputs, cleanedOutputs);
var (cleanedInputs, cleanedOutputs) = RegressionOptions.OutlierRemoval?.RemoveOutliers(inputs, outputs) ?? (inputs, outputs);
var (normalizedInputs, normalizedOutputs, oosInputs, oosOutputs) =
PrepareData(cleanedInputs, cleanedOutputs, trainingSize, RegressionOptions.Normalization);
Fit(normalizedInputs, normalizedOutputs);
Predictions = Transform(oosInputs);
Metrics = new Metrics(Predictions, oosOutputs, inputSize, RegressionOptions.OutlierRemoval?.Quartile);
}
Expand Down
9 changes: 4 additions & 5 deletions src/Regression/PolynomialRegression.cs
Original file line number Diff line number Diff line change
Expand Up @@ -50,11 +50,10 @@ public PolynomialRegression(double[] inputs, double[] outputs, int order, Multip
ValidationHelper.CheckForInvalidTrainingSizes(trainingSize, inputSize - trainingSize, Math.Min(2, inputSize), trainingPctSize);

// Perform the actual work necessary to create the prediction and metrics models
var (trainingInputs, trainingOutputs, oosInputs, oosOutputs) =
PrepareData(inputs, outputs, trainingSize, RegressionOptions.Normalization);
var (cleanedInputs, cleanedOutputs) =
RegressionOptions.OutlierRemoval?.RemoveOutliers(trainingInputs, trainingOutputs) ?? (trainingInputs, trainingOutputs);
Fit(cleanedInputs, cleanedOutputs);
var (cleanedInputs, cleanedOutputs) = RegressionOptions.OutlierRemoval?.RemoveOutliers(inputs, outputs) ?? (inputs, outputs);
var (normalizedInputs, normalizedOutputs, oosInputs, oosOutputs) =
PrepareData(cleanedInputs, cleanedOutputs, trainingSize, RegressionOptions.Normalization);
Fit(normalizedInputs, normalizedOutputs);
Predictions = Transform(oosInputs);
Metrics = new Metrics(Predictions, oosOutputs, inputSize, RegressionOptions.OutlierRemoval?.Quartile);
}
Expand Down
9 changes: 4 additions & 5 deletions src/Regression/SimpleRegression.cs
Original file line number Diff line number Diff line change
Expand Up @@ -43,11 +43,10 @@ public SimpleRegression(double[] inputs, double[] outputs, SimpleRegressionOptio
ValidationHelper.CheckForInvalidTrainingSizes(trainingSize, inputSize - trainingSize, Math.Min(2, inputSize), trainingPctSize);

// Perform the actual work necessary to create the prediction and metrics models
var (trainingInputs, trainingOutputs, oosInputs, oosOutputs) =
PrepareData(inputs, outputs, trainingSize, RegressionOptions.Normalization);
var (cleanedInputs, cleanedOutputs) =
RegressionOptions.OutlierRemoval?.RemoveOutliers(trainingInputs, trainingOutputs) ?? (trainingInputs, trainingOutputs);
Fit(cleanedInputs, cleanedOutputs);
var (cleanedInputs, cleanedOutputs) = RegressionOptions.OutlierRemoval?.RemoveOutliers(inputs, outputs) ?? (inputs, outputs);
var (normalizedInputs, normalizedOutputs, oosInputs, oosOutputs) =
PrepareData(cleanedInputs, cleanedOutputs, trainingSize, RegressionOptions.Normalization);
Fit(normalizedInputs, normalizedOutputs);
Predictions = Transform(oosInputs);
Metrics = new Metrics(Predictions, oosOutputs, inputs.Length, RegressionOptions.OutlierRemoval?.Quartile);
}
Expand Down
9 changes: 4 additions & 5 deletions src/Regression/WeightedRegression.cs
Original file line number Diff line number Diff line change
Expand Up @@ -52,11 +52,10 @@ public WeightedRegression(double[] inputs, double[] outputs, double[] weights, i
ValidationHelper.CheckForInvalidTrainingSizes(trainingSize, inputSize - trainingSize, Math.Min(2, inputs.Length), trainingPctSize);

// Perform the actual work necessary to create the prediction and metrics models
var (trainingInputs, trainingOutputs, oosInputs, oosOutputs) =
PrepareData(inputs, outputs, trainingSize, RegressionOptions.Normalization);
var (cleanedInputs, cleanedOutputs) =
RegressionOptions.OutlierRemoval?.RemoveOutliers(trainingInputs, trainingOutputs) ?? (trainingInputs, trainingOutputs);
Fit(cleanedInputs, cleanedOutputs);
var (cleanedInputs, cleanedOutputs) = RegressionOptions.OutlierRemoval?.RemoveOutliers(inputs, outputs) ?? (inputs, outputs);
var (normalizedInputs, normalizedOutputs, oosInputs, oosOutputs) =
PrepareData(cleanedInputs, cleanedOutputs, trainingSize, RegressionOptions.Normalization);
Fit(normalizedInputs, normalizedOutputs);
Predictions = Transform(oosInputs);
Metrics = new Metrics(Predictions, oosOutputs, inputs.Length, RegressionOptions.OutlierRemoval?.Quartile);
}
Expand Down
8 changes: 4 additions & 4 deletions tests/AiDotNetTests.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -11,15 +11,15 @@

<ItemGroup>
<DotNetCliToolReference Include="JetBrains.dotCover.CommandLineTools" Version="2023.2.2" />
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.8.0" />
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.9.0" />
<PackageReference Include="System.Net.Http" Version="4.3.4" />
<PackageReference Include="System.Text.RegularExpressions" Version="4.3.1" />
<PackageReference Include="xunit" Version="2.6.2" />
<PackageReference Include="xunit.runner.visualstudio" Version="2.5.4">
<PackageReference Include="xunit" Version="2.7.0" />
<PackageReference Include="xunit.runner.visualstudio" Version="2.5.7">
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
<PrivateAssets>all</PrivateAssets>
</PackageReference>
<PackageReference Include="coverlet.collector" Version="6.0.0">
<PackageReference Include="coverlet.collector" Version="6.0.1">
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
<PrivateAssets>all</PrivateAssets>
</PackageReference>
Expand Down
Loading
Loading