{ "metadata": { "name": "" }, "nbformat": 3, "nbformat_minor": 0, "worksheets": [ { "cells": [ { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "
\n", "## PE File Classification Exercise\n", "In this notebook we're going to explore, understand and classify PE (Portable Executable) files as being 'benign' or 'malicious'.\n", "http://en.wikipedia.org/wiki/Portable_Executable\n", "The primary motivation is to explore the nexus of IPython, Pandas and scikit-learn with PE File classification as a vehicle for that exploration. The exercise intentionally shows what machine learning experts might call a naive approach, this is for clarity and conciseness. Recommendations for deeper materials and resources are given in the conclusion.\n", "

\n", "** DISCLAIMER:** This exercise is for illustrative purposes and only uses about 100 samples which is way too small for a generalizable model.\n", "
\n", "### Python Modules Used:\n", "\n", "\n", "
\n", "**All Code and IPython Notebooks for this talk: http://clicksecurity.github.io/data_hacking**\n", "
\n", "
" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "### Imports and plot defaults" ] }, { "cell_type": "code", "collapsed": false, "input": [ "import os\n", "import sklearn.feature_extraction\n", "sklearn.__version__" ], "language": "python", "metadata": { "slideshow": { "slide_type": "fragment" } }, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 190, "text": [ "'0.14.1'" ] } ], "prompt_number": 190 }, { "cell_type": "code", "collapsed": false, "input": [ "import pandas as pd\n", "pd.__version__" ], "language": "python", "metadata": { "slideshow": { "slide_type": "fragment" } }, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 191, "text": [ "'0.13.1'" ] } ], "prompt_number": 191 }, { "cell_type": "code", "collapsed": false, "input": [ "import numpy as np\n", "np.__version__" ], "language": "python", "metadata": { "slideshow": { "slide_type": "fragment" } }, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 192, "text": [ "'1.8.0'" ] } ], "prompt_number": 192 }, { "cell_type": "code", "collapsed": false, "input": [ "# Plotting defaults\n", "import matplotlib.pyplot as plt\n", "%matplotlib inline\n", "plt.rcParams['font.size'] = 18.0\n", "plt.rcParams['figure.figsize'] = 16.0, 5.0" ], "language": "python", "metadata": { "slideshow": { "slide_type": "fragment" } }, "outputs": [], "prompt_number": 193 }, { "cell_type": "code", "collapsed": false, "input": [ "def plot_cm(cm, labels):\n", " # Compute percentanges\n", " percent = (cm*100.0)/np.array(np.matrix(cm.sum(axis=1)).T) # Derp, I'm sure there's a better way \n", " print 'Confusion Matrix Stats'\n", " for i, label_i in enumerate(labels):\n", " for j, label_j in enumerate(labels):\n", " print \"%s/%s: %.2f%% (%d/%d)\" % (label_i, label_j, (percent[i][j]), cm[i][j], cm[i].sum())\n", "\n", " # Show confusion matrix\n", " # Thanks kermit666 from stackoverflow :)\n", " fig = plt.figure()\n", " ax = fig.add_subplot(111)\n", " ax.grid(b=False)\n", " cax = ax.matshow(percent, cmap='coolwarm',vmin=0,vmax=100)\n", " plt.title('Confusion matrix of the classifier')\n", " fig.colorbar(cax)\n", " ax.set_xticklabels([''] + labels)\n", " ax.set_yticklabels([''] + labels)\n", " plt.xlabel('Predicted')\n", " plt.ylabel('True')\n", " plt.show()" ], "language": "python", "metadata": { "slideshow": { "slide_type": "skip" } }, "outputs": [], "prompt_number": 194 }, { "cell_type": "code", "collapsed": false, "input": [ "import os, warnings\n", "warnings.filterwarnings(\"ignore\", category=DeprecationWarning)" ], "language": "python", "metadata": { "slideshow": { "slide_type": "skip" } }, "outputs": [], "prompt_number": 195 }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "
\n", "# Read in the Raw Data\n", "For PE files we want to quickly go from the raw binary files to a feature vector (DataFrame). For PE files there are lots of great tools, there's the pefile python module written by Ero Carrera and there's also a nice new github project called PEFrame https://github.com/guelfoweb/peframe by Gianni Amato at http://www.securityside.it. For this exercise we've provided a little wrapper class around the pefile module." ] }, { "cell_type": "code", "collapsed": false, "input": [ "import pe_features\n", "my_extractor = pe_features.PEFileFeatures()\n", "\n", "# Open a PE File and see what features we get\n", "filename = 'data/bad/0cb9aa6fb9c4aa3afad7a303e21ac0f3'\n", "with open(filename,'rb') as f:\n", " features = my_extractor.execute(f.read())\n", "features" ], "language": "python", "metadata": { "slideshow": { "slide_type": "fragment" } }, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 196, "text": [ "{'check_sum': 0,\n", " 'compile_date': 1218437803,\n", " 'datadir_IMAGE_DIRECTORY_ENTRY_BASERELOC_size': 0,\n", " 'datadir_IMAGE_DIRECTORY_ENTRY_EXPORT_size': 0,\n", " 'datadir_IMAGE_DIRECTORY_ENTRY_IAT_size': 468,\n", " 'datadir_IMAGE_DIRECTORY_ENTRY_IMPORT_size': 100,\n", " 'datadir_IMAGE_DIRECTORY_ENTRY_RESOURCE_size': 1048,\n", " 'debug_size': 0,\n", " 'export_size': 0,\n", " 'generated_check_sum': 53913,\n", " 'iat_rva': 9256,\n", " 'major_version': 0,\n", " 'minor_version': 0,\n", " 'number_of_bound_import_symbols': 0,\n", " 'number_of_bound_imports': 0,\n", " 'number_of_export_symbols': 0,\n", " 'number_of_import_symbols': 113,\n", " 'number_of_imports': 4,\n", " 'number_of_rva_and_sizes': 16,\n", " 'number_of_sections': 4,\n", " 'pe_char': 271,\n", " 'pe_dll': 0,\n", " 'pe_driver': 0,\n", " 'pe_exe': 1,\n", " 'pe_i386': 1,\n", " 'pe_majorlink': 6,\n", " 'pe_minorlink': 0,\n", " 'pe_warnings': 0,\n", " 'sec_entropy_data': 0.4421475832668401,\n", " 'sec_entropy_rdata': 3.2064873564662046,\n", " 'sec_entropy_reloc': 0,\n", " 'sec_entropy_rsrc': 1.028676764457129,\n", " 'sec_entropy_text': 4.852962403013336,\n", " 'sec_raw_execsize': 16384,\n", " 'sec_rawptr_data': 12288,\n", " u'sec_rawptr_rdata': 8192,\n", " 'sec_rawptr_rsrc': 16384,\n", " 'sec_rawptr_text': 4096,\n", " 'sec_rawsize_data': 4096,\n", " u'sec_rawsize_rdata': 4096,\n", " 'sec_rawsize_rsrc': 4096,\n", " 'sec_rawsize_text': 4096,\n", " 'sec_va_execsize': 7044,\n", " 'sec_vasize_data': 468,\n", " u'sec_vasize_rdata': 2182,\n", " 'sec_vasize_rsrc': 1048,\n", " 'sec_vasize_text': 3346,\n", " 'size_code': 4096,\n", " 'size_image': 20480,\n", " 'size_initdata': 12288,\n", " 'size_uninit': 0,\n", " 'std_section_names': 1,\n", " 'total_size_pe': 20480,\n", " 'virtual_address': 4096,\n", " 'virtual_size': 3346,\n", " 'virtual_size_2': 2182}" ] } ], "prompt_number": 196 }, { "cell_type": "code", "collapsed": false, "input": [ "# Load up all our files (files come from various places contagio, around the net...)\n", "def load_files(file_list):\n", " features_list = []\n", " for filename in file_list:\n", " with open(filename,'rb') as f:\n", " features_list.append(my_extractor.execute(f.read()))\n", " return features_list" ], "language": "python", "metadata": { "slideshow": { "slide_type": "slide" } }, "outputs": [], "prompt_number": 197 }, { "cell_type": "code", "collapsed": false, "input": [ "# Bad (malicious) files\n", "file_list = [os.path.join('data/bad', child) for child in os.listdir('data/bad')]\n", "bad_features = load_files(file_list)\n", "print 'Loaded up %d malicious PE Files' % len(bad_features)" ], "language": "python", "metadata": { "slideshow": { "slide_type": "fragment" } }, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "Loaded up 50 malicious PE Files\n" ] } ], "prompt_number": 198 }, { "cell_type": "code", "collapsed": false, "input": [ "# Good (benign) files\n", "file_list = [os.path.join('data/good', child) for child in os.listdir('data/good')]\n", "good_features = load_files(file_list)\n", "print 'Loaded up %d benign PE Files' % len(good_features)" ], "language": "python", "metadata": { "slideshow": { "slide_type": "fragment" } }, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "Loaded up 50 benign PE Files\n" ] } ], "prompt_number": 199 }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "
\n", "# Data Transformation: \n", "** Going from a list of python dictionaries to a Pandas DataFrame. Pandas has all sort of different ways to create a data frame. **" ] }, { "cell_type": "code", "collapsed": false, "input": [ "# Putting the features into a pandas dataframe\n", "import pandas as pd\n", "df_bad = pd.DataFrame.from_records(bad_features)\n", "df_bad['label'] = 'bad'\n", "df_good = pd.DataFrame.from_records(good_features)\n", "df_good['label'] = 'good'\n", "df_good.head()" ], "language": "python", "metadata": { "slideshow": { "slide_type": "fragment" } }, "outputs": [ { "html": [ "
\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
check_sumcompile_datedatadir_IMAGE_DIRECTORY_ENTRY_BASERELOC_sizedatadir_IMAGE_DIRECTORY_ENTRY_EXPORT_sizedatadir_IMAGE_DIRECTORY_ENTRY_IAT_sizedatadir_IMAGE_DIRECTORY_ENTRY_IMPORT_sizedatadir_IMAGE_DIRECTORY_ENTRY_RESOURCE_sizedebug_sizeexport_sizegenerated_check_sumiat_rvamajor_versionminor_versionnumber_of_bound_import_symbolsnumber_of_bound_importsnumber_of_export_symbolsnumber_of_import_symbolsnumber_of_importsnumber_of_rva_and_sizesnumber_of_sections
0 97308 1383744221 3044 0 592 140 7368 28 0 97308 50424 0 0 0 0 0 142 6 16 5...
1 103233 1383102953 60 0 1008 60 872 28 0 103233 53248 5 1 0 0 0 124 2 16 8...
2 26573 1386271379 360 0 208 100 2588 28 0 25971 8804 0 0 0 0 0 48 4 16 5...
3 0 1373925025 12 0 8 83 11904 28 0 54015 35064 0 0 0 0 0 1 1 16 4...
4 50003 1378865704 360 0 208 100 2588 28 0 59485 8804 0 0 0 0 0 48 4 16 5...
\n", "

5 rows \u00d7 108 columns

\n", "
" ], "metadata": {}, "output_type": "pyout", "prompt_number": 200, "text": [ " check_sum compile_date datadir_IMAGE_DIRECTORY_ENTRY_BASERELOC_size \\\n", "0 97308 1383744221 3044 \n", "1 103233 1383102953 60 \n", "2 26573 1386271379 360 \n", "3 0 1373925025 12 \n", "4 50003 1378865704 360 \n", "\n", " datadir_IMAGE_DIRECTORY_ENTRY_EXPORT_size \\\n", "0 0 \n", "1 0 \n", "2 0 \n", "3 0 \n", "4 0 \n", "\n", " datadir_IMAGE_DIRECTORY_ENTRY_IAT_size \\\n", "0 592 \n", "1 1008 \n", "2 208 \n", "3 8 \n", "4 208 \n", "\n", " datadir_IMAGE_DIRECTORY_ENTRY_IMPORT_size \\\n", "0 140 \n", "1 60 \n", "2 100 \n", "3 83 \n", "4 100 \n", "\n", " datadir_IMAGE_DIRECTORY_ENTRY_RESOURCE_size debug_size export_size \\\n", "0 7368 28 0 \n", "1 872 28 0 \n", "2 2588 28 0 \n", "3 11904 28 0 \n", "4 2588 28 0 \n", "\n", " generated_check_sum iat_rva major_version minor_version \\\n", "0 97308 50424 0 0 \n", "1 103233 53248 5 1 \n", "2 25971 8804 0 0 \n", "3 54015 35064 0 0 \n", "4 59485 8804 0 0 \n", "\n", " number_of_bound_import_symbols number_of_bound_imports \\\n", "0 0 0 \n", "1 0 0 \n", "2 0 0 \n", "3 0 0 \n", "4 0 0 \n", "\n", " number_of_export_symbols number_of_import_symbols number_of_imports \\\n", "0 0 142 6 \n", "1 0 124 2 \n", "2 0 48 4 \n", "3 0 1 1 \n", "4 0 48 4 \n", "\n", " number_of_rva_and_sizes number_of_sections \n", "0 16 5 ... \n", "1 16 8 ... \n", "2 16 5 ... \n", "3 16 4 ... \n", "4 16 5 ... \n", "\n", "[5 rows x 108 columns]" ] } ], "prompt_number": 200 }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "
\n", "# Lets look at the Data\n", "We're going to use some nice functionality in the Pandas dataframe to look at our processed data:" ] }, { "cell_type": "code", "collapsed": false, "input": [ "# Now we're set and we open up a a whole new world!\n", "\n", "# Gisting and statistics\n", "df_bad.describe()" ], "language": "python", "metadata": { "slideshow": { "slide_type": "fragment" } }, "outputs": [ { "html": [ "
\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
check_sumcompile_datedatadir_IMAGE_DIRECTORY_ENTRY_BASERELOC_sizedatadir_IMAGE_DIRECTORY_ENTRY_EXPORT_sizedatadir_IMAGE_DIRECTORY_ENTRY_IAT_sizedatadir_IMAGE_DIRECTORY_ENTRY_IMPORT_sizedatadir_IMAGE_DIRECTORY_ENTRY_RESOURCE_sizedebug_sizeexport_sizegenerated_check_sumiat_rvamajor_versionminor_versionnumber_of_bound_import_symbolsnumber_of_bound_importsnumber_of_export_symbolsnumber_of_import_symbolsnumber_of_importsnumber_of_rva_and_sizesnumber_of_sections
count 50.000000 5.000000e+01 50.000000 50.000000 50.000000 50.000000 50.00000 50.000000 50.000000 50.000000 50.000000 50.000000 50.000000 50.000000 50.000000 50.000000 50.000000 50.000000 50 50.00000...
mean 25235.660000 1.035770e+09 415.280000 14.640000 126.720000 456.160000 9615.64000 3.920000 14.640000 86998.520000 43982.640000 0.960000 0.120000 0.140000 0.740000 0.240000 44.560000 3.740000 16 4.32000...
std 45704.015095 3.202979e+08 1061.159532 55.908365 180.722252 1060.814846 19062.02003 9.814275 55.908365 30119.209943 44546.311213 2.137708 0.328261 0.404566 2.028471 0.893514 46.412595 3.445257 0 1.75476...
min 0.000000 2.099200e+06 0.000000 0.000000 0.000000 0.000000 0.00000 0.000000 0.000000 26104.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 16 1.00000...
25% 0.000000 9.372855e+08 0.000000 0.000000 0.000000 40.000000 0.00000 0.000000 0.000000 68094.000000 14593.000000 0.000000 0.000000 0.000000 0.000000 0.000000 9.250000 1.000000 16 3.00000...
50% 0.000000 1.172916e+09 0.000000 0.000000 44.000000 100.000000 1152.00000 0.000000 0.000000 82579.000000 25835.000000 0.000000 0.000000 0.000000 0.000000 0.000000 26.000000 2.500000 16 4.00000...
75% 36417.000000 1.219691e+09 14.000000 0.000000 231.000000 186.000000 5938.00000 0.000000 0.000000 108406.000000 55948.000000 0.000000 0.000000 0.000000 0.000000 0.000000 70.500000 5.000000 16 5.00000...
max 150326.000000 1.382647e+09 4612.000000 313.000000 748.000000 6234.000000 84152.00000 28.000000 313.000000 164776.000000 189824.000000 10.000000 1.000000 2.000000 8.000000 4.000000 180.000000 18.000000 16 9.00000...
\n", "

8 rows \u00d7 199 columns

\n", "
" ], "metadata": {}, "output_type": "pyout", "prompt_number": 201, "text": [ " check_sum compile_date \\\n", "count 50.000000 5.000000e+01 \n", "mean 25235.660000 1.035770e+09 \n", "std 45704.015095 3.202979e+08 \n", "min 0.000000 2.099200e+06 \n", "25% 0.000000 9.372855e+08 \n", "50% 0.000000 1.172916e+09 \n", "75% 36417.000000 1.219691e+09 \n", "max 150326.000000 1.382647e+09 \n", "\n", " datadir_IMAGE_DIRECTORY_ENTRY_BASERELOC_size \\\n", "count 50.000000 \n", "mean 415.280000 \n", "std 1061.159532 \n", "min 0.000000 \n", "25% 0.000000 \n", "50% 0.000000 \n", "75% 14.000000 \n", "max 4612.000000 \n", "\n", " datadir_IMAGE_DIRECTORY_ENTRY_EXPORT_size \\\n", "count 50.000000 \n", "mean 14.640000 \n", "std 55.908365 \n", "min 0.000000 \n", "25% 0.000000 \n", "50% 0.000000 \n", "75% 0.000000 \n", "max 313.000000 \n", "\n", " datadir_IMAGE_DIRECTORY_ENTRY_IAT_size \\\n", "count 50.000000 \n", "mean 126.720000 \n", "std 180.722252 \n", "min 0.000000 \n", "25% 0.000000 \n", "50% 44.000000 \n", "75% 231.000000 \n", "max 748.000000 \n", "\n", " datadir_IMAGE_DIRECTORY_ENTRY_IMPORT_size \\\n", "count 50.000000 \n", "mean 456.160000 \n", "std 1060.814846 \n", "min 0.000000 \n", "25% 40.000000 \n", "50% 100.000000 \n", "75% 186.000000 \n", "max 6234.000000 \n", "\n", " datadir_IMAGE_DIRECTORY_ENTRY_RESOURCE_size debug_size export_size \\\n", "count 50.00000 50.000000 50.000000 \n", "mean 9615.64000 3.920000 14.640000 \n", "std 19062.02003 9.814275 55.908365 \n", "min 0.00000 0.000000 0.000000 \n", "25% 0.00000 0.000000 0.000000 \n", "50% 1152.00000 0.000000 0.000000 \n", "75% 5938.00000 0.000000 0.000000 \n", "max 84152.00000 28.000000 313.000000 \n", "\n", " generated_check_sum iat_rva major_version minor_version \\\n", "count 50.000000 50.000000 50.000000 50.000000 \n", "mean 86998.520000 43982.640000 0.960000 0.120000 \n", "std 30119.209943 44546.311213 2.137708 0.328261 \n", "min 26104.000000 0.000000 0.000000 0.000000 \n", "25% 68094.000000 14593.000000 0.000000 0.000000 \n", "50% 82579.000000 25835.000000 0.000000 0.000000 \n", "75% 108406.000000 55948.000000 0.000000 0.000000 \n", "max 164776.000000 189824.000000 10.000000 1.000000 \n", "\n", " number_of_bound_import_symbols number_of_bound_imports \\\n", "count 50.000000 50.000000 \n", "mean 0.140000 0.740000 \n", "std 0.404566 2.028471 \n", "min 0.000000 0.000000 \n", "25% 0.000000 0.000000 \n", "50% 0.000000 0.000000 \n", "75% 0.000000 0.000000 \n", "max 2.000000 8.000000 \n", "\n", " number_of_export_symbols number_of_import_symbols number_of_imports \\\n", "count 50.000000 50.000000 50.000000 \n", "mean 0.240000 44.560000 3.740000 \n", "std 0.893514 46.412595 3.445257 \n", "min 0.000000 0.000000 0.000000 \n", "25% 0.000000 9.250000 1.000000 \n", "50% 0.000000 26.000000 2.500000 \n", "75% 0.000000 70.500000 5.000000 \n", "max 4.000000 180.000000 18.000000 \n", "\n", " number_of_rva_and_sizes number_of_sections \n", "count 50 50.00000 ... \n", "mean 16 4.32000 ... \n", "std 0 1.75476 ... \n", "min 16 1.00000 ... \n", "25% 16 3.00000 ... \n", "50% 16 4.00000 ... \n", "75% 16 5.00000 ... \n", "max 16 9.00000 ... \n", "\n", "[8 rows x 199 columns]" ] } ], "prompt_number": 201 }, { "cell_type": "code", "collapsed": false, "input": [ "# Visualization I\n", "df_bad['check_sum'].hist(alpha=.5,label='bad',bins=40)\n", "df_good['check_sum'].hist(alpha=.5,label='good',bins=40)\n", "plt.legend()" ], "language": "python", "metadata": { "slideshow": { "slide_type": "slide" } }, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 202, "text": [ "" ] }, { "metadata": {}, "output_type": "display_data", "png": "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\nvXopLi5OUVFR6tChgzZs2FDosUuanT+PHSxycnJUv359hYSEaOTIkR77yS/wnDx5Uk899ZQaNmyo\nqlWrqmbNmurcubM2b97sNo/sAs+JEyf0xz/+Uddff72ioqJUo0YNtW/fXm+//bbHXPIrH9OnT1e/\nfv1cPxfr1at3xfmm5lSSY5ukJPktXbpUDz74oBo2bKjIyEjVrVtX9913n7Zt21bofPLzr5K+935p\nwYIFCgkJUUhIiE6ePOmxn+z8z5v8Vq1apS5duiguLk6RkZG67rrrCv1dtELkZ5exUaNG2ZZl2X36\n9LFTUlLssWPH2mFhYXbnzp3tixcvlvVyKpzx48fb0dHR9kMPPWTPmzfP/stf/mI/8MADtmVZdvPm\nze1z58655u7bt8+Oi4uz4+Pj7RkzZtivvfaaffPNN9thYWH22rVrPY5dkuz8eexg8uSTT9rR0dG2\nZVn2yJEj3faRX+BxOBx2YmKiXbNmTfuZZ56x33zzTXv27Nn2I488Yv/1r391zSO7wJObm2tff/31\ndmhoqP3oo4/aCxcutOfMmWO3adPGtizLHj9+vGsu+ZUfy7Ls6tWr2127drXj4uLsevXqXXauqTmV\n9NgmKW5+586dsy3Lsm+55Rb7ueeesxctWmQ///zzdp06deyQkBB76dKlHo8hP/8qyXvvl44cOWJX\nq1bNjo6OtkNCQuyffvrJYw7Z+V9J80tOTrYty7K7d+9uz507137jjTfsSZMm2b179/aYWxHyK9OC\n+JtvvrEty7L79u3rtn3u3Lm2ZVn2u+++W5bLqZB27Nhhnz592mP7xIkTbcuy7Hnz5rm29evXz65U\nqZL99ddfu7ZlZ2fbdevWta+77jq3x5c0O38eO1js3LnTrlSpkj179uxCC2LyCzy33367nZCQYGdm\nZl5xHtkFnk8++cS2LMseO3as2/a8vDy7fv36dkxMjGsb+ZWf77//3vX/N9544xV/qTM1p5Ic2zTF\nzS8/P9/etGmTx/bjx4/b1atXt2vVquX2yzD5+V9J3nu/1KtXL7tly5b24MGDbcuyPApisisbJcnP\n+ffh888/X+RxK0p+ZVoQP/vss7ZlWfbmzZvdtufm5tqRkZH23XffXZbLCSoZGRm2ZVn2E088Ydv2\npW+Q8PBwu0uXLh5zp06daluWZW/bts21rSTZ+fPYwSI/P9++5ZZb7B49etgOh8OjICa/wLNx40a3\n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\nUPp/6Vm98jyROnkAAAAASUVORK5CYII=\n", "text": [ "" ] } ], "prompt_number": 202 }, { "cell_type": "code", "collapsed": false, "input": [ "# Visualization I\n", "df_bad['generated_check_sum'].hist(alpha=.5,label='bad',bins=40)\n", "df_good['generated_check_sum'].hist(alpha=.5,label='good',bins=40)\n", "plt.legend()" ], "language": "python", "metadata": { "slideshow": { "slide_type": "slide" } }, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 203, "text": [ "" ] }, { "metadata": {}, "output_type": "display_data", "png": "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\nn/j1vDiePn26Nm/erKVLl+rYsWNeHw7VhJ5j2+i9sovsbCM/28jPLrKrWrkFuUrpm1Ldp1Fuvixf\ndZ9CRIjk3yP2iqcfq96+fbsmT56syZMnKzk52ctDAQAAAABQaZ4Wx6NHj1bbtm35KHUUoOfYNnqv\n7CI728jPNvKzi+xQVT7++GPdcMMNSkxMVIMGDXT11Vdr6dKl8vl8iomJUatWrYK22bRpk4YOHarm\nzZsrPj5eSUlJuvnmm7V+/fpSj/Of//xHEyZMUPv27XXGGWeoYcOG6t69uxYsWFDqNvv379cf/vAH\ntWzZUvHx8WrdurX++Mc/6qeffgrLtVvk2ceqMzMztXLlSr333nuKjY316jAAAAAAEHH+8Y9/qE+f\nPjp8+LA6deqkjh07yufzqX///rrrrrskBf+Kz2uvvabBgwfr8OHD6tKli3r06KFt27YpKytLb7zx\nhmbOnKnRo0cHbLNlyxb16NFD3333nc455xz169dP+/bt07vvvqv33ntPb7/9tjIzMwO22b9/v7p3\n767s7Gw1atRIN954ow4fPqz//d//1dq1a6O2fvOkOD548KDGjx+vG264QU2bNlVOTo4kadeuXZKk\ngoICbd26VY0bN9bPfvazgG3T0tKUkpIiSUpMTFSXLl38fSElf+Vj2tvpEiXvBpf0E5c1ndIlJWh5\npFwP06eeTk1NjajzKWv6rbc+VG5ukXJzfZKkpKQUSarU9Dff5Ojyy3tWevsTpw8d2q2RI4dU++PD\nNNNMR/f0xImPKTv7S0mnd3+UpC5dztO0afdE1PWFc7pEpJyP9WkE+umnnzRixAgdPnxYf/7znwM+\nSfvGG2+of//+Qdt89913SktL05EjR/Tcc8/pzjvv9C/LysrSwIEDNXbsWF199dW68MIL/cuGDh3q\n33bOnDmqVet4ibdlyxZde+21WrRokbp16xZQVD/44IPKzs7WFVdcobfeestfk3333Xfq0aOHtmzZ\nUqnrPvn5MWPGDGVnZ/vru0jnuB50WhcUFKhRo0anXO/kJ4rjOFHZ+B1p0salnfaXJviyfMqYkRGW\n8wFOlJaWrpSU9LDsKzOzr4YNywrLvny+dGVkpIdlXwBQWeG8R3JfQ3md6jV8OF5bVqVwvI6dN2+e\nfvOb36hLly765JNPgpYPGjRIr7zyilJSUrRt2zZJ0pQpU5Senq5f/vKXevvtt4O2+c1vfqN58+bp\n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\ncYywoOfYNnp37CI728jPNvKzi+xsIz94heIYAAAAABD1KI4RFvQc20bvjl1kZxv52UZ+dpGdbeQH\nr1AcAwAAAACiHsUxwoKeY9vo3bGL7GwjP9vIzy6ys4384BWKYwAAAABA1POsON68ebOGDh2q8847\nT4mJiapXr57at2+v3/3ud9q+fbtXh0U1oefYNnp37CI728jPNvKzi+xsIz94pZZXO961a5dyc3PV\nv39/tWjRQrVq1dKmTZv00ksvadGiRfrkk0/UqlUrrw4PAAAAAEC5efbO8bXXXqt33nlHDz30kEaP\nHq3/+Z//0dNPP62XXnpJe/fu1bx587w6NKoBPce20btjF9nZRn62kZ9dZGcb+cErVd5znJycLEmq\nXbt2VR8aAAAAAICQPPtYdYmDBw9q//79Ki4u1hdffKF77rlHycnJuuOOO7w+NKoQPce20btjF9nZ\nRn62kZ9dZGcb+cErnr9z/Pzzz6tJkyZKTk5Wr169FBcXp/fee09Nmzb1+tAAAAAAAJSL58Vxv379\ntHLlSmVlZWnSpEnaunWrunfvrm3btnl9aFQheo5to3fHLrKzjfxsIz+7yM428oNXPP9YdfPmzdW8\neXNJ0o033qj+/fvrsssu01133aXXX389aP20tDSlpKRIkhITE9WlSxf/RydKBgLT3k6XKCl4Sz4y\nXdHpSLmet976ULm5RcrNPX5+SUnHz68y040a1daiRXMi6vpKpocMGan8/EOVur7cXJ+mTcvwTycl\n1VGvXldE1PUFPT99x6dTUlIrPV1UlBe2/a1Z87Z69fKFfHw3fr5S+ftyJUl16idIkor2Hyhz+ujB\nQnXo0FpJLZIkSYcKDmlk2shSH4+yHr+JEx9TdvaX/vM5+fwqMt2ly3maNu2eSuU3J2OOaice/76J\n3J3HH4+S6yvPdKOERlqUsajcxzvd6TlzFql27Wan9XiVTB86tFsjRw6pVH41cXpI2hDlH8ivUP4n\nTpc2HqrrflTdj+fJ0+G4P0by9YVjOjs7O6LOh2nyq6nTM2bMUHZ2tr++i3SO67puVR+0a9eu+uqr\nr1RQUBB4Mo6jajgdnCRtXJpS+qac1j58WT5lzMgIy/mcrrS0dKWkpIdlXz5fujIywrOvcOM6Ky4z\ns6+GDcvyfF9Zq9OUmJpSof0VFKxW376p/unTGVOR8tw43XtLVd9XIuVxq4msPRcs4XkLIJJFer0X\nUx0HLSoqUmxsbHUcGgAAAACAIJ4Vx3v27Ak5f9WqVfrss8/0i1/8wqtDoxrQc2zbyR+hgx0lH1+C\nTeRnG/nZRXa2kR+84lnP8ejRo5Wbm6trr71WycnJKi4u1saNG/XXv/5VTZs21WOPPebVoQEAAAAA\nqBDPiuMhQ4Zo/vz5WrBggb7//ns5jqPWrVtr7Nix+uMf/6izzjrLq0OjGvA7x7aVfAkL7Cn5wgvY\nRH62kZ9dZGcb+cErnhXHAwcO1MCBA73aPQAAAAAAYVMtX8iFmoeeY9voObaLvivbyM828rOL7Gwj\nP3iF4hgAAAAAEPUojhEW9BzbRs+xXfRd2UZ+tpGfXWRnG/nBKxTHAAAAAICoR3GMsKDn2DZ6ju2i\n78o28rON/OwiO9vID16hOAYAAAAARD2KY4QFPce20XNsF31XtpGfbeRnF9nZRn7wCsUxAAAAACDq\nURwjLOg5to2eY7vou7KN/GwjP7vIzjbyg1cojgEAAAAAUY/iGGFBz7Ft9BzbRd+VbeRnG/nZRXa2\nkR+8QnEMAAAAAIh6FMcIC3qObaPn2C76rmwjP9vIzy6ys4384BWKYwAAAABA1KM4RljQc2wbPcd2\n0XdlG/nZRn52kZ1t5AevUBwDAAAAAKIexTHCgp5j2+g5tou+K9vIzzbys4vsbCM/eIXiGAAAAAAQ\n9SiOERb0HNtGz7Fd9F3ZRn62kZ9dZGcb+cErFMcAAAAAgKhHcYywoOfYNnqO7aLvyjbys4387CI7\n28gPXqE4BgAAAABEPYpjhAU9x7bRc2wXfVe2kZ9t5GcX2dlGfvAKxTEAAAAAIOpRHCMs6Dm2jZ5j\nu+i7so38bCM/u8jONvKDVyiOAQAAAABRj+IYYUHPsW30HNtF35Vt5Gcb+dlFdraRH7xCcQwAAAAA\niHoUxwgLeo5to+fYLvqubCM/28jPLrKzjfzgFYpjAAAAAEDUozhGWNBzbBs9x3bRd2Ub+dlGfnaR\nnW3kB69QHAMAAAAAoh7FMcKCnmPb6Dm2i74r28jPNvKzi+xsIz94heIYAAAAABD1KI4RFvQc20bP\nsV30XdlGfraRn11kZxv5wSsUxwAAAACAqEdxjLCg59g2eo7tou/KNvKzjfzsIjvbyA9eoTgGAAAA\nAEQ9imOEBT3HttFzbBd9V7aRn23kZxfZ2UZ+8ArFMQAAAAAg6lEcIyzoObaNnmO76LuyjfxsIz+7\nyM428oNXKI4BAAAAAFHPs+J4y5YtmjRpkrp27aomTZqoQYMGuuiii/TII4+osLDQq8OimtBzbBs9\nx3bRd2Ub+dlGfnaRnW3kB694Vhy/+OKLmjFjhtq1a6fJkyfrz3/+szp06KAHHnhAV111lYqLi706\nNAAAAAAAFeJZcTxw4EDt2rVLCxYs0O9+9zuNHDlSixcv1v33369NmzbphRde8OrQqAb0HNtGz7Fd\n9F3ZRn62kZ9dZGcb+cErnhXHl1xyierXrx80/5ZbbpEkff75514dGgAAAACACqnyL+TauXOnJKlp\n06ZVfWh4iJ5j2+g5tou+K9vIzzbys4vsbCM/eKVKi+OjR49q6tSpiouL05AhQ6ry0AAAAAAAlKpK\ni+Nx48bpgw8+0JQpU9SuXbuqPDQ8Rs+xbfQc20XflW3kZxv52UV2tpEfvFKrqg704IMPatasWRo1\napTuueeeUtdLS0tTSkqKJCkxMVFdunTxf3SiZCAw7e10iZKCt+Qj0xWdru7rGZI2RPkH8pXjy1W2\nz6cDBbmSpITEJEk65fTR/Yd0yYUj/R859vlWKzfX5398quJ65mTMUe3E2pKk3J3Hzy+pRVLI6RX/\nXKc62R8EXE+d2Ebq32eR//wlBVxPadMbN25Ur15p2rx9o2Lrx0qSivYfkCTVqZ9QoelzmrXQB6tW\nV/rxeGv1W8otyPVfb2XyTKiVpLYtegVdb1FRnkpU5PEJNV1UlCefb3Wpywt8PklS4n/vb6eaPrCz\nQL5sn3885e7M1erVq0sdr6d6PF/9vyEqOppf7ud/aeOhvMcLNZ27M1cpOn49lbm/lDwHStv/nDmL\nVLt2M0nyj9WkpJSA6V0/5KjIPVCu5+/evfvV9lxfwONRXFygxknnVvjxy/lqmVZ0yFSjBkm65IKe\nAfeSjIzVpZ5vqOmkpDrq1euKoOsv7/TE9InK/iz7+P5aJGnjxn8r/z97T/l4lEzXcRLU/My2Ic+v\noGCvzj238ymvZ8U/16nOzmwltEg8/njtLDj+eJ0wXadOrPrf0UdS8POhtPFQ5v20HM+P8k4fOrRb\nI0f+/0/AVfe/dydPn+797OQ/mFb39XgxnZ2dHVHnwzT51dTpGTNmKDs721/fRTrHdV3X64Okp6dr\nypQpuv322zV37tzST8ZxVAWng1NIG5emlL4pp7UPX5ZPGTMywnI+lVVyHVlZq5WYmFrh7QtW+9Q3\nNSNgns+XroyM9LCcX3lUJItQ1xnqGsojM7Ovhg3LUtbqNCWmlu/4pdn5ZpZyPs6u9PYnPwaVybO0\nx6HkOsMfRtk1AAAexklEQVShrH1V5nEsKFitvn1T/dOnM6bS0tKV7fOdVpYlj+HpjIHTvbec6jFI\nS0tXSkp6mfuoSBabNi1Wp06DAuctzlSnQcPKtX2ofVV2TJ7odO9DpzumyrqG8o6p8uRw8hg4UWXG\nQ3meH+VV1f8WVES0XCcAmyK93ovx+gAlhXFaWlqZhTEAAAAAANXF0+J4ypQpmjJlim677Ta9+OKL\nXh4K1YyeY9voObar5ONLsImxZxvjzy6ys4384BXPeo5nzZql9PR0JScn6xe/+IUyMzMDliclJaln\nz55eHR4AAAAAgHLzrDj++OOP5TiOvv32W40YMSJoeWpqKsVxDcLvHNvG7xzbVfKFF7CJsWcb488u\nsrON/OAVzz5W/dJLL+no0aM6evSojh07FvTfu+++69WhAQAAAACoEM+/kAvRgZ5j2+h7tIu+K9sY\ne7Yx/uwiO9vID16hOAYAAAAARD2KY4QFPce20fdoF31XtjH2bGP82UV2tpEfvEJxDAAAAACIehTH\nCAt6jm2j79Eu+q5sY+zZxvizi+xsIz94heIYAAAAABD1KI4RFvQc20bfo130XdnG2LON8WcX2dlG\nfvAKxTEAAAAAIOpRHCMs6Dm2jb5Hu+i7so2xZxvjzy6ys4384BWKYwAAAABA1KM4RljQc2wbfY92\n0XdlG2PPNsafXWRnG/nBKxTHAAAAAICoR3GMsKDn2Db6Hu2i78o2xp5tjD+7yM428oNXKI4BAAAA\nAFGP4hhhQc+xbfQ92kXflW2MPdsYf3aRnW3kB69QHAMAAAAAoh7FMcKCnmPb6Hu0i74r2xh7tjH+\n7CI728gPXqE4BgAAAABEPYpjhAU9x7bR92gXfVe2MfZsY/zZRXa2kR+8QnEMAAAAAIh6FMcIC3qO\nbaPv0S76rmxj7NnG+LOL7GwjP3iF4hgAAAAAEPUojhEW9BzbRt+jXfRd2cbYs43xZxfZ2UZ+8ArF\nMQAAAAAg6lEcIyzoObaNvke76LuyjbFnG+PPLrKzjfzgFYpjAAAAAEDUozhGWNBzbBt9j3bRd2Ub\nY882xp9dZGcb+cErFMcAAAAAgKhHcYywoOfYNvoe7aLvyjbGnm2MP7vIzjbyg1cojgEAAAAAUY/i\nGGFBz7Ft9D3aRd+VbYw92xh/dpGdbeQHr1AcAwAAAACiHsUxwoKeY9voe7SLvivbGHu2Mf7sIjvb\nyA9eoTgGAAAAAEQ9imOEBT3HttH3aBd9V7Yx9mxj/NlFdraRH7xCcQwAAAAAiHoUxwgLeo5to+/R\nLvqubGPs2cb4s4vsbCM/eIXiGAAAAAAQ9SiOERb0HNtG36Nd9F3ZxtizjfFnF9nZRn7wCsUxAAAA\nACDqURwjLOg5to2+R7vou7KNsWcb488usrON/OAVT4vjRx99VAMHDlTr1q0VExOjVq1aeXk4AAAA\nAAAqpZaXO7///vt15pln6uKLL9bevXvlOI6Xh0M1oufYNvoe7aLvyjbGnm2MP7vIzjbyg1c8LY63\nbdumlJQUSVLHjh1VWFjo5eEAAAAAAKgUTz9WXVIYo+aj59g2+h7tou/KNsaebYw/u8jONvKDV/hC\nLgAAAABA1KM4RljQc2wbfY920XdlG2PPNsafXWRnG/nBKxTHAAAAAICo5+kXclmzY8cOrVixQgcO\nHKj0Pho1aqTk5GT/dMeOHdW4ceNwnF5E82X7ePfYMJ9vNe9gGbV69Wr+gm4YY882xp9dZGcb+cEr\nEVccp6Wl+b/IKzExUV26dPE/+Uua772afu6F5zTvncWKb9pGMTGxKvo+X5JU56xGknTK6QO7cnXo\nmwNqdHZbSdK+/G8VG7tf9X723/X3Hy+669RPKHO6UYMkXXJBT+Xm+iRJSUnHH49Dh3Zr5MghYbve\nIUNGKj//kH//JcfLyctWtnw6sLNAkpTQIvH49ZUxffSH/SpRUiSfzvlNTJ+o7M+yj19/i6Tj57cz\nt0LTa1avkVL8p6UC3/HrS/zv8+tU076cNcos6KWExOP7O1CQq6KiHKWN85Xr+B+995GSWyWXfn7v\nrNehQ8fKfD7sPZCntupy/PinyMP36TaltEwJuB5fzhplKc1//pICrqdk+kBBrtZlT/NP7zn4iTKz\neikvf7O6pJbv8Spt+ocfdittXFqF8yuZ3pW3Syl9U4K+9K3Cef73i49KChGfb7WKivL8+wu1vGR6\n5bqJys3LLvXxk6Rde9crM6tXyOW792yU/nv65T3fAzsLAv7otOadNeo1oFfQ4yNJGVkZZT6e6z7L\nVt5/9iolpeL5nTwe8vZ+praXZpX7fnaq53PxGcVq3DipXPeb3HU+rVvXpfT9792vtuceP+/Snu/7\nDu5SolLKdf2Hv///v7BQsvzk6fI+foe/L1SBz6fduzcqa3Wa/3wkKduXUeb4PHl6yxeva0WHzKDr\nL+90XsFuNd7Z7Pj+WiRq93d7pILyX8/u3RuVmdUr5PntOfhFwPWVdj2+bWtO+Xz07chR1n8fo5Of\nD9//fad6fZUW9O9XWdObN29TSkr68eOXMd7LM71mzdtq1eFVHVKR6tRPqNR4qK066n5lfyUl1VGv\nXldICt/rmfJeT87Ot3TgSG6pealWrtLG+Uq9vxQUFOjcjudW+v6e1CJJX332lRITE6t8+/zv83X+\nRedLOvW/16eaPlRwSCPTRnry+nTixMeUnf3l8eNV4PkearpLl/M0bdo9nr+erorp7OzsCr++rcy0\nF+Mz2qZnzJih7OxsM1/U7Liu61bFgUp+ymnbtm2ln4zjqIpOJ6QFixfoiX88qwbNuqtWrTMqvH3R\njz/q21Xvq/3Nv5YkFRRs1YGfvlSL5r+u0H4KVvvUNzUjaL7Pl66MjPQKn1dp0tLS/S8UTpS1Ok2J\n/y2IyqugYLX69k31T/uyfMqYkVH5cxuXppS+FTuHk2Xel6lhjwxTVtZqJSamnnL9k21anKlOg4YF\nzDv5Ostz/NKU57xCnUOp625arE6dBlV6+1D7quz2J9q44GlNeGFspbc/+XGsTJ6ljanMzL4aNiwr\neIOTlGdMhHr8/csq8Tie/Fw71fOpLFlZq/XNWztPK8uSayjrOsu7j4B5FdjfqR7H8uyrJoypdc8/\noW53/qHS2598DhXNtKxrKO++yvM4lLWv0sZ0Wco73su7r4QWiRX+t/JEJddQVf+2h3Kqe9up/s07\nnftSuPYRCedwuq95ylKRPE8l3M+1SMVjFtmqu947FXqOAQAAAABRz9OPVS9YsEA7duyQJH3//fc6\nfPiwHnroIUnHfwN52LDT+0sfIkfJR95gU4HP5/84I2yh3982xp5t5GcX907b6DmGVzwtjl988UWt\nWbNG0vG30CVp0qRJko5/Dp3iGAAAAAAQCTwtjletWuXl7hFBSr4kBTbxzoddvPNhG2PPNvKzi3un\nbbxrDK/QcwwAAAAAiHoUxwgLeo5tO/lnamDHyT9xBVsYe7aRn13cO20r+bkgINwojgEAAAAAUY/i\nGGFBz7Ft9M3ZRd+cbYw928jPLu6dttFzDK9QHAMAAAAAoh7FMcKCnmPb6Juzi7452xh7tpGfXdw7\nbaPnGF6hOAYAAAAARD2KY4QFPce20TdnF31ztjH2bCM/u7h32kbPMbxCcQwAAAAAiHoUxwgLeo5t\no2/OLvrmbGPs2UZ+dnHvtI2eY3iF4hgAAAAAEPUojhEW9BzbRt+cXfTN2cbYs4387OLeaRs9x/AK\nxTEAAAAAIOpRHCMs6Dm2jb45u+ibs42xZxv52cW90zZ6juEVimMAAAAAQNSjOEZY0HNsG31zdtE3\nZxtjzzbys4t7p230HMMrFMcAAAAAgKhHcYywoOfYNvrm7KJvzjbGnm3kZxf3TtvoOYZXKI4BAAAA\nAFGP4hhhQc+xbfTN2UXfnG2MPdvIzy7unbbRcwyvUBwDAAAAAKIexTHCgp5j2+ibs4u+OdsYe7aR\nn13cO22j5xheoTgGAAAAAEQ9imOEBT3HttE3Zxd9c7Yx9mwjP7u4d9pGzzG8QnEMAAAAAIh6FMcI\nC3qObaNvzi765mxj7NlGfnZx77SNnmN4heIYAAAAABD1KI4RFvQc20bfnF30zdnG2LON/Ozi3mkb\nPcfwCsUxAAAAACDqURwjLOg5to2+Obvom7ONsWcb+dnFvdM2eo7hFYpjAAAAAEDUozhGWNBzbBt9\nc3bRN2cbY8828rOLe6dt9BzDKxTHAAAAAICoR3GMsKDn2Db65uyib842xp5t5GcX907b6DmGVyiO\nAQAAAABRj+IYYUHPsW30zdlF35xtjD3byM8u7p220XMMr1AcAwAAAACiHsUxwoKeY9vom7OLvjnb\nGHu2kZ9d3Dtto+cYXqE4BgAAAABEPYpjhAU9x7bRN2cXfXO2MfZsIz+7uHfaRs8xvEJxDAAAAACI\nehTHCAt6jm2jb84u+uZsY+zZRn52ce+0jZ5jeMXT4vjYsWOaPn26zj33XNWpU0fJycm6++67VVhY\n6OVhAQAAAACoEE+L47vuuksTJkxQx44dNXPmTA0cOFBPP/20+vTpI9d1vTw0qhg9x7bRN2cXfXO2\nMfZsIz+7uHfaRs8xvFLLqx1//vnneuaZZ9S/f3/97W9/889v1aqVxo4dq8WLF2vw4MFeHR4AAAAA\ngHLz7J3jl19+WZI0bty4gPl33nmn6tatq8zMTK8OjWpAz7Ft9M3ZRd+cbYw928jPLu6dttFzDK94\nVhxv2LBBsbGxuvzyywPmx8fHq3PnztqwYYNXh0Y1KPr+QHWfAk7Dgdzc6j4FVFJuDtlZxtizjfzs\n4t5pW3Z2dnWfAmooz4rj3bt3q3HjxoqLiwta1rx5c+Xl5enIkSNeHR5V7OhBsrTsSHFxdZ8CKqn4\nANlZxtizjfzs4t5pW0EBn1iENzwrjgsLCxUfHx9y2RlnnOFfBwAAAACA6ubZF3LVrVtXeXl5IZcV\nFxfLcRzVrVvXq8NXSq3YWjr63UHt2flPOTFOhbc/dviIDh/M1959/5YkHTn6kxxVfD8WHdrHX2At\nK+YvsGYV5JKdZYw928jPLu6dtvno94dHHNej31S67rrr9O6776qwsDDoo9VXX321cnJytGfPnoD5\nbdu21datW704HQAAAABANWrTpo1ycnKq+zRK5dk7x5dffrlWrFihDz/8UN26dfPPLy4uVnZ2dsjf\nJ4vkBwoAAAAAUHN51nN86623ynEczZgxI2D+888/r6KiIg0dOtSrQwMAAAAAUCGefaxaksaOHauZ\nM2eqX79+6t27t7788ks988wz6tatm959912vDgsAAAAAQIV4WhwfO3ZMM2bM0Jw5c+Tz+XTWWWfp\n1ltv1ZQpUyLuy7gAAAAAANGrzI9Vb9myRZMmTVLXrl3VpEkTNWjQQBdddJEeeeSRkD/DtHnzZvXt\n21eNGjVSQkKCUlNTddFFF+mrr75ScXGxvv32W/35z39W3bp1dezYMU2fPl3nnnuu6tSpo+TkZN19\n992l/rzTyfu+5pprtGrVqpDrVnTf0aSwsFCtW7dWTEyMxowZE7Tcy8eZDCsuPz9fd999t9q2bas6\ndeqoSZMmuvbaa7Vu3bqA9cgt8uTl5em+++7Teeedp4SEBJ111lm6+uqrNW/evKB1ya96PProoxo4\ncKD/ntiqVasy17eaU0X2bUlF8svMzNSgQYPUtm1b1atXTy1bttRNN92kjz76KOT65Oetio69E82e\nPVsxMTGKiYlRfn5+0HKy815l8lu2bJl69uypRo0aqV69eurQoUPI16Hk572K5vfWW2/puuuuU/Pm\nzVW3bl21bdtWI0eO1Pbt24PWrRH5uWW455573Pr167vDhg1zZ86c6T733HPurbfe6jqO43bu3Nkt\nKiryr5uTk+M2atTITUpKcqdNm+Y+++yz7kUXXeTGxcW5K1euDNr32LFjXcdx3P79+7tz5851x48f\n78bFxbnXXnute+zYsYB1vdx3tJkwYYJbv35913Ecd8yYMQHLyDCy+Hw+NyUlxW3SpIl77733ui+9\n9JI7ffp09/bbb3f/+te/+tcjt8hTXFzsnnfeeW5sbKx7xx13uM8//7w7Y8YM94orrnAdx3Hvuece\n/7rkV30cx3EbN27s/upXv3IbNWrktmrVqtR1reZU0X1bUt78ioqKXMdx3Isvvth98MEH3RdffNF9\n6KGH3BYtWrgxMTFuZmZm0Dbk562KjL0T7dq1y23QoIFbv359NyYmxv3hhx+C1iE771U0v/T0dNdx\nHLd3797uM888477wwgvupEmT3H79+gWtS37eq0h+8+bNcx3HcTt06OA+9thj7gsvvODeddddbr16\n9dxGjRq5u3btCli/JuRXZnH88ccfu/v27Qua/8ADD7iO47gzZ870zxs4cKBbq1Yt99NPP/XPO3Dg\ngNuyZUu3Q4cOAdt/9tlnruM47oABAwLmP/PMM67jOO6iRYsC5nu572iyceNGt1atWu706dNDFsdk\nGFm6devmJicnu7m5uWWuR26RZ8WKFa7jOO748eMD5h86dMht3bq1m5iY6J9HftVn+/bt/v+/4IIL\nynyBYDWniuzbmvLmd+TIEXft2rVB8/fs2eM2btzYbdq0acALK/LzXkXG3on69u3rXnLJJe7w4cNd\nx3GCimOyqxoVya/k38OHHnrolPslv6pRkfyuvvpqNz4+PmiszZ0713Ucx50xY4Z/Xk3Jr8ziuDSb\nNm1yHcdxf/vb3/oPFh8f7/bs2TNo3alTp7qO47gfffSRf97999/vOo7jrlu3LmDd4uJit169eu71\n118fcCFe7TuaHDlyxL344ovdPn36uD6fL6g4JsPIsmbNmoA/QB06dMj96aefgtYjt8j0/vvvu47j\nuE888UTQsssuu8xt0aKF67rkF0nKeoFgNaeK7tuyihRYJ7r55ptdx3HcPXv2+OeRX9Uqb3avvfaa\nGxsb627YsMEdMWJEyOKY7KreqfLr0aOHm5SU5B49etR1Xdfdv3+///9PRn5V71T5/epXv3IbNGgQ\nlNmyZctcx3HcuXPn+ufVlPwq9VNOO3fulCQ1bdpUkrRp0yYdOnRIV155ZdC6V1xxhSTp448/9s/b\nsGGDYmNjdfnllwesGx8fr86dO2vDhg3+eV7uO5pMnz5dmzdv1syZM+WG+A42Mowsy5cvlySdc845\n6tOnj+rWrauEhAR16NBBCxcu9K9HbpHpqquuUu/evfX4449ryZIl+uabb/TVV1/p3nvv1SeffKL0\n9HRJ5GeF1Zwquu9otHPnTsXHxysxMdE/j/wiz759+/T73/9eo0eP1qWXXlrqemQXWX766SetXbtW\nV1xxhZ5//nk1b95cDRo0UP369TV48GD95z//CVif/CLPvffeqyNHjmjEiBHatGmTdu3apbffflsT\nJkzQ+eefr0GDBvnXrSn5Vbg4Pnr0qKZOnaq4uDgNGTJEkrR7925JUvPmzYPWL5m3a9cu/7zdu3er\ncePGiouLC7l+Xl6ejhw54vm+o8X27ds1efJkTZ48WcnJySHXIcPIsnnzZknSnXfeqYKCAs2fP18v\nvviiateureHDhysjI0MSuUWyN954QzfffLNuueUWpaSk6Pzzz9ezzz6r1157TXfccYck8rPCak4V\n3Xe0Wb58uTZs2KBbb71VtWvX9s8nv8hzzz33SDr+RUJlIbvIkpOTo2PHjumf//ynxo0bp1GjRmnp\n0qUaPXq0/va3v6lHjx4qKiryr09+kSc1NVUrV67UqlWr1KVLF51zzjnq3bu32rRpo3/+85+qV6+e\nf92akl+Fi+Nx48bpgw8+0JQpU9SuXTtJ8n9LWHx8fND6Z5xxRsA6Jf8fat1Q63u572gxevRotW3b\nVuPHjy91HTKMLPv375ckNWjQQKtWrdLgwYOVlpam9957T4mJibrvvvvkui65RajDhw9rwIABysjI\n0N13362lS5dq7ty5atu2rQYPHqyVK1dKYtxZYTWniu47mnz99dcaPny4WrRooSeffDJgGflFlvff\nf19z5szRX/7yF9WvX7/MdckuspS8lvn+++81a9YsTZo0STfddJOefPJJPfjgg/ryyy8DfsGB/CLP\nu+++q+uuu05JSUl64YUXtHTpUk2YMEErV67UoEGDAv5oXlPyq1Bx/OCDD2rWrFkaNWqU/694kvy/\nWXzw4MGgbYqLiwPWKfn/UOuWrO84jn99L/cdDTIzM7Vy5UrNnj1bsbGxpa5HhpGlTp06kqTBgwer\nVq1a/vmJiYnq06ePcnNztXnzZnKLUHPmzNHrr7+up59+Wo8//rhuuukm3X777Vq3bp2SkpJ05513\n6tixY+RnhNWcKrrvaLF9+3b94he/UGxsrP7+97/rzDPPDFhOfpHj0KFDGjlypH75y1/q1ltvPeX6\nZBdZSl7LxMbGavjw4QHLRowYIUlas2aNfx75RZZDhw7ptttuU5MmTfT+++/rN7/5jW666SY98cQT\neuqpp/T3v/894I8bNSW/chfH6enpevjhh3X77bdr9uzZAcuaNWsmKfRb1CXzTnxru1mzZsrLy9Ph\nw4dDrt+4cWN/QeDlvmu6gwcPavz48brhhhvUtGlT5eTkKCcnRzt27JAkFRQUaOvWrdq7dy8ZRpgW\nLVpIkpKSkoKWnX322ZKO51fWx0PIrfqsXLlSjuNo4MCBAfPr1Kmj66+/Xjt27NCOHTsYd0ZYzami\n+44GPp9PPXr0UGFhoVasWKELLrggaB3yixyzZs3S5s2bddddd/lfw+Tk5Pjfkdy2bZu2bdvmX5/s\nIss555wjSWrYsGHQx2FLXt/8+OOP/nnkF1m+/PJL7d69WzfccEPQu7ADBgyQJK1du9Y/r6bkV67i\nOD09XVOmTFFaWprmzp0btPzCCy9UfHy81q9fH7Tsgw8+kKSAL1C4/PLLdfToUX344YcB6xYXFys7\nOztgXS/3XdMVFRUpLy9Pb775ptq1a6f27durffv26tGjh6Tj7yq3a9dOL7zwgjp16kSGEaTkCwO+\n/fbboGUlX4jXpEkTdezYkdwi0OHDh+W6bsge3ZJ5R44c4d5phNWcKrrvms7n8yk1NVX79+/XihUr\n1Llz55DrkV/k+Oabb3Ts2DH17t3b/xqmffv2Wrp0qaTjj+eJOZJdZGnSpInOOecc5efnB/QWS4Gv\nZUqQX2QpKUSPHj0atOzE1zIlakx+pX6P9X/96U9/ch3HcUeMGFHmegMHDnRjY2MDfk9q//79bnJy\nctDvSf373/92Y2Ji3P79+wfMf/rpp13HcdyFCxdW2b5rssOHD7tLlixxX3311YD/Zs+e7TqO415/\n/fXuq6++6n799deu65JhJPnxxx/dBg0auC1atHAPHDjgn7979263Xr167rnnnuufR26Rp+S++fjj\njwfM//HHH92zzz7bPfPMM/2/q0p+kaE8v3NsMaeK7NuyU+Xn8/nclJQUt2HDhu7HH39c5r7Ir2qV\nld2nn34a9Brm1VdfdXv06OE6juNmZGS4r7/+un99sqt6pxp7DzzwgOs4jjt9+vSA+ePHj3cdx3Ff\nfvll/zzyq3pl5VdUVOTWq1fPbdasmVtQUBCwbNq0aUG51pT8yiyOZ86c6TqO47Zs2dKdP3++u2DB\ngoD/VqxY4V83JyfHbdSokdu0aVN32rRp7qxZs9wuXbq4cXFx7j/+8Y+gfY8ZM8Z1HMe9+eab3eef\nf94dP368GxcX5/bo0SNoXS/3HY22b98e9DvHrkuGkWbOnDmu4zhux44d3b/85S/uo48+6iYnJ7vx\n8fGMvQiXl5fnJicnuzExMe7w4cPd2bNnuw8//LCbkpLixsTEuLNnz/avS37VZ/78+e7UqVPdqVOn\nuk2aNHEbNmzon16wYEHAulZzqui+LSlvfvv27XNbtWrlOo7jjh07Nui1zIIFCwJ+59h1yc9rFRl7\noZT2O8euS3ZVoSL57du3zz3vvPPc2NhY97e//a07e/Zsd+jQoa7jOG7Pnj39fyguQX7eq0h+jz32\nmOs4jtuqVSv3kUcecWfPnu0OGzbMjYmJcdu1a+fu378/YP2akF+ZxXFaWpobExPjxsTEuI7jBP13\n8sl8+eWX7k033eQmJia6devWdX/+85+777zzTsh9Hz161H3yySfdDh06uPHx8W6LFi3cCRMmuD/9\n9FPI9b3cd7QprTh2XTKMNK+99prbtWtXt169em79+vXd6667zl2/fn3QeuQWeXbv3u2OGjXKTU5O\nduPi4twGDRq43bt3d5cuXRq0LvlVj9TUVP+/Zyf/WxfqH1urOVVk35aUN7+Sf/NKey0TExPjrlmz\nJmDf5Oetio69k5W8Pg1VHJOd9yqaX15envvb3/7WbdasmVu7dm23TZs27gMPPOAePHgwaF3y815F\n83v55Zfdbt26ufXr13fj4uLcVq1aub///e/dvLy8oHVrQn6O67pu6R+6BgAAAACg5qvw7xwDAAAA\nAFDTUBwDAAAAAKIexTEAAAAAIOpRHAMAAAAAoh7FMQAAAAAg6lEcAwAAAACiHsUxAAAAACDqURwD\nAAAAAKIexTEAAAAAIOpRHAMAAAAAot7/Aww4dZG/IFKvAAAAAElFTkSuQmCC\n", "text": [ "" ] } ], "prompt_number": 203 }, { "cell_type": "code", "collapsed": false, "input": [ "# Concatenate the info into a big pile!\n", "df = pd.concat([df_bad, df_good], ignore_index=True)\n", "df.replace(np.nan, 0, inplace=True)" ], "language": "python", "metadata": { "slideshow": { "slide_type": "slide" } }, "outputs": [], "prompt_number": 26 }, { "cell_type": "code", "collapsed": false, "input": [ "# Boxplots show you the distribution of the data (spread).\n", "# http://en.wikipedia.org/wiki/Box_plot\n", "\n", "# Get some quick summary stats and plot it!\n", "df.boxplot('number_of_import_symbols','label')\n", "plt.xlabel('bad vs. good files')\n", "plt.ylabel('# Import Symbols')\n", "plt.title('Comparision of # Import Symbols')\n", "plt.suptitle(\"\")" ], "language": "python", "metadata": { "slideshow": { "slide_type": "fragment" } }, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 27, "text": [ "" ] }, { "metadata": {}, "output_type": "display_data", "png": "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\nNUBJ2r9/v2JiYrRq1SrNnz9flZWVqqyslMPh8GhXWlqqW2+9VSNGjNCePXs8ri1dulRJSUnKyMjQ\ngAEDTHGzNB24iCVlZowJAKAmzA9mjAlwSb0sTV+8eLFWrVqlu+66S/fee6+Cg4NrfKGGsGvXLklS\n586dNXHiRL3//vuqqqpSt27dlJSUpAceeECSdOjQIZ07d05Dhgwx9TFo0CBJ0qeffmpKxAEAAAAA\naCy1TsT/9Kc/acqUKXr77bcbMp4aHT16VJI0d+5cde/eXampqaqoqNBvfvMb/fSnP1VlZaUSEhLc\ne8U7duxo6qO67uTJk40XOICbwp43AACuj/kSaHpqnYhXVlYqLi6uIWO5qu+++06SFBgYqPT0dLVq\ndTHsyZMnKzIyUk8//bRmzpypsrIySZKvr6+pDz8/P0lytwEAAAAAwBvstW04ZMgQHTlypCFjuSp/\nf39J0vTp091JuCQFBQVp4sSJ+uabb3T06FH3nvGKigpTH2fPnpUk075yANbFb/cBALg+5kug6an1\nHfGXXnpJd999t2JiYjR58uSGjMmkU6dOkqR27dqZrrVv316SVFhYeM3l59V1NS1bl6SEhARFRERI\nupjg9+vXz/2PmsvlkiTKlFtEWXLJ5bJOPFYpS9aKhzJlypQpW6PM/OBZZjwot+Ry9dd5eXm6nlo/\nNV2S3nrrLd1///3q1KmTbr/9dvn4+JjafPjhh7XtrtY2bNig2bNnKzExUcuXL/e49pOf/ESbNm3S\nP//5T7Vt21ZhYWEaNmyY9u7d69FuyZIlcjqdPDUduA4rPe3U5XK5/4HzJiuNCQDAOqwyP1hlvpSs\nMyaAFVwrz6x1Iv7OO+8oPj5eVVVVCggIuOpT03Nzc28u2hoUFhaqS5cuCgwMVHZ2ttq0aSNJys/P\nV7du3dS5c2d98cUXkqRp06Zp69atOnjwoPsc8ZKSEvXu3Vv+/v41niNOIg5cYqUJ1Co/WFhpTAAA\n1mGV+cEq86VknTEBrKBeEvH/+q//Unl5ubZv364+ffrUa4C1sW7dOj344IPq3bu3Zs+erYqKCq1d\nu1anTp3Se++9pzFjxkiScnJyNHDgQLVu3VoLFy5UQECA1q1bp8OHD2vnzp0aO3asqW8SceASJlAz\nxgQAUBPmBzPGBLikXhJxf39/vfjii3r00UfrNbi62LZtm1566SV9/vnnstvtGjp0qJxOp+nc8Ozs\n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\nAwYMMDp06GBUVVV51A8fPtwICwszKisrDcMwjIULFxo2m834z3/+U/s3fx07d+40bDab8fOftoNw\ntQAABthJREFU/9yjfteuXYbNZjPsdru77vz580Z4eLgRHBxs5Ofnu+vPnTtnDBs2zPDx8TG+/PLL\nG2pbH+NY/Tnv27fPoz49Pd3UR25urmGz2YznnnvOXZeZmWnYbDbjmWeeMfU9efJkIzAw0CgpKTEM\no2E+CwBA88TSdABAi/bQQw8pICDAXQ4MDNS8efN05swZuVwud73D4XB/XVJSooKCAtntdg0cOFAZ\nGRnua5mZmTpx4oRmzZqlkJAQU7+1NXPmTOXn52vPnj3uutzcXP3tb3/T9OnT3Q8ZCwoKkiT9+c9/\n1vnz52v/xq/h3XfflSQtWrTIo37cuHHq2bOnR11mZqa++uorzZ49W+3atXPXt27dWk888YQuXLig\nHTt23FDb+hjHm/WnP/1JNptNM2bM0OnTpz3+TJw4Ud99953+93//V1LDfBYAgOaJRBwA0KLVtFy5\nui43N9ddl5OTo/vvv1/BwcEKDAxUWFiY2rZtq927d6uwsNDd7vjx45JkSliv9lpXM336dH3ve99T\namqquy41NVWGYWjGjBnuugULFqh///56+OGHdeutt2rChAlatWqVTp8+XevXulJubq58fHx0xx13\nmK716NHD1FaSevfubWrbq1cvjzZ1aVtf43izvvjiCxmGoZ49e6pt27Yef+bMmSObzaZTp05JapjP\nAgDQPLFHHACA6ygpKdHIkSNVXl6uhQsXqk+fPgoICJDdbteyZcuUnp5e768ZEhKi8ePHa/v27Sot\nLVWbNm30xz/+Ub169VJ0dLRHuwMHDuijjz7Snj17tH//fi1cuFBOp1O7du3S4MGDbzgGztOWDMOQ\nzWbT+++/Lx8fnxrbVP8SoSE/CwBA80IiDgBo0Y4cOaKJEyea6iQpMjJSkpSWlqb8/HylpKR4PMBN\nkp5++mmPcteuXSVdvJNa02vVxcyZM7V9+3a99dZb6t69u44fP65f//rXpnZ2u12jRo3SqFGjJEmf\nf/65oqOjtXTp0lo/2OxyERERqqqq0rFjx0x3pI8ePepRrn6///jHP0z9XDmO1f+vS9v6GMeb0b17\nd/3lL39R586da7w7f6X6/iwAAM0TS9MBAC3a2rVrVVxc7C4XFRXptddeU3BwsDuZqr4TeuHCBY/v\n/eCDD/TJJ5941EVHR6tTp05KSUlRQUGBu764uFivvfZanWKbMGGCQkNDlZqaqtTUVNntdv3kJz/x\naHP5a1Tr0aOH/Pz8dObMGY/Xz87OrrH9lSZNmiRJWrlypUf9rl27lJ2d7VF31113KTw8XCkpKe4l\n2tLFY+FWrFghu92uH/3oR5Iujk1t2/7gBz+ot3G8GT/96U8lXfyFy5WfvySP91HbzwIAAO6IAwBa\ntLCwMA0aNEizZs1yH19WfTSZn5+fJGnEiBFq166dFi9erLy8PHXs2FFZWVl688031adPH4/zvu12\nu1auXKlp06Zp4MCBmjt3rnx8fLR+/XqFhobqq6++qnVsrVq10vTp07V69WplZmZq7Nixat++vUeb\nOXPm6OTJk7rnnnsUHh6u8vJybdmyRaWlpR57ybdu3arZs2fL6XTK6XRe83XHjx+vuLg4rVu3TqdP\nn9bdd9+t3Nxcvf7664qKijK939WrV2vKlCkaMGCAfv7zn+uWW27Rli1blJGRoWeeecZ917yubetr\nHG/GD37wAyUnJys5OVn9+vXTvffeq/bt2ys/P1+ZmZnavXu3KioqJNX+swAAgOPLAAAtUkpKimG3\n2420tDTD6XQa4eHhhq+vrxEVFWVs3rzZ1P7QoUPGD3/4QyM4ONgICAgwYmNjjY8//thISEjwOM6r\n2tatW41+/foZvr6+Rnh4uJGUlGTs2bOn1sduVas+PstutxubNm2q8XUmTZpkdOrUyfD19TXCwsKM\nmJgYY+vWrR7tNmzYYNjtdo+jua6ltLTUeOyxx4zbbrvN8Pf3NwYNGmTs3bvXiI+PN9q0aWNqv2/f\nPmPs2LFGYGCg4efnZ9x1113G+vXra+y7Lm1vdhyrP+eaji+z2+3XPb6s2s6dO424uDgjJCTEHcv4\n8eONP/zhDx6x1uazAADAZhiG4e1fBgAAgKahT58+qqqqatR92gAANDfsEQcAACZnz5411e3cuVOH\nDx/W2LFjvRARAADNB3fEAQCAyVNPPaWsrCzFxsYqMDBQWVlZWr9+vYKCgpSVlaUOHTp4O0QAAJos\nEnEAAGCye/duvfjiizpy5IiKiop06623avTo0VqyZIn7aDEAAHBjSMQBAAAAAGhE7BEHAAAAAKAR\nkYgDAAAAANCISMQBAAAAAGhEJOIAAAAAADQiEnEAAAAAABoRiTgAAAAAAI3o/wFSfXjJPBEJhAAA\nAABJRU5ErkJggg==\n", "text": [ "" ] } ], "prompt_number": 27 }, { "cell_type": "code", "collapsed": false, "input": [ "# Get some quick summary stats and plot it!\n", "df.boxplot('number_of_sections','label')\n", "plt.xlabel('bad vs. good files')\n", "plt.ylabel('Num Sections')\n", "plt.title('Comparision of Number of Sections')\n", "plt.suptitle(\"\")" ], "language": "python", "metadata": { "slideshow": { "slide_type": "slide" } }, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 28, "text": [ "" ] }, { "metadata": {}, "output_type": "display_data", "png": "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\n06n77rtPO3fu1L/+9S8dPnxYvXv31tq1a9W5c+c84wuUN954Q/PmzVNiYqLWr1+vuXPn6uzZsxo0\naJA2bNjgGpTpUlf7+l9pv+bNm6tTp06ubb2ZN2+ehg8frhIlSmj58uXatWuXhg4dqiVLligiIuKq\nX29/Y85Z3rx5c3399deqXr26lixZorVr1+q2227TJ5984nWqrBIlSiglJUUzZsxQ8+bNXa/9d999\np6ioKI0YMUJz584NWPzShV7mZcuW6c0331SNGjW0fPlyLVq0SBUqVNC4ceP07bffep3K7WoMGDBA\n8+bN0xNPPKFKlSpp06ZNmjNnjr777juVK1dOgwYN0rp16zR06FCPfW+99VZt2rRJL7/8sqpUqaK1\na9dq7ty52rp1q6pVq6YJEya4Ht3PUahQIS1atEjTp09X8+bNlZqaqnnz5unnn39Wq1at9Nprr7lt\n37lzZ7333nu6+eabtWLFCk2fPl0zZszQgQMHrvi7XYvPbLFixfTee+/pwQcf1MmTJ7VkyRItWrRI\nZ86c0YABA7RhwwbXZwQAAsEwLZy8rkGDBkpLS/OoCzRNU1FRUapYsaLXxyYB4EY0duxYjRs3TmPH\njtXo0aOtDgcAAOC6Z2kP85kzZ1S4cGGP5YZhqEiRIvr555+9DmwDAAAAAEBBszRhrlevno4dO6aN\nGze6LU9NTXVNPH/5ABUAAAAAAFwLlibMw4cPl81mU48ePbR48WLt2bNHixcv1kMPPaSIiAiZppnr\nwCYAcKPJb50mAAAA/GNpDbN0YaqTYcOGuQaTCAsL02OPPaaDBw9q3rx52rRpk+rVq2dliAAAAACA\nG5DlCbN0YT7LLVu26MSJE6pdu7bKlCmjpk2bauPGjfrtt9/c6pxr1KihtLQ0C6MFAAAAAFwvGjRo\noNTUVK/rgiJhvtyBAwdUuXJlJSYmaunSpW7rDMNQEIYM3NASEhxKTU2yOgwAAIKew+FQUlKS1WEA\nuEReOaalNczeZGdna9iwYTJN0+v8jAAAAAAAXAvhVp785MmTatq0qbp166b4+Hj99ttv+uSTT7R+\n/XqNHz9ebdq0sTI8AD5KSIi3OgQAAEJCfHy81SEA8IOlCXOhQoWUkJCgjz/+WPv371dUVJSaNm2q\n//znP2rfvr2VoQHwg8NhtzoEAABCgt1utzoEAH6wNGGOiIjQxx9/bGUIAAAAAAB4FXQ1zAAAAAAA\n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\n", "text": [ "" ] } ], "prompt_number": 28 }, { "cell_type": "code", "collapsed": false, "input": [ "# Split the classes up so we can set colors, size, labels\n", "cond = df['label'] == 'good'\n", "good = df[cond]\n", "bad = df[~cond]\n", "plt.scatter(good['number_of_import_symbols'], good['number_of_sections'], \n", " s=140, c='#aaaaff', label='Good', alpha=.4)\n", "plt.scatter(bad['number_of_import_symbols'], bad['number_of_sections'], \n", " s=40, c='r', label='Bad', alpha=.5)\n", "plt.legend()\n", "plt.xlabel('Import Symbols')\n", "plt.ylabel('Num Sections')" ], "language": "python", "metadata": { "slideshow": { "slide_type": "slide" } }, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 29, "text": [ "" ] }, { "metadata": {}, "output_type": "display_data", "png": "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\n7gCMaGqqBqDC5MnjMGYM18E0F6PRiBMnTuLMmbwex0MkUmPy5HGIjY2xdJhERERENwyLJMkjGZNk\nGi0MBgNKS0vR1tYGkUgENzc3BAQE3LBdCy1Nr9ejrKyMx4OIiIjIwpgkDxKTZCIiIiIiotFruHK+\nwQ86JiIiIiIiIhqlmCQTERERERERdWKSTERERERERNSJSTIRERERERFRJybJRERERERERJ2YJBMR\nERERERF1YpJMRERERERE1IlJMhEREREREVEnJslEREREREREnZgkExEREREREXVikkxERERERETU\niUkyERERERERUacRkSQXFBTg5ZdfRnJyMjw9PeHo6IjExET88Y9/hEqlsnR4RERERERENEqIBEEQ\nLB3EQF544QW89957uPPOO5GcnAypVIp9+/Zhy5YtiI+PR1paGmxsbLq9RyQSYQTsGlGvFAoFampq\noNfrYWtrC39/f0gkEkuHRURERER03RiunG9EJMmnTp1CZGQkHBwcum3/3e9+hz/84Q9Yv349Hn30\n0W6vMUmmkaixsRHHj59CWVktXFz8YGUlhUajgErVgPj4SEyaNAFSqdTSYRIRERERWdwNnST35dy5\nc0hISMAjjzyC9957r9trTJJppKmursbWrXsQEjIBoaFR3VqOFYp25OSchiA0YOHC+ZDJZBaMlIiI\niIjI8oYr5xvR/TcrKysBAF5eXhaOhOjaqFQqbNu2F+PG3QwvL98er9vbOyApaQYyM9Owe/d+zJ9/\nq0mfW1lZicwTJ6BVKOAfHQ3BaERlXh5snZwwbvJk+Pr2rIuIiIiI6EY2YluSDQYDpk+fjlOnTiEr\nKwsRERHdXmdLMo0kp06dRkmJChMmpPRbzmg04scfN2Pp0nlwcXHpt+zRgwdx/KOPkCQWwxrA1tOn\n0SwW48Hx46ExGpEuCJj+0ENImjJlCPeEiIiIiMg8hivnGxGzW/dm5cqVSEtLw5o1a3okyEQjzZkz\nuQgLix2wnFgshr9/DLKycvst19LSgiMff4yHvL2REhAAN40G9xsMmNXRAZVWi9SAAPyfpyf2bdwI\nhUIxVLtBRERERDTijcgk+Xe/+x02bNiAhx9+GM8//7ylwyG6Jh0dHVAqtXB2djWpvKurJxobW/ot\nk5+fjxiDAQ6dY5cbysvhb2+PZLkceefPAwCcbWwQrtejsLDw2naAiIiIiGgUGXFjkl999VX84Q9/\nwIoVK/D+++8PWPaSmTNnYubMmcMbHBEREREREQ2LAwcO4MCBA8Nez4hKkl999VWsWbMGDz74IP75\nz3+aVJ7oeieVSmFnJ0NLS5NJrclNTfVwc3Put0xUVBQOWFlhllYLB5kM7kFBqDx3DucAREdGAgBa\nNBoUSSS4lcMViIiIiGgEuLLh87XXXhuWekZMd+s1a9ZgzZo1WLZsGTZu3GjpcIiG1LhxMSguzhmw\nnNFoRGVlLuLiYvot5+zsjJRly/BhbS2OnD+PRhsbfGJlhf1SKeQyGQ6dP49/1dfjphUrYG9vP1S7\nQUREREQ04o2I2a03bNiAxx9/HIGBgXj99dchEom6ve7t7Y2bb7652zbObk0jiUqlwieffIX4+Nm9\nLgF1SWZmGqTSlmteAkru7IyEpCQuAUVEREREI9Zw5XwjIklevnw5Pv74YwDo9UuYOXMm9u3b120b\nk2Qaaaqrq7F16x6EhExASEgkpFJp12sKRTtyck5DEBqwcOF8yDon5CIiIiIiulHd0Eny1WCSTCNR\nY2Mjjh8/hdLSGri6+sPKSgqNRgGVqgHx8ZGYNGlCt+SZiIiIiOhGxSR5kJgk00imUChQU1MDvV4P\nW1tb+Pv7QyIZUfPsERERERENKybJg8QkmYiIiIiIaPQarpxvxMxuTURERERERDTcmCQTERERERER\ndWKSTERERERERNSJSTIRERERERFRJybJRERERERERJ2YJBMRERERERF1YpJMRERERERE1IlJMhER\nEREREVEnJslEREREREREnZgkExEREREREXVikkxERERERETUiUkyERERERERUScmyURERERERESd\nmCQTERERERERdWKSTERERERERNSJSTIRERERERFRJ4mlAyCiwTl79iy+3LgRjcXF8IiKwuLlyzFm\nzBhLh0VERERENCqIBEEQLB3EcBCJRBilu0Y3sN27d+M/TzyBO4xGRNraIk+pxHcSCR75xz+Qmppq\n6fCIiIiIiMxmuHI+JslEI4TRaMQD06djlUKBRBeXru1pjY34h4cH/rVnD8RijqAgIiIiohvDcOV8\nvKMmGiEKCwshq69HgpNTt+1JLi4wnD+PyspKC0VGRERERDR6MEkmGiFsbGygA3DlszIDAH3n60RE\nREREdG2YJBONEEFBQZBFRmL3hQvdtu+sr4dLfDw8PT0tFBkRERER0ejBMclEI0h2djZef/BBJDY3\n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\nAAAAAElFTkSuQmCC\n", "text": [ "" ] } ], "prompt_number": 29 }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "
\n", "# Data Transformation: \n", "** Going from a Pandas DataFrame to an X Matrix and a y vector so we can utilize all of the great scikit-learn algorithms. **" ] }, { "cell_type": "code", "collapsed": false, "input": [ "# In preparation for using scikit learn we're just going to use\n", "# some handles that help take us from pandas land to scikit land\n", "\n", "# List of feature vectors (scikit learn uses 'X' for the matrix of feature vectors)\n", "X = df.as_matrix(['number_of_import_symbols', 'number_of_sections'])\n", "\n", "# Labels (scikit learn uses 'y' for classification labels)\n", "y = np.array(df['label'].tolist())" ], "language": "python", "metadata": { "slideshow": { "slide_type": "fragment" } }, "outputs": [], "prompt_number": 131 }, { "cell_type": "code", "collapsed": false, "input": [ "# Random Forest is a popular ensemble machine learning classifier.\n", "# http://scikit-learn.org/dev/modules/generated/sklearn.ensemble.RandomForestClassifier.html\n", "#\n", "import sklearn.ensemble\n", "clf = sklearn.ensemble.RandomForestClassifier(n_estimators=50, compute_importances=True)" ], "language": "python", "metadata": { "slideshow": { "slide_type": "slide" } }, "outputs": [], "prompt_number": 132 }, { "cell_type": "code", "collapsed": false, "input": [ "# Now we can use scikit learn's cross validation to assess predictive performance.\n", "scores = sklearn.cross_validation.cross_val_score(clf, X, y, cv=5, n_jobs=4)\n", "print scores" ], "language": "python", "metadata": { "slideshow": { "slide_type": "fragment" } }, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "[ 0.8 0.75 0.7 0.65 0.78947368]\n" ] } ], "prompt_number": 133 }, { "cell_type": "code", "collapsed": false, "input": [ "# Typically you train/test on an 80% / 20% split meaning you train on 80%\n", "# of the data and you test against the remaining 20%. In the case of this\n", "# exercise we have so FEW samples (50 good/50 bad) that if were going\n", "# to play around with predictive performance it's more meaningful\n", "# to train on 60% of the data and test against the remaining 40%.\n", "\n", "my_seed = 123\n", "my_tsize = .4 # 40%\n", "from sklearn.cross_validation import train_test_split\n", "X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=my_tsize, random_state=my_seed)\n", "clf.fit(X_train, y_train)\n", "y_pred = clf.predict(X_test)" ], "language": "python", "metadata": { "slideshow": { "slide_type": "fragment" } }, "outputs": [], "prompt_number": 134 }, { "cell_type": "code", "collapsed": false, "input": [ "# Now plot the results of the 60/40 split in a confusion matrix\n", "from sklearn.metrics import confusion_matrix\n", "labels = ['good', 'bad']\n", "cm = confusion_matrix(y_test, y_pred, labels)\n", "plot_cm(cm, labels)" ], "language": "python", "metadata": { "slideshow": { "slide_type": "slide" } }, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "Confusion Matrix Stats\n", "good/good: 72.73% (16/22)\n", "good/bad: 27.27% (6/22)\n", "bad/good: 33.33% (6/18)\n", "bad/bad: 66.67% (12/18)\n" ] }, { "metadata": {}, "output_type": "display_data", "png": "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\n", "text": [ "" ] } ], "prompt_number": 135 }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Features, predictive performance and 'knobs'\n", "Here we going to explore some of the ways you can adjust the 'knobs' associated with either the feature input into your ML algorithm or the prediction probability methods that many classes in scikit-learn have." ] }, { "cell_type": "code", "collapsed": false, "input": [ "# Okay now try putting in ALL the features (except the label, which would be cheating :)\n", "no_label = list(df.columns.values)\n", "no_label.remove('label')\n", "X = df.as_matrix(no_label)\n", "\n", "# 60/40 Split for predictive test\n", "X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=my_tsize, random_state=my_seed)\n", "clf.fit(X_train, y_train)\n", "y_pred = clf.predict(X_test)\n", "cm = confusion_matrix(y_test, y_pred, labels)\n", "plot_cm(cm, labels)" ], "language": "python", "metadata": { "slideshow": { "slide_type": "slide" } }, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "Confusion Matrix Stats\n", "good/good: 95.45% (21/22)\n", "good/bad: 4.55% (1/22)\n", "bad/good: 5.56% (1/18)\n", "bad/bad: 94.44% (17/18)\n" ] }, { "metadata": {}, "output_type": "display_data", "png": "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\n", "text": [ "" ] } ], "prompt_number": 140 }, { "cell_type": "code", "collapsed": false, "input": [ "# Feature Selection\n", "# Which features best deferentiated the two classes?\n", "# Here we're going to grab the feature_importances from the classifier itself, \n", "# you can also use a Chi Squared Test sklearn.feature_selection.SelectKBest(chi2)\n", "importances = zip(no_label, clf.feature_importances_)\n", "importances.sort(key=lambda k:k[1], reverse=True)\n", "importances[:10]" ], "language": "python", "metadata": { "slideshow": { "slide_type": "slide" } }, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 141, "text": [ "[('compile_date', 0.087118104042058525),\n", " ('pe_majorlink', 0.059725488127989876),\n", " (u'sec_rawptr_reloc', 0.059172331241524503),\n", " ('debug_size', 0.036744505259105907),\n", " (u'sec_vasize_reloc', 0.035061138659616312),\n", " ('datadir_IMAGE_DIRECTORY_ENTRY_RESOURCE_size', 0.033765884515823991),\n", " (u'sec_rawptr_rdata', 0.033184786235755895),\n", " ('datadir_IMAGE_DIRECTORY_ENTRY_IAT_size', 0.03261159140279881),\n", " ('pe_char', 0.030081949321901769),\n", " ('sec_rawsize_text', 0.028226654611623891)]" ] } ], "prompt_number": 141 }, { "cell_type": "code", "collapsed": false, "input": [ "# Produce an X matrix with only the most important featuers\n", "X = df.as_matrix([item[0] for item in importances[:10]])\n", "X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=my_tsize, random_state=my_seed)\n", "clf.fit(X_train, y_train)\n", "y_pred = clf.predict(X_test)\n", "cm = confusion_matrix(y_test, y_pred, labels)\n", "plot_cm(cm, labels)" ], "language": "python", "metadata": { "slideshow": { "slide_type": "slide" } }, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "Confusion Matrix Stats\n", "good/good: 95.45% (21/22)\n", "good/bad: 4.55% (1/22)\n", "bad/good: 0.00% (0/18)\n", "bad/bad: 100.00% (18/18)\n" ] }, { "metadata": {}, "output_type": "display_data", "png": "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\n", "text": [ "" ] } ], "prompt_number": 142 }, { "cell_type": "code", "collapsed": false, "input": [ "# Compute the predition probabilities and use them to mimimize our false positives\n", "# Note: This is simply a trade off, it means we'll miss a few of the malicious\n", "# ones but typically false alarms are a death blow to any new 'fancy stuff' so\n", "# we definitely want to mimimize the false alarms.\n", "y_probs = clf.predict_proba(X_test)[:,0]\n", "thres = .8 # This can be set to whatever you'd like\n", "y_pred[y_probs=thres] = 'bad'\n", "cm = confusion_matrix(y_test, y_pred, labels)\n", "plot_cm(cm, labels)" ], "language": "python", "metadata": { "slideshow": { "slide_type": "slide" } }, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "Confusion Matrix Stats\n", "good/good: 100.00% (22/22)\n", "good/bad: 0.00% (0/22)\n", "bad/good: 16.67% (3/18)\n", "bad/bad: 83.33% (15/18)\n" ] }, { "metadata": {}, "output_type": "display_data", "png": "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\n", "text": [ "" ] } ], "prompt_number": 143 }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "## Conclusions:\n", "\n", "The combination of IPython, Pandas and Scikit Learn let us pull in PE files, extract features, plot them, understand them and slap them with some machine learning!\n", "

\n", "As mentioned in the disclaimer, the biggest issue with this particular exercise is the small number of samples. \n", "

\n", "There are some really great machine learning resources that cover this material on a deeper and more formal level. In particular we highly recommend the work and presentations of Olivier Grisel at INRIA Saclay. http://ogrisel.com/\n", "
" ] } ], "metadata": {} } ] }