ebook img

Statistics and Machine Learning in Python PDF

169 Pages·2017·5.96 MB·English
by  
Save to my drive
Quick download
Download
Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.

Preview Statistics and Machine Learning in Python

Statistics and Machine Learning in Python Release 0.1 Edouard Duchesnay, Tommy Löfstedt Feb 03, 2017 CONTENTS 1 IntroductiontoMachineLearning 1 1.1 Machinelearningwithindatascience . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 1.2 IT/computingsciencetools. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 1.3 Statisticsandappliedmathematics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 1.4 Dataanalysismethodology. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 2 Pythonlanguage 5 2.1 SetupyourprogrammingenvironmentusingAnaconda . . . . . . . . . . . . . . . . . . . . . . . . 5 2.2 Importlibraries . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 2.3 Datatypes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 2.4 Math . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 2.5 Comparisonsandbooleanoperations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 2.6 Conditionalstatements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 2.7 Lists . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 2.8 Tuples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 2.9 Strings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 2.10 Dictionaries. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 2.11 Sets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 2.12 Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 2.13 Loops . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 2.14 Listcomprehensions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 2.15 Exceptionshandling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 2.16 Basicoperatingsysteminterfaces(os) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 2.17 ObjectOrientedPrograming(OOP) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 2.18 Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 3 Numpy: arraysandmatrices 21 3.1 Createarrays . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 3.2 Reshaping . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 3.3 Stackarrays . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 3.4 Selection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 3.5 Vectorizedoperations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 3.6 Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 4 Pandas: datamanipulation 25 4.1 CreateDataFrame . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 4.2 ConcatenateDataFrame . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26 4.3 JoinDataFrame. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26 4.4 Summarizing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 4.5 Columnsselection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 4.6 Rowsselection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 i 4.7 Rowsselction/filtering . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 4.8 Sorting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 4.9 Reshapingbypivoting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 4.10 Qualitycontrol: duplicatedata . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 4.11 Qualitycontrol: missingdata . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 4.12 Renamevalues . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 4.13 Dealingwithoutliers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 4.14 Groupby . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 4.15 FileI/O . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 4.16 Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 5 Matplotlib: Plotting 33 5.1 PreambleabouttheF-distribution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 5.2 Basicplots . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 5.3 Scatter(2D)plots. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 5.4 SavingFigures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 5.5 Exploringdata(withseaborn) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38 5.6 Densityplotwithonefigurecontainingmultipleaxis. . . . . . . . . . . . . . . . . . . . . . . . . . 40 6 Univariatestatistics 43 6.1 Estimatorsofthemainstatisticalmeasures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 6.2 Maindistributions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 6.3 Testingpairwiseassociations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46 6.4 Non-parametrictestofpairwiseassociations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54 6.5 Linearmodel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56 6.6 Linearmodelwithstatsmodels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62 6.7 Multiplecomparisons . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67 6.8 Exercise . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70 7 Multivariatestatistics 71 7.1 LinearAlgebra . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71 7.2 Meanvector . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73 7.3 Covariancematrix . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73 7.4 Precisionmatrix . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75 7.5 Mahalanobisdistance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76 7.6 Multivariatenormaldistribution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78 7.7 Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79 8 Dimensionreductionandfeatureextraction 81 8.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81 8.2 Singularvaluedecomposition(SVD) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81 8.3 Principalcomponentsanalysis(PCA) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83 8.4 Multi-dimensionalScaling(MDS) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89 8.5 Nonlineardimensionalityreduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92 9 Clustering 95 9.1 K-meansclustering . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95 9.2 Hierarchicalclustering . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97 9.3 Gaussianmixturemodels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99 9.4 Modelselection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101 10 Linearmethodsforregression 103 10.1 Ordinaryleastsquares . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103 10.2 Linearregressionwithscikit-learn . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103 10.3 Overfitting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105 ii 10.4 Ridgeregression(ℓ -regularization) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109 2 10.5 Lassoregression(ℓ -regularization) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111 1 10.6 Elastic-netregression(ℓ -ℓ -regularization) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114 2 1 11 Linearclassification 117 11.1 Fisher’slineardiscriminantwithequalclasscovariance. . . . . . . . . . . . . . . . . . . . . . . . . 117 11.2 Lineardiscriminantanalysis(LDA) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120 11.3 Logisticregression . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121 11.4 Overfitting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123 11.5 RidgeFisher’slinearclassification(L2-regularization) . . . . . . . . . . . . . . . . . . . . . . . . . 124 11.6 Ridgelogisticregression(L2-regularization) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124 11.7 Lassologisticregression(L1-regularization) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125 11.8 RidgelinearSupportVectorMachine(L2-regularization) . . . . . . . . . . . . . . . . . . . . . . . . 126 11.9 LassolinearSupportVectorMachine(L1-regularization) . . . . . . . . . . . . . . . . . . . . . . . . 127 11.10 Exercise . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127 11.11 Elastic-netclassification(L2-L1-regularization) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128 11.12 Metricsofclassificationperformanceevaluation . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129 11.13 Imbalancedclasses . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131 12 Nonlinearlearningalgorithms 133 12.1 SupportVectorMachines(SVM) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133 12.2 Randomforest . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134 13 ResamplingMethods 137 13.1 Leftoutsamplesvalidation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137 13.2 Cross-Validation(CV) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137 13.3 CVformodelselection: settingthehyperparameters . . . . . . . . . . . . . . . . . . . . . . . . . . 139 13.4 RandomPermutations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143 13.5 Bootstrapping . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144 14 Scikit-learnprocessingpipelines 147 14.1 Datapreprocessing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147 14.2 Scikit-learnpipelines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148 14.3 RegressionpipelineswithCVforparametersselection . . . . . . . . . . . . . . . . . . . . . . . . . 150 14.4 ClassificationpipelineswithCVforparametersselection . . . . . . . . . . . . . . . . . . . . . . . . 152 15 CasestudiesofML 157 15.1 DefaultofcreditcardclientsDataSet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157 16 Indicesandtables 163 iii iv CHAPTER ONE INTRODUCTION TO MACHINE LEARNING Machine learning within data science Machinelearningcoverstwomaintypesofdataanalysis: 1. Exploratory analysis: Unsupervised learning. Discover the structure within the data. E.g.: Experience (in yearsinacompany)andsalaryarecorrelated. 2. Predictiveanalysis: Supervisedlearning. Thisissometimesdescribedasto“learnfromthepasttopredict thefuture”. Scenario: acompanywantstodetectpotentialfutureclientsamongabaseofprospect. Retrospec- tivedataanalysis: giventhebaseofprospectedcompany(withtheircharacteristics: size,domain,localization, etc.) somebecameclients, somedonot. Isitpossibletolearntopredictthosethataremorelikelytobecome clientsfromtheircompanycharacteristics?Thetrainingdataconsistofasetofntrainingsamples.Eachsample, 𝑥 ,isavectorofpinputfeatures(companycharacteristics)andatargetfeature(𝑦 ∈{𝑌𝑒𝑠,𝑁𝑜}(whetherthey 𝑖 𝑖 becameaclientornot). IT/computing science tools • Python: thelanguage • Numpy: rawnumericaldata 1 StatisticsandMachineLearninginPython,Release0.1 • Pandas: structureddata Statistics and applied mathematics • Linearmodel • Nonparametricstatistics • Linearalgebra: matrixoperations,inversion,eigenvalues. Data analysis methodology DIKW Pyramid: Data, Information, Knowledge, and Wisdom Methodology 1. Discusswithyourcustomer: • Understandhisneeds. • Formalizehisneedsintoalearningproblem. • Definewithyourcustomerthelearningdatasetrequiredfortheproject. • Goto1. untilconvergenceofbothsides(youandthecustomer). 2. Inadocumentformalize(i)theprojectobjectives;(ii)therequiredlearningdataset;Morespecificallytheinput data and the target variables. (iii) The conditions that define the acquisition of the dataset. In this document warmthecustomerthatthelearnedalgorithmsmaynotworkonnewdataacquiredunderdifferentcondition. 3. Readyourlearningdataset(levelDofthepyramid)providedbythecustomer. 4. Cleanyourdata(QC:QualityControl)(reachlevelIofthepyramid). 5. Exploredata(visualization,PCA)andperformbasicsunivariatestatistics(reachlevelKofthepyramid). 7. Performmorecomplexmultivariate-machinelearning. 8. Modelvalidation. Firstdeliverable: thepredictivemodelwithperformanceontrainingdataset. 2 Chapter1. IntroductiontoMachineLearning StatisticsandMachineLearninginPython,Release0.1 9. Applyonnewdata(levelWofthepyramid). 1.4. Dataanalysismethodology 3 StatisticsandMachineLearninginPython,Release0.1 4 Chapter1. IntroductiontoMachineLearning

See more

The list of books you might like

Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.