Transcription of for dummies with Python Machine Learning - EuroPython 2016
1 Machine Learningfor dummieswith Python EUROPYTHONJ avier Arias @javier_arilosOne day in your lifeJuly 2016 One day in your lifeTime to leave the officeOne day in your lifeTesla autopilotOne day in your lifePlaying musicOne day in your lifeYour photos organizedOne day in your lifeMachine Learning is here, it is everywhere andit is going to stayAbout this presentationWhy Machine Learning (ML) mattersA journey on Machine LearningSome ML technologies and resourcesSome basic ML concepts, with code samplesMachine Learning is the next big thingAre machines already intelligent?Image-net challenge2015: machines outperform peopleChess1997: Deepblue defeats KasparovGame of Go2016: AlphaGo wins world champion Lee SedolThe journeyLearning about MLMOOC - Massive Open Online CoursesContents by the best universities and companiesUdacity, Coursera, EdXUdacity - Intro to Machine LearningPattern Recognition for Fun and Profit-Very well organized contents- Python + sklearn-Free-At your own paceUdacity - Intro to Machine LearningPattern Recognition for Fun and ProfitUdacity - Intro to Machine LearningPattern Recognition for Fun and ProfitWhat is Machine Learning ?
2 Solving a complex problemsomethingfeatures (data)predictionFirst approach, programmingtell the computer what to do in very tiny stepsprogramming does not scale for very complex approach, programmingMachine Learningshow the computer some real world data the algorithm will learn from it Machine Learning , implicationswe can train computers to do things we do not know how to doML example: character recognitionNot-MNIST datasetThousands of 28x28 grayscale images with labelsfeatures x 1000slabels x 1000sFGFJML step 1: get samples (training data)ML step 2: choose an algorithmLinear regressionSupport Vector TreesRandom ForestsNeural networksConvolutional NNNaive BayesML step 3: train your algorithmfeatures x 1000slabels x 1000sML algorithmFGFJML, last step: getting predictionsML algorithmfeatures (data)predictionDTricky QuestionHow good are our predictions?
3 The ToolsThe Tools: Python Opensource Expressive Interpreted, dynamically typed Widely used many different problems Batteries included: Notebook, LibrariesThe Tools: sklearn Opensource, Python Wonderful documentation Support to full ML lifecycle: Feature engineering Algorithms Validation DatasetsA summary of ML process Get features ( with labels) Choose and configure an algorithm Train your algorithm Do predictions Validate your resultstrain your modeltr_ds, _, tr_lbl, _ = train_test_split(dataset, labels, train_size=size, random_state=17)clf = LogisticRegression() (tr_ds, tr_lbl) # fit with train dataset and train labelstrain_dstest_dsdataset make predictionspred = (test_dataset)How good are our predictions?
4 Accuracytest_predicions = (test_dataset)acc = accuracy_score(test_labels, test_predictions)89% accuracyImproving prediction resultsTraining dataAlgorithm + configUdacity - Deep LearningTake Machine Learning to the next levelML branch based on algorithms that use multiple processing layers By Google Python and Tensorflow No wine for the moment :-(The Tools: TensorFlow Opensource, Python Deep Learning Data flow graphs. Nodes: mathematical operations Edges: Tensors, multidimensional arraysSimplest Neural NetworkweightbiasSOFTMAXXYPRED weightbiasLAYER 1 LAYER 2*+relu*+softmaxDeep Learning as a chain of operationsLet s recapThank you for your attentio)