TableofContents
ArtificialIntelligencewithPython
Credits
AbouttheAuthor
AbouttheReviewer
www.PacktPub.com
Whysubscribe?
CustomerFeedback
Preface
Whatthisbookcovers
Whatyouneedforthisbook
Whothisbookisfor
Conventions
Readerfeedback
Customersupport
Downloadingtheexamplecode
Downloadingthecolorimagesofthisbook
Errata
Piracy
Questions
1.IntroductiontoArtificialIntelligence
WhatisArtificialIntelligence?
WhydoweneedtostudyAI?
ApplicationsofAI
BranchesofAI
DefiningintelligenceusingTuringTest
Makingmachinesthinklikehumans
Buildingrationalagents
GeneralProblemSolver
SolvingaproblemwithGPS
Buildinganintelligentagent
Typesofmodels
InstallingPython3
InstallingonUbuntu
InstallingonMacOSX
InstallingonWindows
Installingpackages
Loadingdata
Summary
2.ClassificationandRegressionUsingSupervisedLearning
Supervisedversusunsupervisedlearning
Whatisclassification?
Preprocessingdata
Binarization
Meanremoval
Scaling
Normalization
Labelencoding
LogisticRegressionclassifier
NaïveBayesclassifier
Confusionmatrix
SupportVectorMachines
ClassifyingincomedatausingSupportVectorMachines
WhatisRegression?
Buildingasinglevariableregressor
Buildingamultivariableregressor
EstimatinghousingpricesusingaSupportVectorRegressor
Summary
3.PredictiveAnalyticswithEnsembleLearning
WhatisEnsembleLearning?
BuildinglearningmodelswithEnsembleLearning
WhatareDecisionTrees?
BuildingaDecisionTreeclassifier
WhatareRandomForestsandExtremelyRandomForests?
BuildingRandomForestandExtremelyRandomForestclassifiers
Estimatingtheconfidencemeasureofthepredictions
Dealingwithclassimbalance
Findingoptimaltrainingparametersusinggridsearch
Computingrelativefeatureimportance
PredictingtrafficusingExtremelyRandomForestregressor
Summary
4.DetectingPatternswithUnsupervisedLearning
Whatisunsupervisedlearning?
ClusteringdatawithK-Meansalgorithm
EstimatingthenumberofclusterswithMeanShiftalgorithm
Estimatingthequalityofclusteringwithsilhouettescores
WhatareGaussianMixtureModels?
BuildingaclassifierbasedonGaussianMixtureModels
FindingsubgroupsinstockmarketusingAffinityPropagationmodel
Segmentingthemarketbasedonshoppingpatterns
Summary
5.BuildingRecommenderSystems
Creatingatrainingpipeline
Extractingthenearestneighbors
BuildingaK-NearestNeighborsclassifier
Computingsimilarityscores
Findingsimilarusersusingcollaborativefiltering
Buildingamovierecommendationsystem
Summary
6.LogicProgramming
Whatislogicprogramming?
Understandingthebuildingblocksoflogicprogramming
Solvingproblemsusinglogicprogramming
InstallingPythonpackages
Matchingmathematicalexpressions
Validatingprimes
Parsingafamilytree
Analyzinggeography
Buildingapuzzlesolver
Summary
7.HeuristicSearchTechniques
Whatisheuristicsearch?
UninformedversusInformedsearch
ConstraintSatisfactionProblems
Localsearchtechniques
SimulatedAnnealing
Constructingastringusinggreedysearch
Solvingaproblemwithconstraints
Solvingtheregion-coloringproblem
Buildingan8-puzzlesolver
Buildingamazesolver
Summary
8.GeneticAlgorithms
Understandingevolutionaryandgeneticalgorithms
Fundamentalconceptsingeneticalgorithms
Generatingabitpatternwithpredefinedparameters
Visualizingtheevolution
Solvingthesymbolregressionproblem
Buildinganintelligentrobotcontroller
Summary
9.BuildingGamesWithArtificialIntelligence
Usingsearchalgorithmsingames
Combinatorialsearch
Minimaxalgorithm
Alpha-Betapruning
Negamaxalgorithm
InstallingeasyAIlibrary
BuildingabottoplayLastCoinStanding
BuildingabottoplayTic-Tac-Toe
BuildingtwobotstoplayConnectFour™againsteachother
BuildingtwobotstoplayHexapawnagainsteachother
Summary
10.NaturalLanguageProcessing
Introductionandinstallationofpackages
Tokenizingtextdata
Convertingwordstotheirbaseformsusingstemming
Convertingwordstotheirbaseformsusinglemmatization
Dividingtextdataintochunks
ExtractingthefrequencyoftermsusingaBagofWordsmodel
Buildingacategorypredictor
Constructingagenderidentifier
Buildingasentimentanalyzer
TopicmodelingusingLatentDirichletAllocation
Summary
11.ProbabilisticReasoningforSequentialData
Understandingsequentialdata
Handlingtime-seriesdatawithPandas
Slicingtime-seriesdata
Operatingontime-seriesdata
Extractingstatisticsfromtime-seriesdata
GeneratingdatausingHiddenMarkovModels
IdentifyingalphabetsequenceswithConditionalRandomFields
Stockmarketanalysis
Summary
12.BuildingASpeechRecognizer
Workingwithspeechsignals
Visualizingaudiosignals
Transformingaudiosignalstothefrequencydomain
Generatingaudiosignals
Synthesizingtonestogeneratemusic
Extractingspeechfeatures
Recognizingspokenwords
Summary
13.ObjectDetectionandTracking
InstallingOpenCV
Framedifferencing
Trackingobjectsusingcolorspaces
Objecttrackingusingbackgroundsubtraction
BuildinganinteractiveobjecttrackerusingtheCAMShiftalgorithm
Opticalflowbasedtracking
Facedetectionandtracking
UsingHaarcascadesforobjectdetection
Usingintegralimagesforfeatureextraction
Eyedetectionandtracking
Summary
14.ArtificialNeuralNetworks
Introductiontoartificialneuralnetworks
Buildinganeuralnetwork
Traininganeuralnetwork
BuildingaPerceptronbasedclassifier
Constructingasinglelayerneuralnetwork
Constructingamultilayerneuralnetwork
Buildingavectorquantizer
Analyzingsequentialdatausingrecurrentneuralnetworks
VisualizingcharactersinanOpticalCharacterRecognitiondatabase