{
  "cells": [
    {
      "cell_type": "code",
      "execution_count": 1,
      "metadata": {
        "id": "CUjhX5lG2VOf"
      },
      "outputs": [],
      "source": [
        "import warnings\n",
        "warnings.filterwarnings('ignore')"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": 2,
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 1000
        },
        "id": "3-LY61r62VOf",
        "outputId": "bdac7e96-5f4a-40a7-9a19-ed66a6a416cf"
      },
      "outputs": [
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "Adamic Adar\n",
            "(0, 2) -> 0.72134752\n",
            "(0, 3) -> 0.91023923\n",
            "(0, 6) -> 0.72134752\n",
            "(1, 2) -> 0.72134752\n",
            "(1, 3) -> 0.00000000\n",
            "(1, 4) -> 0.72134752\n",
            "(1, 5) -> 0.72134752\n",
            "(1, 6) -> 0.72134752\n",
            "(2, 3) -> 0.00000000\n",
            "(2, 4) -> 0.00000000\n",
            "(2, 5) -> 0.00000000\n",
            "(3, 5) -> 0.91023923\n",
            "(3, 6) -> 0.00000000\n",
            "(3, 7) -> 0.00000000\n",
            "(4, 6) -> 0.00000000\n",
            "(4, 7) -> 0.72134752\n",
            "(5, 6) -> 0.00000000\n",
            "(5, 7) -> 0.72134752\n",
            "\n",
            "Preferential Attachment\n",
            "(0, 2) -> 8.00000000\n",
            "(0, 3) -> 4.00000000\n",
            "(0, 6) -> 8.00000000\n",
            "(1, 2) -> 4.00000000\n",
            "(1, 3) -> 2.00000000\n",
            "(1, 4) -> 6.00000000\n",
            "(1, 5) -> 4.00000000\n",
            "(1, 6) -> 4.00000000\n",
            "(2, 3) -> 2.00000000\n",
            "(2, 4) -> 6.00000000\n",
            "(2, 5) -> 4.00000000\n",
            "(3, 5) -> 2.00000000\n",
            "(3, 6) -> 2.00000000\n",
            "(3, 7) -> 4.00000000\n",
            "(4, 6) -> 6.00000000\n",
            "(4, 7) -> 12.00000000\n",
            "(5, 6) -> 4.00000000\n",
            "(5, 7) -> 8.00000000\n",
            "\n",
            "Jaccard\n",
            "(0, 2) -> 0.20000000\n",
            "(0, 3) -> 0.25000000\n",
            "(0, 6) -> 0.20000000\n",
            "(1, 2) -> 0.33333333\n",
            "(1, 3) -> 0.00000000\n",
            "(1, 4) -> 0.25000000\n",
            "(1, 5) -> 0.33333333\n",
            "(1, 6) -> 0.33333333\n",
            "(2, 3) -> 0.00000000\n",
            "(2, 4) -> 0.00000000\n",
            "(2, 5) -> 0.00000000\n",
            "(3, 5) -> 0.50000000\n",
            "(3, 6) -> 0.00000000\n",
            "(3, 7) -> 0.00000000\n",
            "(4, 6) -> 0.00000000\n",
            "(4, 7) -> 0.16666667\n",
            "(5, 6) -> 0.00000000\n",
            "(5, 7) -> 0.20000000\n"
          ]
        },
        {
          "output_type": "display_data",
          "data": {
            "text/plain": [
              "<Figure size 640x480 with 1 Axes>"
            ],
            "image/png": "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SiKXNHz4cPz66684cOCAQ3Z3N2bSpElYvXo1jh8/Do1GIyQDERE5B65QErmY48ePY82aNZg0aZKwMglcmEl56tQpZGVlCctARETOgYWSyMVkZGQgICAAqampQnP06NEDCQkJ3JxDREQslESupKamBgsWLIBer4e/v7/QLJIkQa/XIzMzE2fOnBGahYiIxGKhJHIhK1euRGlpqcNHBTXlueeeg0qlwooVK0RHISIigbgph8hFyLKMHj16IDIyEgaDQXScS5566in8+uuvyM7OFnpPJxERicMVSiIXsX37dmRnZwsbFdQUvV6P3Nxc7Nu3T3QUIiIShCuURC7iySefxIEDB3Dw4EGnWgm0WCzo2LEjhg0bhoyMDNFxiIhIAK5QErmAoqIifPnll5g8ebJTlUkAUKvVGD16ND755BPU1NSIjkNERAKwUBK5gPnz50On02HUqFGiozRqzJgxKC8vx5dffik6ChERCcBL3kROrqamBpGRkRg5ciT+3//7f6LjNCkxMRFeXl745ptvREchIiIH4wolkZNbtWoVzp8/j0mTJomOcl16vR7ffvstjh49KjoKERE5GAslkROTZRnp6el46KGHcNttt4mOc11PPPEE/P398dFHH4mOQkREDsZCSeTEdu7cif379zvdqKDG6HQ6PP3001iyZAmsVqvoOERE5EAslERObO7cubj99tuRnJwsOkqz6PV6HD9+HJs3bxYdhYiIHIiFkshJnThxAl988QUmT54Mlco1PlX79euHmJgYLFmyRHQUIiJyINf4LkXkgd5//334+flh9OjRoqM0myRJ0Ov1+OKLL1BaWio6DhEROQgLJZETqq2txYcffogxY8YgICBAdJwWSU1NhdlsxqpVq0RHISIiB2GhJHJCn376Kc6cOYOJEyeKjtJiYWFhGDx4MBYvXiw6ChEROQgHmxM5GVmW0bt3b7Rp0wbr168XHeemrFmzBo899hiys7MRHx8vOg4REdkZVyiJnMyuXbuwb98+lxgV1JTBgwfjlltu4eYcIiIPwUJJ5GTS09PRpUsXpKSkiI5y07y8vJCamorly5fDZDKJjkNERHbGQknkRIqLi/Gf//wHkyZNcplRQU0ZM2YMzp07B4PBIDoKERHZmWt/xyJyM++//z58fHzw/PPPi45is9jYWPTt25ebc4iIPAALJZGTqKurwwcffIDn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\n"
          },
          "metadata": {}
        }
      ],
      "source": [
        "#list of methods:\n",
        "#https://networkx.github.io/documentation/networkx-1.10/reference/algorithms.link_prediction.html\n",
        "import matplotlib.pyplot as plt\n",
        "import networkx as nx\n",
        "\n",
        "\n",
        "G = nx.gnp_random_graph(n=8, p=.3)\n",
        "\n",
        "AA = nx.adamic_adar_index(G)\n",
        "print(\"Adamic Adar\")\n",
        "for u, v, p in AA:\n",
        "     print('(%d, %d) -> %.8f' % (u, v, p))\n",
        "print()\n",
        "PA = nx.preferential_attachment(G)\n",
        "print(\"Preferential Attachment\")\n",
        "for u, v, p in PA:\n",
        "     print('(%d, %d) -> %.8f' % (u, v, p))\n",
        "print()\n",
        "JA = nx.jaccard_coefficient(G)\n",
        "print(\"Jaccard\")\n",
        "for u, v, p in JA:\n",
        "     print('(%d, %d) -> %.8f' % (u, v, p))\n",
        "\n",
        "\n",
        "nx.draw(G, with_labels=True, node_size=1000)\n",
        "plt.show()\n"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": null,
      "metadata": {
        "collapsed": true,
        "id": "1WzHtRN92VOg"
      },
      "outputs": [],
      "source": []
    }
  ],
  "metadata": {
    "colab": {
      "provenance": []
    },
    "kernelspec": {
      "display_name": "Python 2",
      "language": "python",
      "name": "python2"
    },
    "language_info": {
      "codemirror_mode": {
        "name": "ipython",
        "version": 2
      },
      "file_extension": ".py",
      "mimetype": "text/x-python",
      "name": "python",
      "nbconvert_exporter": "python",
      "pygments_lexer": "ipython2",
      "version": "2.7.15"
    }
  },
  "nbformat": 4,
  "nbformat_minor": 0
}