Skip to content

Instantly share code, notes, and snippets.

@sarguido
Last active April 5, 2016 04:49
Show Gist options
  • Save sarguido/9008376 to your computer and use it in GitHub Desktop.
Save sarguido/9008376 to your computer and use it in GitHub Desktop.
A Beginner's Guide to Machine Learning with Scikit-Learn: Workflow
{
"metadata": {
"name": ""
},
"nbformat": 3,
"nbformat_minor": 0,
"worksheets": [
{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## A Beginner's Guide to Machine Learning in Scikit-Learn\n",
"\n",
"This is the IPython notebook that directly accompanies the \"A Beginner's Guide to Machine Learning with Scikit-Learn\" talk I gave at PyData NYC 2013 and will be giving at PyTennessee 2014. The slides can be found at http://www.slideshare.net/SarahGuido/a-beginners-guide-to-machine-learning-with-scikitlearn. \n",
"\n",
"This notebook contains the full machine learning workflow I cover in my talk, starting with data preprocessing, moving into supervised and unsupervised learning, and finishing with testing and validation. I don't cover the topics linearly in my talk, because my main goal of the talk is to introduce you to important machine learning concepts and give you a taste of what scikit-learn can do, but here they are in a linear process.\n",
"\n",
"My first step, not shown here, is to save the data in one file and the labels in another. This was the simplest way I could find, for the purposes of this talk.\n",
"\n",
"Next is to read it in."
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"%pylab inline\n",
"import csv\n",
"from sklearn.feature_extraction import DictVectorizer\n",
"from sklearn import preprocessing\n",
"from sklearn.cross_validation import train_test_split\n",
"from sklearn.naive_bayes import GaussianNB\n",
"from sklearn import cross_validation\n",
"from sklearn.cluster import KMeans\n",
"from sklearn.decomposition import PCA\n",
"\n",
"car_data = list(csv.DictReader(open('git repos/skl-talk/data/cardata.csv', 'rU')))\n",
"car_target = open('git repos/skl-talk/data/cartarget.csv', 'rU').read().splitlines()\n",
"\n",
"print 'Data instance:', car_data[10]\n",
"print 'Label:', car_target[10]"
],
"language": "python",
"metadata": {},
"outputs": [
{
"output_type": "stream",
"stream": "stdout",
"text": [
"Populating the interactive namespace from numpy and matplotlib\n",
"Data instance:"
]
},
{
"output_type": "stream",
"stream": "stdout",
"text": [
" {'maint': 'vhigh', 'persons': '4', 'lug_boot': 'small', 'safety': 'med', 'doors': '2', 'buying': 'vhigh'}\n",
"Label: unacc\n"
]
}
],
"prompt_number": 2
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Next is to vectorize and encode my categorical variables, as discessed in the data preprocessing notebook."
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"vec = DictVectorizer()\n",
"car_data = vec.fit_transform(car_data).toarray()\n",
"\n",
"print 'Vectorized:', car_data[10]\n",
"print 'Unvectorized:', vec.inverse_transform(car_data[10])"
],
"language": "python",
"metadata": {},
"outputs": [
{
"output_type": "stream",
"stream": "stdout",
"text": [
"Vectorized: [ 0. 0. 0. 1. 1. 0. 0. 0. 0. 0. 1. 0. 0. 0. 1. 0. 1. 0.\n",
" 0. 0. 1.]\n",
"Unvectorized: [{'persons=4': 1.0, 'buying=vhigh': 1.0, 'safety=med': 1.0, 'lug_boot=small': 1.0, 'doors=2': 1.0, 'maint=vhigh': 1.0}]\n"
]
}
],
"prompt_number": 3
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"I also have to encode the labels, since they're currently in text form. You can get the original label using the inverse_transform() function."
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"le = preprocessing.LabelEncoder()\n",
"le.fit([\"unacc\", \"acc\", \"good\", \"vgood\"])\n",
"target = le.transform(car_target)\n",
"\n",
"print 'Transformed:', target[10] \n",
"print 'Inverse transformed:', le.inverse_transform(target[10])"
],
"language": "python",
"metadata": {},
"outputs": [
{
"output_type": "stream",
"stream": "stdout",
"text": [
"Transformed: 2\n",
"Inverse transformed: unacc\n"
]
}
],
"prompt_number": 4
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"After prepping the data and labels by encoding them, it's time to split up the dataset using train_test_split(), to avoid overfitting later on."
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"car_data_train, car_data_test, target_train, target_test = train_test_split(car_data, target)\n",
"\n",
"print 'Training set:', len(car_data_train)\n",
"print 'Test set:', len(car_data_test)"
],
"language": "python",
"metadata": {},
"outputs": [
{
"output_type": "stream",
"stream": "stdout",
"text": [
"Training set: 1296\n",
"Test set: 432\n"
]
}
],
"prompt_number": 5
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"It's now time to build our classifier! Using the Naive Bayes classifier is easy (if you want to learn more about it, check out the supervised learning notebook)."
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"nb_estimator = GaussianNB()\n",
"nb_estimator.fit(car_data_train, target_train)\n",
"pred = nb_estimator.predict(car_data_test)\n",
"\n",
"print 'Predicted labels:', pred[0:8]\n",
"print 'Actual labels:', target_test[0:8]\n",
"\n",
"print 'Predicted labels inverse:', list(le.inverse_transform(pred[0:8]))\n",
"print 'Actual labels inverse:', list(le.inverse_transform(target_test[0:8]))"
],
"language": "python",
"metadata": {},
"outputs": [
{
"output_type": "stream",
"stream": "stdout",
"text": [
"Predicted labels: [0 2 0 2 1 0 2 0]\n",
"Actual labels: [2 2 0 2 0 0 2 2]\n",
"Predicted labels inverse: ['acc', 'unacc', 'acc', 'unacc', 'good', 'acc', 'unacc', 'acc']\n",
"Actual labels inverse: ['unacc', 'unacc', 'acc', 'unacc', 'acc', 'acc', 'unacc', 'unacc']\n"
]
}
],
"prompt_number": 6
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"So our classifier was sort of accurate, but got a few labels wrong. Let's take a look at how accurate the classifier actually is using come testing and validation measures."
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"print 'Score:', nb_estimator.score(car_data_test, target_test)\n",
"\n",
"print 'Cross validation scoring:', cross_validation.cross_val_score(nb_estimator, \n",
" car_data_test, \n",
" target_test, cv=4)"
],
"language": "python",
"metadata": {},
"outputs": [
{
"output_type": "stream",
"stream": "stdout",
"text": [
"Score: 0.81712962963\n",
"Cross validation scoring: [ 0.7962963 0.78703704 0.82407407 0.78703704]\n"
]
}
],
"prompt_number": 7
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Let's pretend we don't have labels for this dataset. Is there anything we can learn by clustering? \n",
"\n",
"Also, and I don't cover this is my talk due to time limits, I'm reducing the dimensionality of my dataset here for the sake of simplicity. Again, you can find descriptions of clustering and dimensionality reduction in the unsupervised learning notebook."
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"pca = PCA(n_components=2)\n",
"X_test_r = pca.fit(car_data_test).transform(car_data_test)\n",
"\n",
"kmeans = KMeans(n_clusters=10)\n",
"kmeans.fit(X_test_r)\n",
"centroids = kmeans.cluster_centers_\n",
"target_names = le.classes_\n",
"\n",
"plt.figure()\n",
"for c, i, target_name in zip(['b', 'r', 'g', 'c'],\n",
" [0, 1, 2, 3], target_names):\n",
" plt.plot(X_test_r[target_test == i, 0], X_test_r[target_test == i, 1], 'o', \n",
" c=c, markeredgecolor='k', markersize=8, label=target_name)\n",
" plt.scatter(centroids[:, 0], centroids[:, 1], marker='x', s=300, linewidths=5, \n",
" color='chartreuse', zorder=10)\n",
"\n",
"plt.legend()\n",
"plt.show()"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "display_data",
"png": "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\nhF8gEAg6GP8ffQ98wPHN3TUAAAAASUVORK5CYII=\n",
"text": [
"<matplotlib.figure.Figure at 0x108203190>"
]
}
],
"prompt_number": 23
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"This is particularly interesting because while the car evaluation dataset has 4 labels, it appears that there are 10 significant clusters in the dataset! "
]
}
],
"metadata": {}
}
]
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment