Kaggle: Microsoft Malware Prediction

Getting StartedDevelopmentSubmittingCreditsLicense

Getting Started

Pipenv

The project uses pipenv to manage dependancies it you are using a mac with homebrew you can install pipenv by running

brew install pipenv

Otherwise follow the instructions found at Installing Pipenv

Install Dependancies

pipenv will create a virtuall environment and install all dependancies

pipenv install

Setup

Copy sample.env into a new file name .env and replace KAGGLE_USERNAME and KAGGLE_KEY with your username and key

To use the Kaggle API, sign up for a Kaggle account at https://www.kaggle.com. Then go to the 'Account' tab of your user profile (https://www.kaggle.com//account) and select 'Create API Token'. This will trigger the download of kaggle.json, a file containing your API credentials.

Run setup.py to download dataset and perform initial setup

pipenv run python setup.py init

The initial setup will download data files from kaggle and unpack in the data folder.

By default the original zip files won't be deleted this is useful since it allows you to use kaggles api to check for updates. However if you are short on space you can pass the --delete-zip flag to delete the zip files after unpacking

pipenv run python setup.py init --delete-zip

For Additional help run

$pipenv run python setup.py --help

Usage: setup.py [OPTIONS] COMMAND [ARGS]...

  This script performs basic setup operations such  as downloading data and
  starting a development  environment in jupyter.

Options:
  --help  Show this message and exit.

Commands:
  init   Downloads data from kaggle and starts Jupyter server
  serve  Starts Jupyter server

Development

Starting Jupyter

To start jupyter without redownloading data files run

pipenv run python setup.py serve

If you don't want to start a jupyter server from withing the virtual environment, and instead want to make the virtual environment available on your local jupyter server or in applications like Spyder you can run

$pipenv shell
$python -m ipykernel install --user --name=Kaggle_Microsoft-Malware-Prediction

Adding New Packages

In order to allow pipenv to manage the dependancies pipenv should be used to install packages instead of pip

pipenv install <name-of-package>

Submitting

Licence

MIT License

Copyright (c) 2019 Cody Johnon

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.