beginner Python • basics of pandas • basics of NumPy • basics of machine learning and scikit-learn
skills learned
extract features from text using scikit-learn and spaCy • build a predictive classification model • visualize authorship styles with an interactive plot • incorporate your trained model into a user-friendly program
Robert Layton
4 weeks · 7-10 hours per week · INTERMEDIATE
In this liveProject, you’ll step into the boots of an investigator trying to find the anonymous author of a seriously defamatory blog post. You’ve narrowed down your list of suspects, acquired a dataset of writing samples, and now plan to find the culprit using a custom machine learning project. Your challenge is to build an authorship analysis model that will match a sample to the defamatory blogpost and reveal the guilty party. To do this, you’ll need to extract data from a corpus of documents, build a model that can learn authorship style, scale the model to handle hundreds of suspects, and finally develop a user-friendly program that will allow non-technical colleagues to make use of your findings.
This project is designed for learning purposes and is not a complete, production-ready application or solution.
liveProject mentor Lawrence Nderu shares what he likes about the Manning liveProject platform.
book resources
When you start your liveProject, you get full access to the following books for 90 days.
project author
Robert Layton
Rob Layton is a data scientist, past core contributor to scikit-learn, and holds a PhD in cybercrime analytics in analyzing phishing websites to identify authorship patterns. He runs his own data analytics business, dataPipeline, and has given training with expert training provider Python Charmers for more than 5 years, to students in the finance, government, and other private sectors.
prerequisites
This liveProject is for software developers with an interest in data science, and beginner data scientists. It will require a machine with a minimum of 2GB of free hard drive space and 4GB of RAM. To begin this liveProject, you will need to be familiar with:
TOOLS
Beginner Python and its utility functions, min. version 3.9
Basics of pandas
Basics of NumPy
Basics of scikit-learn, min. version 0.24.0
TECHNIQUES
Basics of data science and machine learning
Reading text files with Python
Saving and loading pandas DataFrames
Running a training and evaluation experiment
Running Python code from Jupyter Notebook
Basics of running terminal commands
you will learn
This liveProject will teach you important text mining and machine learning techniques that can be used for both author identification and other text-based tasks. The skills you’ll develop can also be applied to spotting bots on social media, building predictive models, and detecting fraud in electronic communications.
Extract data from original datasets using XML parsing and BeautifulSoup
Clean data to remove noise that will affect your model
Extract useful features using preprocessing techniques, spaCy and scikit-learn
Build a predictive classification model with scikit-learn
Visualize authorship styles with an interactive plot built with Altair
Incorporate your trained model into a user-friendly program by converting Jupyter notebooks with Viola
features
Self-paced
You choose the schedule and decide how much time to invest as you build your project.
Project roadmap
Each project is divided into several achievable steps.
Get Help
While within the liveProject platform, get help from other participants and our expert mentors.
Compare with others
For each step, compare your deliverable to the solutions by the author and other participants.
book resources
Get full access to select books for 90 days. Permanent access to excerpts from Manning products are also included, as well as references to other resources.
how to play
guess the geekle in 5-, 6-, 7- tries.
each guess must be a valid 4-6 letter tech word. hit enter to submit.
after each guess, the color of the tiles will change to show how close your guess was to the word.