1 00:00:00,370 --> 00:00:04,020 Machine learning approaches like classifiers, regressions, and 2 00:00:04,020 --> 00:00:09,680 cluster analysis can help you navigate raw data sets that need customized solutions. 3 00:00:09,680 --> 00:00:10,780 In computer science and 4 00:00:10,780 --> 00:00:15,915 software engineering, doing custom work like this is often called low level 5 00:00:15,915 --> 00:00:19,055 because you're working with the most basic pieces of the problem. 6 00:00:20,255 --> 00:00:24,475 But most approaches to machine learning can be described using statistical 7 00:00:24,475 --> 00:00:26,425 analysis and math. 8 00:00:26,425 --> 00:00:31,065 Which means that some of the components for a spam filter that classifies 9 00:00:31,065 --> 00:00:37,440 something as spam or not spam can be reapplied to another similar problem, like 10 00:00:37,440 --> 00:00:41,400 classifying different types of zoo animals based on their physical appearance. 11 00:00:42,700 --> 00:00:47,220 For this reason, there are many high level machine learning frameworks 12 00:00:47,220 --> 00:00:51,230 that already have all the low level code written so 13 00:00:51,230 --> 00:00:56,870 you can just plug your code and your data into pre-existing models. 14 00:00:56,870 --> 00:01:01,660 Later in this course we're going to use a free one called scikit-learn. 15 00:01:01,660 --> 00:01:05,860 Let's hop into a web browser and take a quick look at the big 16 00:01:05,860 --> 00:01:08,370 machine learning frameworks that are already out there. 17 00:01:09,960 --> 00:01:12,271 First up is scikit-learn. 18 00:01:12,271 --> 00:01:17,090 Scikit-learn is free to use and it's written in Python. 19 00:01:17,090 --> 00:01:21,820 It allows you to utilize some of the models we've already discussed 20 00:01:21,820 --> 00:01:24,110 in just a few lines of code. 21 00:01:24,110 --> 00:01:28,210 Right on the home page, you can see it features tools for 22 00:01:28,210 --> 00:01:33,050 classification, regression, clustering and more. 23 00:01:34,200 --> 00:01:37,210 This is a good choice for many different types of projects, 24 00:01:37,210 --> 00:01:42,315 especially on very customized problem domains, because it's all open-source. 25 00:01:43,710 --> 00:01:45,960 Next is TensorFlow. 26 00:01:45,960 --> 00:01:50,680 TensorFlow is another free open-source Python project with 27 00:01:50,680 --> 00:01:55,500 a different approach to machine learning that uses what are called Tensors, 28 00:01:55,500 --> 00:01:59,270 which can be thought of as multi-dimensional arrays. 29 00:01:59,270 --> 00:02:02,710 Then operations can be performed on Tensors, and 30 00:02:02,710 --> 00:02:05,830 the results can be visualized in graphs. 31 00:02:05,830 --> 00:02:09,190 This is somewhat of a departure from the machine learning approaches I mentioned 32 00:02:09,190 --> 00:02:10,350 previously. 33 00:02:10,350 --> 00:02:13,150 But it's worth exploring the website and 34 00:02:13,150 --> 00:02:15,410 understanding what TensorFlow has to offer. 35 00:02:16,880 --> 00:02:21,370 Next, is Amazon Web Services and their machine learning products, 36 00:02:21,370 --> 00:02:25,630 which is more of a cloud based platform than a framework. 37 00:02:25,630 --> 00:02:30,915 If we scroll down a bit there's a section that lists some 38 00:02:30,915 --> 00:02:35,863 API services and that includes image recognition, 39 00:02:35,863 --> 00:02:41,609 language translation, tools to create chat bots and more. 40 00:02:41,609 --> 00:02:47,264 This can be a good choice for many different problems, but especially if your 41 00:02:47,264 --> 00:02:52,840 problem domain can be neatly categorized into one of these high level APIs. 42 00:02:54,340 --> 00:02:59,700 IBM Watson offers many high level products and services for machine learning. 43 00:02:59,700 --> 00:03:04,590 They include common problem domains like chat bots and imagine recognition. 44 00:03:04,590 --> 00:03:07,780 But also includes some others 45 00:03:07,780 --> 00:03:12,680 that focus on natural language processing and emotional intent. 46 00:03:12,680 --> 00:03:15,540 Similar to the others, this is a great choice for 47 00:03:15,540 --> 00:03:17,590 many different types of problems. 48 00:03:17,590 --> 00:03:21,570 And it can give you a big head start when you need to 49 00:03:21,570 --> 00:03:26,210 utilize their higher level features that would be difficult to create on your own. 50 00:03:27,480 --> 00:03:30,380 There are many more frameworks out there so 51 00:03:30,380 --> 00:03:34,200 check the notes associated with this video for more resources. 52 00:03:34,200 --> 00:03:38,348 As you've probably gathered, not all machine learning frameworks are the same. 53 00:03:38,348 --> 00:03:43,540 And in fact, you could argue that not all of these are really frameworks, 54 00:03:43,540 --> 00:03:48,140 but also software libraries or cloud based platforms. 55 00:03:48,140 --> 00:03:53,550 The semantics and scopes of these tools varies but as you gain more experience and 56 00:03:53,550 --> 00:03:56,510 encounter different types of machine learning problems, 57 00:03:56,510 --> 00:04:00,430 it's important to know that there are many resources available to you.