<jupyter_start><jupyter_text>Ejercicios Weak Ties & Random NetworksEjercicios básicos de redes  Ejercicio Clustering CoeficientCalcule el coeficiente de clustering para cada nodo y en la red (sin dirección)<jupyter_code>import networkx as nx
import matplotlib.pyplot as plt
import numpy as np
%matplotlib inline
edges = set([(1,2),(2,1),(2,3), (2,4), (2,5), (4,5), (4,6), (5,6), (4,7)])
# nodes = set()
for x,y in edges:
    nodes.add(x)
    nodes.add(y)
print(nodes)
    
def get_vecinos(nodo):
    vecinos = set()
    for s,t in edges:
        if s == nodo:
            vecinos.add(t)
        if t == nodo:
            vecinos.add(s)
    return vecinos

def get_l_k_node(nodo):
    vecinos_nodo = get_vecinos(nodo)
    k = len(vecinos_nodo)
    l = 0
    for s in vecinos_nodo:
        for t in vecinos_nodo:
            if (s,t) in edges:
                l += 1
    return l,k

def get_clustering_coefficient(nodo):
    l,k = get_l_k_node(nodo)
    combinatoria = k*(k-1)
    if combinatoria != 0:
        c_nodo = (2*l)/(k*(k-1))
    else:
        c_nodo = 0
    return c_nodo

print("CALCULO DEL COEFICIENTE DE CLUSTERING SIN LA LIBRERIA:")
print(" ")

for x in nodes:
    clustering_coefficient_x = get_clustering_coefficient(x)
    print("Coeficiente de clustering de ", x, ":", clustering_coefficient_x)
    
print(" ")
print("CALCULO DEL COEFICIENTE DE CLUSTERING CON LA LIBRERIA NETWORKX:")
print(" ")

G=nx.Graph()
G.add_edges_from(edges)
print(nx.clustering(G))
nx.draw_networkx(G)<jupyter_output>{1, 2, 3, 4, 5, 6, 7}
CALCULO DEL COEFICIENTE DE CLUSTERING SIN LA LIBRERIA:
 
Coeficiente de clustering de  1 : 0
Coeficiente de clustering de  2 : 0.16666666666666666
Coeficiente de clustering de  3 : 0
Coeficiente de clustering de  4 : 0.3333333333333333
Coeficiente de clustering de  5 : 0.6666666666666666
Coeficiente de clustering de  6 : 1.0
Coeficiente de clustering de  7 : 0
 
CALCULO DEL COEFICIENTE DE CLUSTERING CON LA LIBRERIA NETWORKX:
 
{1: 0.0, 2: 0.16666666666666666, 4: 0.3333333333333333, 7: 0.0, 6: 1.0, 5: 0.6666666666666666, 3: 0.0}
{'fraction_non_alphanumeric': 0.11046511627906977, 'fraction_numerical': 0.07897286821705427, 'mean_word_length': 3.4123931623931623, 'pattern_counts': {'":': 1, '<': 4, '<?xml version=': 0, '>': 4, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 6, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'chain_length': '1', 'dir': 'jupyter-structured-clean-dedup', 'id': '547089', 'license': 'MIT', 'n_tokens_mistral': 969, 'n_tokens_neox': 824, 'n_words': 227, 'path': 'camilo_torres_botero/Ejercicios 1.2 Weak Ties & Random Networks.ipynb', 'repo_name': 'spulido99/NetworksAnalysis', 'size': '2064'}