{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Tf-idf Vectorizer, Naive Bayes" ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Selected Category: description\n", "description has 280 samples;\n", "installation has 70 samples;\n", "invocation has 70 samples;\n", "citation has 70 samples;\n", "Selected Category: installation\n", "description has 200 samples;\n", "installation has 800 samples;\n", "invocation has 200 samples;\n", "citation has 200 samples;\n", "Selected Category: invocation\n", "description has 279 samples;\n", "installation has 279 samples;\n", "invocation has 1118 samples;\n", "citation has 279 samples;\n", "Selected Category: citation\n", "description has 77 samples;\n", "installation has 77 samples;\n", "invocation has 77 samples;\n", "citation has 309 samples;\n", "{'description': excerpt description\n", "0 Puppeteer is a Node library which provides a h... True\n", "1 The major contributors of this repository incl... True\n", "2 Integral Regression is initially described in ... True\n", "3 We build a 3D pose estimation system based mai... True\n", "4 The Integral Regression is also known as soft-... True\n", "5 This is an official implementation for Integra... True\n", "6 The original implementation is based on our in... True\n", "7 LibGEOS is a LGPL-licensed package for manipul... True\n", "8 Among other things, it allows you to parse Wel... True\n", "9 This repository contains the experiments in th... True\n", "10 For the results presented in the paper, we did... True\n", "11 Batch normalization is currently not supported... True\n", "12 Open-source Ground Penetrating Radar processin... True\n", "13 Pytorch implementation for high-resolution (e.... True\n", "14 The PVGeo Python package contains VTK powered ... True\n", "15 A PyVista (and VTK) interface for the Open Min... True\n", "16 GeoNotebook is an application that provides cl... True\n", "17 Fiona is OGR's neat and nimble API for Python ... True\n", "18 Fiona is designed to be simple and dependable.... True\n", "19 Shapely is a BSD-licensed Python package for m... True\n", "20 Rain streaks can severely degrade the visibili... True\n", "21 The pytorch branch contains: True\n", "22 the pytorch implementation of Peak Response Ma... True\n", "23 the PASCAL-VOC demo (training, inference, and ... True\n", "24 Lithology and stratigraphic logs for wells and... True\n", "25 This Python module allows you to: True\n", "26 Interactively control an instance of ANSYS v14... True\n", "27 Extract data directly from binary ANSYS v14.5+... True\n", "28 Rapidly read in binary result (.rst), binary m... True\n", "29 Official implementation of GANimation. In this... True\n", ".. ... ...\n", "460 author = {Xinlei Chen and Li-Jia Li and Li Fei... False\n", "461 journal={arXiv preprint arXiv:1809.06079}, False\n", "462 booktitle = {Proceedings of the IEEE Conferenc... False\n", "463 booktitle = {IEEE Conference on Computer Visio... False\n", "464 @article{yu2018pygeopressure, False\n", "465 Tristan van Leeuwen, TristanvanLeeuwen False\n", "466 year={2018} False\n", "467 @inproceedings{chen18iterative, False\n", "468 Dieter Werthmüller, prisae False\n", "469 } False\n", "470 title = {Two-Stream Convolutional Networks for... False\n", "471 If you find our work useful in your research, ... False\n", "472 booktitle = {International Conference on Machi... False\n", "473 } False\n", "474 volume = {3}, False\n", "475 Citation False\n", "476 author = {Lim, Bee and Son, Sanghyun and Kim, ... False\n", "477 Citation False\n", "478 Title = {{R-FCN}: Object Detection via Region-... False\n", "479 M. Attene. A lightweight approach to repairing... False\n", "480 year={2018} False\n", "481 False\n", "482 @InProceedings{kato2018renderer False\n", "483 year = {2018} False\n", "484 Learning Spatio-Temporal Features with 3D Resi... False\n", "485 author={Chen, Yuhua and Li, Wen and Sakaridis,... False\n", "486 } False\n", "487 Calcagno, P., Chilès, J. P., Courrioux, G., & ... False\n", "488 Year = {2017} False\n", "489 HyVR can be attributed by citing the following... False\n", "\n", "[490 rows x 2 columns], 'installation': excerpt installation\n", "0 Neural Renderer (this repository) False\n", "1 This repository only contains the core compone... False\n", "2 Additionally, the aim is not to support the fu... False\n", "3 Lithology and stratigraphic logs for wells and... False\n", "4 Faster R-CNN False\n", "5 Basically, he wears a top hat, lives in your c... False\n", "6 A Jupyter / Leaflet bridge enabling interactiv... False\n", "7 mplstereonet provides lower-hemisphere equal-a... False\n", "8 By default, a modified Kamb method with expone... False\n", "9 Detectron is Facebook AI Research's software s... False\n", "10 This work is based on our research paper, whic... False\n", "11 This Python module allows you to: False\n", "12 spatial regression and statistical modeling on... False\n", "13 Rain streaks can severely degrade the visibili... False\n", "14 PySAL, the Python spatial analysis library, is... False\n", "15 Shapely is a BSD-licensed Python package for m... False\n", "16 At FAIR, Detectron has enabled numerous resear... False\n", "17 Import meshes from many common formats (use py... False\n", "18 This is a NodeJS port of pymasker. It provides... False\n", "19 For simplicity, each dot represents one U-Net.... False\n", "20 Export meshes as VTK, STL, OBJ, or PLY file types False\n", "21 Sandbox False\n", "22 This is the code for the paper False\n", "23 Modelling routines: False\n", "24 The Laplacian Pyramid Super-Resolution Network... False\n", "25 fdesign: Design digital linear filters for the... False\n", "26 The goal of Detectron is to provide a high-qua... False\n", "27 Airwave (semi-analytical in the case of step r... False\n", "28 Geographic information systems use GeoTIFF and... False\n", "29 tiles server for live feedback when coding False\n", "... ... ...\n", "1370 Algorithm and Citation Policy False\n", "1371 Title = {Multi{P}ose{N}et: Fast Multi... False\n", "1372 volume = {4}, False\n", "1373 @inproceedings{LapSRN, False\n", "1374 @inproceedings{tesfaldet2018, False\n", "1375 author = {Yiping Chen and Jingkang Wang and Jo... False\n", "1376 If you use this code or pre-trained models, pl... False\n", "1377 Lajaunie, C., Courrioux, G., & Manuel, L. (199... False\n", "1378 } False\n", "1379 and Michael J. Black False\n", "1380 Title = {{R-FCN}: Object Detection via Region-... False\n", "1381 For a more detailed elaboration of the theory ... False\n", "1382 To better understand how the algorithm works, ... False\n", "1383 author={Sun, Xiao and Xiao, Bin and Liang, Shu... False\n", "1384 booktitle = {The IEEE Conference on Computer V... False\n", "1385 } False\n", "1386 @article{zhang2018rdnir, False\n", "1387 title={Integral human pose regression}, False\n", "1388 booktitle={The IEEE Conference on Computer Vis... False\n", "1389 Citation False\n", "1390 } False\n", "1391 } False\n", "1392 year = {2018} False\n", "1393 Citing DaSiamRPN False\n", "1394 title = {Detectron}, False\n", "1395 booktitle = {The IEEE Conference on Computer V... False\n", "1396 year = {2017} False\n", "1397 Learning Spatio-Temporal Features with 3D Resi... False\n", "1398 Xia Li, Jianlong Wu, Zhouchen Lin, Hong Liu, H... False\n", "1399 @inproceedings{wang2018vid2vid, False\n", "\n", "[1400 rows x 2 columns], 'invocation': excerpt invocation\n", "0 Just so you get an idea, it took NYPL staff co... False\n", "1 This repository contains the experiments in th... False\n", "2 The code is built on EDSR (Torch) and tested o... False\n", "3 Surface contact points: 3D coordinates of poin... False\n", "4 Additionally, the aim is not to support the fu... False\n", "5 Renderer backend for tilelive.js that uses nod... False\n", "6 Resulting tiles conform to the JSON equivalent... False\n", "7 construction of graphs from spatial data False\n", "8 Single-image 3D mesh reconstruction False\n", "9 model - model spatial relationships in data wi... False\n", "10 The original motivation for HyVR was the lack ... False\n", "11 SEG-Y Revisions False\n", "12 gprMax is principally written in Python 3 with... False\n", "13 Among other things, it allows you to parse Wel... False\n", "14 Note this is not a package for reading LiDAR d... False\n", "15 TetGen is a program to generate tetrahedral me... False\n", "16 project loading False\n", "17 PyVista is a helper module for the Visualizati... False\n", "18 Segyio can handle a lot of files that are SEG-... False\n", "19 In this repository, we release demo code and p... False\n", "20 tiles server for live feedback when coding False\n", "21 Complete full-space (electric and magnetic sou... False\n", "22 analytical: interface to the analytical, space... False\n", "23 Linear operators and inverse problems are at t... False\n", "24 Nikos Kolotouros provides PyTorch re-implement... False\n", "25 TetGen provides various features to generate g... False\n", "26 For now, only Carto based projects are support... False\n", "27 Tilematrix supports metatiling and tile buffer... False\n", "28 This Python module is an interface to Hang Si'... False\n", "29 A highly efficient JavaScript library for slic... False\n", "... ... ...\n", "1925 title={Scale-recurrent Network for Deep Image ... False\n", "1926 Huikai Wu, Shuai Zheng, Junge Zhang, Kaiqi Huang False\n", "1927 booktitle={CVPR}, False\n", "1928 @inproceedings{li2018recurrent, False\n", "1929 Presented at CVPR 2018 False\n", "1930 {ethanlee, jlwu1992, zlin, hongliu}@pku.edu.cn... False\n", "1931 booktitle = {IEEE Conferene on Computer Vision... False\n", "1932 Citation False\n", "1933 title = {Two-Stream Convolutional Networks for... False\n", "1934 @inproceedings{tao2018srndeblur, False\n", "1935 References False\n", "1936 Key Laboratory of Machine Perception (MOE), Sc... False\n", "1937 title = {{PyVista}: 3D plotting and mesh analy... False\n", "1938 HyVR can be attributed by citing the following... False\n", "1939 } False\n", "1940 journal = {Journal of Open Source Software} False\n", "1941 Year = {2018} False\n", "1942 } False\n", "1943 Tristan van Leeuwen, TristanvanLeeuwen False\n", "1944 @inproceedings{zhang2018residual, False\n", "1945 journal={arXiv preprint arXiv:1711.08229}, False\n", "1946 title = {Detectron}, False\n", "1947 } False\n", "1948 If you use Detectron in your research or wish ... False\n", "1949 booktitle={BMVC}, False\n", "1950 booktitle={Proceedings of the European Confere... False\n", "1951 author = {Xinlei Chen and Abhinav Gupta}, False\n", "1952 @inproceedings{LapSRN, False\n", "1953 url = {https://doi.org/10.21105/joss.01450}, False\n", "1954 publisher = {The Open Journal}, False\n", "\n", "[1955 rows x 2 columns], 'citation': excerpt citation\n", "0 model - model spatial relationships in data wi... False\n", "1 Features False\n", "2 A scene graph is a structured representation o... False\n", "3 Renderer backend for tilelive.js that uses nod... False\n", "4 The input is assumed to represent a single clo... False\n", "5 GemPy was designed from the beginning to suppo... False\n", "6 Complete full-space (electric and magnetic sou... False\n", "7 The mapshaper command line program supports es... False\n", "8 Very lite but extendable mapping framework to ... False\n", "9 Learn Once, Write Anywhere: We don't make assu... False\n", "10 graph construction from polygonal lattices, li... False\n", "11 exploratory spatio-temporal data analysis False\n", "12 The file read parameters are based on GSSI's D... False\n", "13 If you give it all of OpenStreetMap and zoom o... False\n", "14 PySAL, the Python spatial analysis library, is... False\n", "15 Resulting tiles conform to the JSON equivalent... False\n", "16 The input scene graph is processed with a grap... False\n", "17 A Jupyter / Leaflet bridge enabling interactiv... False\n", "18 SEG-Y Revisions False\n", "19 This is the implementation of our CVPR 2018 wo... False\n", "20 mplstereonet also includes a number of utiliti... False\n", "21 All traces in a file are assumed to be of the ... False\n", "22 ResNet{50,101,152} False\n", "23 This repository contains the experiments in th... False\n", "24 This is the code for the paper False\n", "25 We build a 3D pose estimation system based mai... False\n", "26 Overview False\n", "27 Flow-Guided Feature Aggregation (FGFA) is init... False\n", "28 The major contributors of this repository incl... False\n", "29 mplleaflet is a Python library that converts a... False\n", ".. ... ...\n", "510 booktitle = {Computer Vision and Pattern Recog... True\n", "511 year={2018} True\n", "512 } True\n", "513 Yulun Zhang, Yapeng Tian, Yu Kong, Bineng Zhon... True\n", "514 Yulun Zhang, Yapeng Tian, Yu Kong, Bineng Zhon... True\n", "515 @InProceedings{Lim_2017_CVPR_Workshops, True\n", "516 author = {Lim, Bee and Son, Sanghyun and Kim, ... True\n", "517 title = {Enhanced Deep Residual Networks for S... True\n", "518 booktitle = {The IEEE Conference on Computer V... True\n", "519 month = {July}, True\n", "520 year = {2017} True\n", "521 } True\n", "522 @inproceedings{zhang2018residual, True\n", "523 title={Residual Dense Network for Image Super-... True\n", "524 author={Zhang, Yulun and Tian, Yapeng and Kong... True\n", "525 booktitle={CVPR}, True\n", "526 year={2018} True\n", "527 @article{zhang2018rdnir, True\n", "528 title={Residual Dense Network for Image Restor... True\n", "529 booktitle={arXiv}, True\n", "530 @inproceedings{tang2018quantized, True\n", "531 title={Quantized densely connected U-Nets for ... True\n", "532 author={Tang, Zhiqiang and Peng, Xi and Geng, ... True\n", "533 booktitle={ECCV}, True\n", "534 year={2018} True\n", "535 } True\n", "536 @inproceedings{tang2018cu, True\n", "537 title={CU-Net: Coupled U-Nets}, True\n", "538 author={Tang, Zhiqiang and Peng, Xi and Geng, ... True\n", "539 booktitle={BMVC}, True\n", "\n", "[540 rows x 2 columns]}\n" ] } ], "source": [ "from setup_corpus import build_corpora\n", "corpora = build_corpora()\n", "print(corpora)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "doing something haha" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [], "source": [ "from sklearn.model_selection import cross_val_score, cross_validate, StratifiedKFold\n", "from sklearn.feature_extraction.text import TfidfVectorizer\n", "from sklearn.naive_bayes import MultinomialNB\n", "from sklearn.pipeline import make_pipeline\n", "from sklearn.metrics import confusion_matrix, classification_report, accuracy_score, roc_curve, auc\n", "pipeline = make_pipeline(TfidfVectorizer(), MultinomialNB())\n", "\n", "cv = StratifiedKFold(n_splits = 5, shuffle=True)" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Category: description\n", "Scores: [0.79591837 0.75510204 0.78571429 0.75510204 0.74489796]\n", "Accuracy: 0.7673 (+/- 0.0396)\n", "Category: installation\n", "Scores: [0.85714286 0.84285714 0.86785714 0.84285714 0.83928571]\n", "Accuracy: 0.8500 (+/- 0.0217)\n", "Category: invocation\n", "Scores: [0.88010204 0.84693878 0.86189258 0.87179487 0.87692308]\n", "Accuracy: 0.8675 (+/- 0.0240)\n", "Category: citation\n", "Scores: [0.88990826 0.91666667 0.93518519 0.85185185 0.92523364]\n", "Accuracy: 0.9038 (+/- 0.0600)\n" ] } ], "source": [ "for category in corpora:\n", " scores = cross_val_score(pipeline, corpora[category].excerpt, corpora[category][category], cv=cv)\n", " print(f\"Category: {category}\\nScores: {scores}\\nAccuracy: {scores.mean():.4f} (+/- {scores.std()*2:.4f})\")" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [], "source": [ "import numpy as np\n", "from scipy import interp\n", "import matplotlib.pyplot as plt" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Description ROC\n" ] }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "X = corpora['description'].excerpt\n", "y = corpora['description'].description\n", "tprs = []\n", "aucs = []\n", "mean_fpr = np.linspace(0, 1, 100)\n", " \n", "i = 0\n", "print('Description ROC')\n", "for train, test in cv.split(X, y):\n", " probas_ = pipeline.fit(X[train], y[train]).predict_proba(X[test])\n", " # Compute ROC curve and area under the curve\n", " fpr, tpr, thresholds = roc_curve(y[test], probas_[:, 1])\n", " tprs.append(interp(mean_fpr, fpr, tpr))\n", " tprs[-1][0] = 0.0\n", " roc_auc = auc(fpr, tpr)\n", " aucs.append(roc_auc)\n", " plt.plot(fpr, tpr, lw=1, alpha=0.3, label='ROC fold %d (AUC = %0.2f)' % (i, roc_auc))\n", " i+=1\n", "plt.plot([0, 1], [0, 1], linestyle='--', lw=2, color='r',\n", " label='Chance', alpha=.8)\n", "\n", "mean_tpr = np.mean(tprs, axis=0)\n", "mean_tpr[-1] = 1.0\n", "mean_auc = auc(mean_fpr, mean_tpr)\n", "std_auc = np.std(aucs)\n", "plt.plot(mean_fpr, mean_tpr, color='b',\n", " label=r'Mean ROC (AUC = %0.2f $\\pm$ %0.2f)' % (mean_auc, std_auc),\n", " lw=2, alpha=.8)\n", "\n", "std_tpr = np.std(tprs, axis=0)\n", "tprs_upper = np.minimum(mean_tpr + std_tpr, 1)\n", "tprs_lower = np.maximum(mean_tpr - std_tpr, 0)\n", "plt.fill_between(mean_fpr, tprs_lower, tprs_upper, color='grey', alpha=.2,\n", " label=r'$\\pm$ 1 std. dev.')\n", "\n", "plt.xlim([-0.05, 1.05])\n", "plt.ylim([-0.05, 1.05])\n", "plt.xlabel('False Positive Rate')\n", "plt.ylabel('True Positive Rate')\n", "plt.title('ROC Curve for Description Classification')\n", "plt.legend(loc=\"lower right\")\n", "plt.show()" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Installation ROC\n" ] }, { "data": { "image/png": "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OLHFNr755hsGDRpUb1TRHDfffDMLFy5stP3SSy9l9uzZ9bZt27aN4447rrZck4a6LllZWYRCIZYvX86kSZN47bXX6iWqA6Oo/vnPf/Loo4/Wbhs7dizLli1rVd6uTEtRQ/8GijAri9X1CZQDn8dTqHgSCgFqZhZbDmGa67TjRUUF/kCACRdfzKZt29onDXULrF+/vt3SUMdKcXExPXrsW9p13rx5tee79NJLmTdvHhMnTmy3a33ooYdirttUqpyG5xMR8vLyuPnmmwkEApx++ul4PPW7wLfeeosTTjiBjOiyn2B8Pz6fj/Ly8nrXfyjRrCJQs3Tkt8AHHSdO/Kn1EXhs1JDlAHAc8/F4TARQv37GR7BmDaWlpZxzzjnMnTuXWbNmMWbMGD766KN6hzeVhnr8+PExn761HGE1tGeItMfjwXEcXC4XRUVF/Otf/2L16tWICJGImaB53333tZiGetiwYWzZsiWmTnV/RgSxpqGePHky//d/ZjrUe++910gx5uXl1TML1RAIBEhMTGxR3q5Msz4CEfkw+neviBTX+ewVkeKOE7F92acI7IjA0kYqK016iG3b9oWI1pkT0LNnTx555BEeeOABQqEQP/zhD1m8eDEffGDeqfx+P7NmzapdPP22227jnnvuqe2UHMfhwQcfbFGEww8/nE2bNvHNN98A8PzzzzN16tR6dY499lgWLVpEUVERoVCIV1999YAue+TIkbULubz22mvMnDmTzZs3s2nTJrZu3Upubi6LFy9m+PDhbN++nXXr1gGwefNmVq1axYQJE0hOTubqq69m1qxZtauD7dixgxdeeKHR+R566KFaB27dT0MlAHDeeeeRl5dHIBDg22+/JT8/n2OOOaZRvd27dwOmY//tb39bL2NraWkpH374YT0/CBjfQnZ2dqs+lK5MS87imuUos4DsOp+acpfEziy2tJmaSWGbN0MwaBxOzSRgq5uGOikpifnz5zNnzhxGjhzJEUccwdFHH904DfX3v8+oUaMYO3Zsk2sG16VuGuojjjgCl8vVYhrqU089tVn7/c6dOxkwYAAPPvggc+bMYcCAAfVCRGuYPn06ixYtAoxZ6IILLqi3/7vf/S4vvfQSCQkJvPDCC1x55ZVMmDCBiy66iKeeeoqePXsCMGfOHLKzsxk9ejRjx45lxowZteartjJmzBi+973vMXr0aM48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V/ELckvPiXPnzlEzi6x5aGgoEydOBCznFxoaSqtWrXK8b37KA5ytKHdwJZ6ZtbxmzZoxdepUHnroIapXr07Lli2dAX4cpKSksHLlSv75z3+6LOenn34CrK6hRYsWsWjRokLZ5E4eV3h5eeHr68vly5e58cYb88yfF57jCEqrRRAVZc0IOn7cWgy2e7flCAwVmv79+zN58mQ2b97sfLtXVUaOHJntIbN582bWr1/Ptm3bqFatGl27dnXGKsga0MYx9pAVxxjBpUuX6NevH/PmzeO5554jICAgWyvi999/59ixYzRq1IgzZ864FQehatWqmYLmJCYmsnHjRmJiYhARbDYbIsJbb73FzTffzIWMrV+suAkNGjTAz8/PrfLAahFcvnw5W/rs2bPp3r17pjQ/P79Mb/fHjx93Kf/95JNP8uSTTwLw4osvOqPGOVi7di2tWrXi9ttvd8vG3HDHJnftdsW1a9eoUqVKoe0ErC9nedpat26tBWHtikRtcNdxHT78SoGuzzeXL6u+8YZq69bWNniwamxsyZTtgezbt6+0TVBV1RtuuEFVVY8dO6Zz5sxRVdVNmzZp3759NTY2Vhs3bqynT59WVdXExERNSEjQ5cuXa79+/VRVdf/+/Vq5cmXdtGmT/vLLLxoQEOC896xZs/TVV1/NtVxV1V27dmmdOnU0JSVF09PTtXXr1vrZZ5+pqmpaWpqOHj1aJ02apKqq6enp2q5dO12wYIHz+h07dujmzZuzleHn56fJycmqqjp//nwdO3ZspvOdO3fWLVu2qKpq69atdf369c56NmnSRA8fPpyv8vJDamqqNmjQQOPj4/XatWsaFBSkMTEx2fI5PvujR49q06ZN9fz585nODx48WBcuXFgoW/Jjkzt5sn4PVFXPnTund999d45lu/o9AFGaw3PVY8YIMq0sLm6io61un2++sZogTz1ldQllGCQyVGz8/PyYMGFCprTmzZszY8YMevToQVBQEA899BC//fYbvXr1Ii0tjaCgIF555RU6dOhQqLLvueceWrZsSVhYmDNYztKlS2nSpAn+/v5UqVKFmTNnAvkLptOjRw9++OEHwOoWyjqr5tFHH3UOJi9evJgZM2YQHBzMgw8+yKuvvkqjRo3yHbzHXby9vfnggw/o2bMnzZo147HHHiMgIACAPn36cPLkSaeNzZs35+GHH2bevHnU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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "X = corpora['installation'].excerpt\n", "y = corpora['installation'].installation\n", "tprs = []\n", "aucs = []\n", "mean_fpr = np.linspace(0, 1, 100)\n", " \n", "i = 0\n", "print('Installation ROC')\n", "for train, test in cv.split(X, y):\n", " probas_ = pipeline.fit(X[train], y[train]).predict_proba(X[test])\n", " # Compute ROC curve and area under the curve\n", " fpr, tpr, thresholds = roc_curve(y[test], probas_[:, 1])\n", " tprs.append(interp(mean_fpr, fpr, tpr))\n", " tprs[-1][0] = 0.0\n", " roc_auc = auc(fpr, tpr)\n", " aucs.append(roc_auc)\n", " plt.plot(fpr, tpr, lw=1, alpha=0.3, label='ROC fold %d (AUC = %0.2f)' % (i, roc_auc))\n", " i+=1\n", "plt.plot([0, 1], [0, 1], linestyle='--', lw=2, color='r',\n", " label='Chance', alpha=.8)\n", "\n", "mean_tpr = np.mean(tprs, axis=0)\n", "mean_tpr[-1] = 1.0\n", "mean_auc = auc(mean_fpr, mean_tpr)\n", "std_auc = np.std(aucs)\n", "plt.plot(mean_fpr, mean_tpr, color='b',\n", " label=r'Mean ROC (AUC = %0.2f $\\pm$ %0.2f)' % (mean_auc, std_auc),\n", " lw=2, alpha=.8)\n", "\n", "std_tpr = np.std(tprs, axis=0)\n", "tprs_upper = np.minimum(mean_tpr + std_tpr, 1)\n", "tprs_lower = np.maximum(mean_tpr - std_tpr, 0)\n", "plt.fill_between(mean_fpr, tprs_lower, tprs_upper, color='grey', alpha=.2,\n", " label=r'$\\pm$ 1 std. dev.')\n", "\n", "plt.xlim([-0.05, 1.05])\n", "plt.ylim([-0.05, 1.05])\n", "plt.xlabel('False Positive Rate')\n", "plt.ylabel('True Positive Rate')\n", "plt.title('ROC Curve for Installation Classification')\n", "plt.legend(loc=\"lower right\")\n", "plt.show()" ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Installation ROC\n" ] }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "X = corpora['invocation'].excerpt\n", "y = corpora['invocation'].invocation\n", "tprs = []\n", "aucs = []\n", "mean_fpr = np.linspace(0, 1, 100)\n", " \n", "i = 0\n", "print('Installation ROC')\n", "for train, test in cv.split(X, y):\n", " probas_ = pipeline.fit(X[train], y[train]).predict_proba(X[test])\n", " # Compute ROC curve and area under the curve\n", " fpr, tpr, thresholds = roc_curve(y[test], probas_[:, 1])\n", " tprs.append(interp(mean_fpr, fpr, tpr))\n", " tprs[-1][0] = 0.0\n", " roc_auc = auc(fpr, tpr)\n", " aucs.append(roc_auc)\n", " plt.plot(fpr, tpr, lw=1, alpha=0.3, label='ROC fold %d (AUC = %0.2f)' % (i, roc_auc))\n", " i+=1\n", "plt.plot([0, 1], [0, 1], linestyle='--', lw=2, color='r',\n", " label='Chance', alpha=.8)\n", "\n", "mean_tpr = np.mean(tprs, axis=0)\n", "mean_tpr[-1] = 1.0\n", "mean_auc = auc(mean_fpr, mean_tpr)\n", "std_auc = np.std(aucs)\n", "plt.plot(mean_fpr, mean_tpr, color='b',\n", " label=r'Mean ROC (AUC = %0.2f $\\pm$ %0.2f)' % (mean_auc, std_auc),\n", " lw=2, alpha=.8)\n", "\n", "std_tpr = np.std(tprs, axis=0)\n", "tprs_upper = np.minimum(mean_tpr + std_tpr, 1)\n", "tprs_lower = np.maximum(mean_tpr - std_tpr, 0)\n", "plt.fill_between(mean_fpr, tprs_lower, tprs_upper, color='grey', alpha=.2,\n", " label=r'$\\pm$ 1 std. dev.')\n", "\n", "plt.xlim([-0.05, 1.05])\n", "plt.ylim([-0.05, 1.05])\n", "plt.xlabel('False Positive Rate')\n", "plt.ylabel('True Positive Rate')\n", "plt.title('ROC Curve for Invocation Classification')\n", "plt.legend(loc=\"lower right\")\n", "plt.show()" ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Citation ROC\n" ] }, { "data": { "image/png": "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1atXk56eztGjR1m9Wk+OvPfee5k3bx5bt27l4Ycf5oEHHgCgS5cuJCQk1Knc2l7wxhEcVEqNB0QpFaCU+i1Qt3JVG8bhVOiVxaZrqE2TlgZz58J77+kuoOuug5QUaEA5sy3hTzLUkZGRbk2ikpKSOvWJqstQ7927l+LiYhYuXEhKindhzPfu3cv69etZuHAhFteivwEDBjB9+nSvzq+LFStWMG/ePJRSnHnmmRQUFNRYnb1v3z4SExPdq5inTJnilqHevn07F1xwAQDnnXceK1ascJ9nZKg1v0F3D/UBjqJXAdd0t36AnjVkJpe0eaKidOjIxER46CGotkLSG4q+qilWdspmne9dj6g/ylAvX76cBx54gJycHP71r3/VOG6z2di3bx/9+vVz76vU7T/33HPZtWsXOTk5dO3atd77SE9PJzk5uUqroi7mzJnDrl27auy/++67a8ztz87Opnfvk7PVK2WoExIS3PsGDRrEzp07yczMpFevXnz88cfYbDYARo0axYcffsidd97J8uXLKSoqIjc3l/j4eMaOHcuDDz7YoL3+jDfB63PQUz/9npNjBKZF0ObYvBlGjdItgL594dVXYdiwJvfjeVtpNyf+LEM9a9YsZs2axTfffMNDDz3El19+WeX48ePHiam2Wjs1NZXly5djsViYPXs277//Prfddluz3WtjooLVJpVT/XqxsbG88sorzJkzB4vFwllnncW+ffsAePrpp7n99ttZsmQJEydOpGfPnm6J6q5du7q1itor3gSvfx2PFcGViEjt8ezaMJULyswYQRsiLw+efho+/xz+9Ceo7CJISmpdu5qAP8tQVzJx4kT27t3L8ePH6dy5s3t/WFgY5eXl7vTWrVvJyMhwOzubzcaAAQO47bbb6pWhjomJYcuWLW456/poTIvAWxnqGTNmMGPGDABee+01d8ukR48efPTRR4AezP7www/dInnl5eWE+Ui6vK3gzRjBl8Bq17YO6Ap4vZ6gLWEkJtoQIrByJVxxhXYCoaFgt7e2Vc1CdHQ0zz//PE8//TR2u51f/OIXrF271v2WXVZWxvz5892zVu677z4ee+wx99u60+lk0aJF9V5j6NChZGZmsmfPHgCWLl3KpEmTquQ544wzWLNmDbm5udjtdt5///1ay9qzZ4/bsWzatAmbzVYjJkFsbCwOh8PtDFJSUnjkkUfI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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "X = corpora['citation'].excerpt\n", "y = corpora['citation'].citation\n", "tprs = []\n", "aucs = []\n", "mean_fpr = np.linspace(0, 1, 100)\n", " \n", "i = 0\n", "print('Citation ROC')\n", "for train, test in cv.split(X, y):\n", " probas_ = pipeline.fit(X[train], y[train]).predict_proba(X[test])\n", " # Compute ROC curve and area under the curve\n", " fpr, tpr, thresholds = roc_curve(y[test], probas_[:, 1])\n", " tprs.append(interp(mean_fpr, fpr, tpr))\n", " tprs[-1][0] = 0.0\n", " roc_auc = auc(fpr, tpr)\n", " aucs.append(roc_auc)\n", " plt.plot(fpr, tpr, lw=1, alpha=0.3, label='ROC fold %d (AUC = %0.2f)' % (i, roc_auc))\n", " i+=1\n", "plt.plot([0, 1], [0, 1], linestyle='--', lw=2, color='r',\n", " label='Chance', alpha=.8)\n", "\n", "mean_tpr = np.mean(tprs, axis=0)\n", "mean_tpr[-1] = 1.0\n", "mean_auc = auc(mean_fpr, mean_tpr)\n", "std_auc = np.std(aucs)\n", "plt.plot(mean_fpr, mean_tpr, color='b',\n", " label=r'Mean ROC (AUC = %0.2f $\\pm$ %0.2f)' % (mean_auc, std_auc),\n", " lw=2, alpha=.8)\n", "\n", "std_tpr = np.std(tprs, axis=0)\n", "tprs_upper = np.minimum(mean_tpr + std_tpr, 1)\n", "tprs_lower = np.maximum(mean_tpr - std_tpr, 0)\n", "plt.fill_between(mean_fpr, tprs_lower, tprs_upper, color='grey', alpha=.2,\n", " label=r'$\\pm$ 1 std. dev.')\n", "\n", "plt.xlim([-0.05, 1.05])\n", "plt.ylim([-0.05, 1.05])\n", "plt.xlabel('False Positive Rate')\n", "plt.ylabel('True Positive Rate')\n", "plt.title('ROC Curve for Citation Classification')\n", "plt.legend(loc=\"lower right\")\n", "plt.show()" ] } ], "metadata": { "kernelspec": { "display_name": "Python 3", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.7.3" } }, "nbformat": 4, "nbformat_minor": 2 }