Fusion Graph ============ .. figure:: icons/fusion-graph.png Constructs a data fusion graph and runs collective matrix factorization algorithm. Signals ------- **Inputs**: - **Relation** Relationships between two groups of objects. **Outputs**: - **Relation** Relationships between two groups of objects. - **Fitted Fusion Graph** Fitted collective latent data model. - **Fusion Graph** Input data system. Description ----------- **Fusion Graph** widget performs data fusion by collective matrix factorization. It fuses multiple related data sets into one comprehensive structure. The widget returns a relational structure of the entire data system estimated by a collective latent factor approach. .. figure:: images/FusionGraph1-stamped.png 1. Information on the input (object types are nodes, relations are links between the nodes). 2. List of identified relations. Click on the relation to output it. 3. Specify a descriptive name for your fusion system. 4. Select the algorithm for `factorization `__: - **matrix tri-factorization** decomposes each relation matrix into three latent matrices and shares the latent matrices between related data sets. Unknown values are imputed prior to collective factorization. - **matrix tri-completion** works the same as matrix tri-factorization, but does not require relation matrices to be fully observed. 5. Select the *initialization algorithm* for matrix factorization. 6. Set the *maximum number of iterations* used for factorization. Default is 10. 7. Set the *factorization rank* (the ratio of data compression based on the input data). Default is 10%. 8. If *Run after every change* is ticked, the widget will automatically commit changes. Alternatively press *Run*. For large data sets we recommend to commit the changes manually. Example ------- The example below shows how to fuse several data sets together. Say we have the data on `ontology terms for many genes `__, `literature on ontology terms `__ and `literature on genes `__. To fuse these data together we first use **Table to Relation** widget, where we manually set the object type and relation names. **Fusion Graph** will compile the fusion graph of our three data sets with connections between object types based on previously defined data relations, display the connections and run matrix decomposition algorithm. .. figure:: images/FusionGraph-Example.png