Averageラムダ式が正確に機能する方法を検索しましたが、見つかりませんでした。中性になる可能性のある特定のデータの平均を計算する
私の問題は:私はいくつかの感情分類が異なる方法で表されていることです。たとえば、肯定的な文章は0より大きい数で表されます.1から無限大(1,2,5,100 ....)、負の文でも同じ方法ですが、数字が<,0 (-1、-2 .....) - それを表現するより良い方法ではないことは分かっています。
そして、正の発生平均を計算する必要があります。 SOFの質問からのすべての答えはここで見つけました。すべての値を合計し、合計を分けて平均を求めます。それで大丈夫です。
例えば、私が11の文を持ち、10が値= 1、(合計= 10)、1つの文が負の値= -10の場合、平均は10-10/11 = 0になります。
var average = context.CatchDetails.Where(x => x.Monitoring.Client.Id == custmrid
&& x.Data.published >= datai2
&& x.Data.published <= dataf2
&& x.Monitoring.id == monitoring).ToList().Average(y => y.Sentiment);
私がやっていることは、すべての肯定的な文章を数え、総文数で割ることです。例:
総数= 11
正カウント= 10
10月11日= 0.9090 90,90%陽性出現です。
var positive = context.CatchDetails.Count(x => (x.Monitoring.Client.Id == custmrid)
&& x.Data.published >= datai2 && x.Data.published <= dataf2
&& x.Monitoring.id == monitoring
&& x.Sentiment > 0);
var total = context.CatchDetails.Count(x => (x.Monitoring.Client.Id == custmrid)
&& x.Data.published >= datai2 && x.Data.published <= dataf2
&& x.Monitoring.id == monitoring);
double mediaPositive = ((double)positive/(double)total);
これを行う可能性はありますか?
キーワード:
How to get words average length using Lambda Expression
Getting an average from a C# array
uは単に項目の数によって、すべての正および負の値の合計を分裂しない理由:
はしかし、あなたはちょうど2つの異なるカウントをたいように見えますか? – dotNET