using System;
using System.Collections.Generic;
namespace BotSharp.Algorithm.Bayesian
{
///
/// Interface IDataSetAccessor
///
public interface IDataSetAccessor : IEnumerable
{
///
/// Gets the number of distinct tokens,
/// i.e. every token counted at exactly once.
///
/// The token count.
///
long TokenCount { get; }
///
/// Gets the size of the set.
///
/// The size of the set.
///
long SetSize { get; }
///
/// Gets the class.
///
/// The class.
IClass Class { get; }
///
/// Gets the with the specified token.
///
/// The token.
/// Additive smoothing parameter. If set to zero, no Laplace smoothing will be applied.
/// TokenInformation<IToken>.
/// token
TokenInformation this[IToken token, double alpha] { get; }
///
/// Gets the number of occurrences of the given token.
///
/// The token.
/// System.Int64.
/// token
///
long GetCount(IToken token);
///
/// Gets the approximated percentage of the given
/// in this data set
/// by determining its occurrence count over the whole population.
///
/// The token.
/// Additive smoothing parameter. If set to zero, no Laplace smoothing will be applied.
/// System.Double.
/// token
///
double GetPercentage(IToken token, double alpha);
}
}