24 from daal.algorithms
import em_gmm
25 from daal.data_management
import FileDataSource, DataSourceIface
27 utils_folder = os.path.realpath(os.path.abspath(os.path.dirname(os.path.dirname(__file__))))
28 if utils_folder
not in sys.path:
29 sys.path.insert(0, utils_folder)
30 from utils
import printNumericTable
32 DAAL_PREFIX = os.path.join(
'..',
'data')
35 datasetFileName = os.path.join(DAAL_PREFIX,
'batch',
'em_gmm.csv')
38 if __name__ ==
"__main__":
41 dataSource = FileDataSource(
43 DataSourceIface.doAllocateNumericTable,
44 DataSourceIface.doDictionaryFromContext
46 nFeatures = dataSource.getNumberOfColumns()
49 dataSource.loadDataBlock()
53 initAlgorithm = em_gmm.init.Batch(nComponents)
56 initAlgorithm.input.set(em_gmm.init.data, dataSource.getNumericTable())
59 resultInit = initAlgorithm.compute()
62 algorithm = em_gmm.Batch(nComponents)
65 algorithm.input.setTable(em_gmm.data, dataSource.getNumericTable())
66 algorithm.input.setValues(em_gmm.inputValues, resultInit)
69 result = algorithm.compute()
72 printNumericTable(result.getResult(em_gmm.weights),
"Weights")
73 printNumericTable(result.getResult(em_gmm.means),
"Means")
74 for i
in range(nComponents):
75 printNumericTable(result.getCovariances(em_gmm.covariances, i),
"Covariance")