- Changed
n_iter
default from 100 to 1000 inClusteredNetwork
. - Added
BiDirectionalClusteredNetwork
which is separates positive and negative weighted edges, clusters the graphs separately, then merges the clustered representations. - Calculate
hubs
forClusteredNetwork
- Added
node_connectivity_clustered_
andcluster_connectivity_
toClusteredNetwork
- Added
nodes_ordering
toSymmetric
and uses this inconvert_network
. To avoid situations where the order changes between conversions ofpd.DataFrame
andSymmetric
objects, these conversions must be done explicitly. - 2024.5.30 - Added
grouped_node_connectivity_from_numpy
,grouped_node_connectivity_from_pandas_dataframe
,group_connectivity_from_numpy
, andgroup_connectivity_from_pandas_dataframe
. Also rebuiltconnectivity
so it uses these functions and added support for masking outliers. Now able to output either node or group-level connectivities. - 2024.2.5 - Fixed
__repr__
for unfittedClusteredNetwork
objects. - 2024.2.5 - Fixed error from indexing using set objects (
X_subset = X[initial_features]
) - 2023.9.25 - Added
AggregateNetwork
class,evenness/entropy
calculations, and.mad
for median absolute devation toSymmetry
. - 2023.9.5 - Changed
method="biweight_midcorrelation"
tomethod="bicor"
. Changed default method topearson
instead ofrho
to generalize (though, please userho
,phi
, orpcorr_bshrink
for compositional data). Addedpartial_correlation_with_basis_shrinkage
support fromcomositional
package usingmethod="pcorr_bshrink"
to use similar terminology withPropr
andppcorr
R packages. - 2023.8.15 - Added
ClusteredNetwork
for wrapper aroundcommunity_detection
andedge_cluster_cooccurrence
(formerly known ascluster_homogeneity
). - 2023.8.14 - Changed
dense
toredundant
to be more consistent withscikit-bio
. Addedconfidence_interval
to ensemble networks. Changed default metrics tonp.median
andstats.median_abs_deviation
. Changed defaultsampling_size
from0.618...
to1.0
andwith_replacement=False
towith_replacement=True
. - 2023.7.20 - Added
pairwise_mcc
with Mathew's Correlation Coefficient for binary correlations. Functionality also available inEnsembleAssociationNetwork
(@411an13) - 2023.7.18 - Fixed issue with
SampleSpecificPerturbationNetwork
not being able to handleX.index
with a.name
that was notNoneType
. Created a hack to allowpd.MultiIndex
support (converts to strings and warns). Madeinclude_reference_for_samplespecific=True
the new default which creates a clone of the reference and uses that as the background network. Addedis_square
toSymmetric
object. - 2022.2.9 - Added support for iGraph and non-fully connected networks. Also added UMAP
fuzzy_simplical_set
graph - 2021.6.24 - Added
get_weights_from_graph
function - 2021.6.9 - Fixed
condensed_to_dense
ability to handle self interactions - 2021.4.21 - Fixed
idx_nodes = pd.Index(sorted(set(groups[lambda x: x == group].index) & set(df_dense.index)))
inconnectivity
function to prepare for pandas deprecation. - 2021.4.12 - Added
community_detection
wrapper forpython-louvain
andleidenalg
. Changedcluster_modularity
function tocluster_homogeneity
to not be confused withmodularity
metric used for louvain algorithm. - 2021.3.9 - Large changes took place in this version. Removed dependency of HiveNetworkX and moved many non-Hive plot functions/classes to EnsembleNetworkX. Now HiveNetworkX depends on EnsembleNetworkX which will be the more generalizable extension to NetworkX in the Soothsayer ecosystem while maintaining HiveNetworkX's core object on Hive plots. This version has also incorporated a feature engineering class called
CategoricalEngineeredFeature
that is a generalizable replacement to Soothsayer's PhylogenomicFunctionalComponent (which is being deprecated). - 2020.7.24 - Added
DifferentialEnsembleAssociationNetwork
- 2020.7.21 -
SampleSpecificPerturbationNetwork
fit method returns self
- Add option to include confidence intervals and MAD to graph with
convert_network
- Add
weight
attribute toconvert_network
- Move arguments in
.fit
to__init__
to better reflect usage inscikit-learn
. - Since iGraph is a dependency, just make code cleaner without the workarounds for not having it as a dependency
- Use
edge_weights_
andnode_weights_
inSymmetric
objects like withAggregateNetworks
? AreSymmetric
objects immutable? Don't want node connectivity to be calclulated, the underlying network modified, and then will be inaccurate.