incomes = System.Array[float]((63, 16, 28, 55, 22, 20 )) ages = System.Array[float]((38, 23, 40, 27, 18, 40 )) willBuy = System.Array[bool]((True, False, True, True, False, False)) dataLen = willBuy.Length xdata = System.Array.CreateInstance(Vector, dataLen) for i in range(0, dataLen): xdata[i] = Vector.FromArray(System.Array[float]((incomes[i], ages[i], 1.0))) # Binding the data x.ObservedValue = xdata y.ObservedValue = willBuy len.ObservedValue = dataLen # Inferring the weights ie = InferenceEngine() ie.ShowFactorGraph = True wPosterior = ie.Infer[VectorGaussian](w) print "Dist over w=\n", wPosterior # Prediction incomesTest = System.Array[float]((58, 18, 22)) agesTest = System.Array[float]((36, 24, 37)) testDataLen = incomesTest.Length xtestData = System.Array.CreateInstance(Vector, testDataLen) for i in range(0, testDataLen): xtestData[i] = Vector.FromArray(System.Array[float]((incomesTest[i], agesTest[i], 1.0))) jtest = Range(testDataLen).Named("j") xtest = Variable.Observed[Vector](xtestData, jtest).Named("xtest") wtest = Variable.Random[Vector](wPosterior).Named("wtest") ytest = Variable.Array[bool](jtest).Named("ytest")