小编end*_*cts的帖子

自我训练算法

我想针对特定问题开发自我训练算法.为了简单起见,我将其简化为简单的例子.

更新:我添加了一个有效的解决方案作为下面这个问题的答案.

假设我有一个来自数据库的大量实体列表.每个实体属于同一类型,并具有4个byte类型的属性.

public class Entity
{
    public byte Prop1 { get; set; }
    public byte Prop2 { get; set; }
    public byte Prop3 { get; set; }
    public byte Prop4 { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

现在,我想根据一个简单的条件动态测试每个实体的一个或多个属性.这基本上意味着我想针对这种情况测试所有属性的所有可能组合.

为了完成这项工作,我为属性创建了一个位掩码.

[Flags]
public enum EEntityValues
{
    Undefined = 0,
    Prop1 = 1,
    Prop2 = 2,
    Prop3 = 4,
    Prop4 = 8,
}
Run Code Online (Sandbox Code Playgroud)

并添加了一种获取位掩码最大值的方法.对于此示例,返回15(1 + 2 + 4 + 8).

public static int GetMaxValue<T>() where T : struct
{
    return Enum.GetValues( typeof(T) ).Cast<int>().Sum();
} …
Run Code Online (Sandbox Code Playgroud)

.net c# algorithm training-data neural-network

8
推荐指数
1
解决办法
425
查看次数

计算移动的标准偏差

我在stackoverflow上找到了以下代码片段,但我遇到的问题是stdev变为NaN.任何想法如何解决这一问题?

public static void AddBollingerBands(ref SortedList<DateTime, Dictionary<string, double>> data, int period, int factor)
{
    double total_average = 0;
    double total_squares = 0;

    for (int i = 0; i < data.Count(); i++)
    {
        total_average += data.Values[i]["close"];
        total_squares += Math.Pow(data.Values[i]["close"], 2);

        if (i >= period - 1)
        {
            double total_bollinger = 0;
            double average = total_average / period;

            double stdev = Math.Sqrt((total_squares - Math.Pow(total_average,2)/period) / period);
            data.Values[i]["bollinger_average"] = average;
            data.Values[i]["bollinger_top"] = average + factor * stdev;
            data.Values[i]["bollinger_bottom"] = average - factor * …
Run Code Online (Sandbox Code Playgroud)

c# standard-deviation

3
推荐指数
1
解决办法
1718
查看次数

Autofac - DelegatingHandler(HttpMessageHandler)注册

我有一个DelegatingHandler我需要注册的类库中的自定义Autofac.webapi主机解析它对运行时的依赖性,因此主机没有对此库的引用.

public class LocalizationHandler : DelegatingHandler
{
    protected override async Task<HttpResponseMessage> SendAsync( HttpRequestMessage request, CancellationToken cancellationToken )
    {}
}
Run Code Online (Sandbox Code Playgroud)

在我的Autofac初始化程序类中,我尝试过以下方法:

protected override void Load( ContainerBuilder builder )
{
     builder.RegisterType<LocalizationHandler>();
     builder.Register(c => new LocalizationHandler());
}
Run Code Online (Sandbox Code Playgroud)

在主机中注册此类处理程序的常规方法是:

public static void Register(HttpConfiguration httpConfiguration)
{        
    httpConfiguration.MapHttpAttributeRoutes();          
    httpConfiguration.MessageHandlers.Add(new LocalizationHandler());
}
Run Code Online (Sandbox Code Playgroud)

但是我没有访问这里的主机项目.任何想法如何注入处理程序ContainerBuilder

c# ioc-container autofac asp.net-web-api asp.net-web-api2

3
推荐指数
1
解决办法
3166
查看次数