public static void OptimizeDataSetForExtraCredit(List <DataSetAttribute> trainingDataAttributes, List <DataSetValue> trainingDataValues) { // Remove state DataSetAttribute usStateAttribute = trainingDataAttributes.First(n => n.Name == "'US State'"); DataSetAttribute browserAttribute = trainingDataAttributes.First(n => n.Name == "'Session Browser Family'"); DataSetAttribute level3PathLast = trainingDataAttributes.First(n => n.Name == "'Assortment Level 3 Path Last'"); trainingDataAttributes.Remove(usStateAttribute); trainingDataAttributes.Remove(browserAttribute); foreach (var trainingDataValue in trainingDataValues) { trainingDataValue.Values[browserAttribute.ValueIndex] = TransformBrowserAttributeIntoIsSpam(trainingDataValue.Values[browserAttribute.ValueIndex]); trainingDataValue.Values[usStateAttribute.ValueIndex] = GetVisitedLegWearPage(trainingDataValue.Values[level3PathLast.ValueIndex]); } DataSetAttribute isSpamUserAgentAttribute = new DataSetAttribute("IsSpamUserAgent", new HashSet <string>() { "true", "false" }, browserAttribute.ValueIndex); DataSetAttribute visitedLegWearPageAttribute = new DataSetAttribute("VisitedLegWearPage", new HashSet <string>() { "true", "false" }, usStateAttribute.ValueIndex); trainingDataAttributes.Add(isSpamUserAgentAttribute); trainingDataAttributes.Add(visitedLegWearPageAttribute); }
public static int CalculatePercentileBucket(DataSetAttribute attribute, int value) { int i; for (i = 0; i < attribute.Percentiles.Count; i++) { int percentileLimit = attribute.Percentiles[i]; if (value > percentileLimit) { continue; } return(i); } return(i); }
public async Task Create_StateUnderTest_ExpectedBehavior() { // Arrange var dataSetRepository = this.CreateDataSetRepository(); string name = "People"; string domainName = "dbo"; string orgName = "Customers"; IEnumerable <DataSetAttribute> dataSetAttributes = new DataSetAttribute[] { }; // Act await dataSetRepository.Create( new DataSet { Name = name, DomainName = domainName }, dataSetAttributes); // Assert Assert.True(false); }
public static List <DataSetAttribute> ParseAttributes(string dataSetAsString) { int indexOfData = dataSetAsString.IndexOf("@data"); int indexOfAttributes = dataSetAsString.IndexOf("@attribute"); string attributesString = dataSetAsString.Substring(indexOfAttributes, indexOfData - indexOfAttributes); var listOfAttributesAsString = attributesString.Split('\n'); List <DataSetAttribute> attributes = new List <DataSetAttribute>(listOfAttributesAsString.Length); for (int index = 0; index < listOfAttributesAsString.Length; index++) { var attributeAsString = listOfAttributesAsString[index]; if (string.IsNullOrEmpty(attributeAsString)) { continue; } int indexOfFirstSpace = attributeAsString.IndexOf(" "); int indexOfStartOfEnums = attributeAsString.IndexOf(" {"); int indexOfEndOfEnums = attributeAsString.IndexOf("}"); string name = attributeAsString.Substring(indexOfFirstSpace + 1, indexOfStartOfEnums - (indexOfFirstSpace + 1)); string enums = attributeAsString.Substring(indexOfStartOfEnums + 2, (indexOfEndOfEnums) - (indexOfStartOfEnums + 2)); var enumValues = enums.Split(','); var hashSet = new HashSet <string>(); foreach (var enumValue in enumValues) { if (!hashSet.Add(enumValue)) { throw new InvalidOperationException(); } } var attribute = new DataSetAttribute(name, hashSet, index); attributes.Add(attribute); } // Remove the first attribute, as it is the result attributes.RemoveAt(0); return(attributes); }