|
所在平台: Udemy |
课程主页: https://www.udemy.com/course/machine-learning-with-scikit-learn/
课程评论:没有评论
课程名称:使用Scikit-learn的机器学习 课程概述:本课程将讲解如何使用Scikit-learn进行高级机器学习。如果你希望成为一名专业的数据科学家,掌握Scikit-learn至关重要!学员需具备一定的统计学基础和Python编程经验。虽然不要求成为专家,但需了解高斯分布、Python中的代码循环和函数,以及最大似然估计的基本概念。课程将专注于Python的实现,尽量减少数学内容。目标是让学员掌握Scikit-learn,能够识别特定问题适用的技术。如果按照课程学习,学员在机器学习面试中将表现良好,尽管在那种情况下,仍需更深入学习数学内容。 课程开始将解释机器学习问题、方法论及术语,区分人工智能、机器学习、统计学与数据挖掘。作为一个Python库,Scikit-learn利用了Python的简单性与强大功能。课程将指导学员安装Scikit-learn及其依赖库,并展示如何在Scikit-learn中使用Pandas数据,以及利用SciPy和Numpy。随后,会介绍如何用Scikit-learn创建合成数据集,针对回归、分类和聚类等任务定制数据集。 机器学习大致可分为监督学习和非监督学习两大类。监督学习中包括目标变量(连续或分类),我们希望用特征来进行预测。Scikit-learn为分类和回归问题提供估计器,课程将从最简单的分类器“朴素贝叶斯”开始,随后介绍通过特定技巧(正则化)来改善线性估计器的一些强大回归技术。还将分析支持向量机(SVM),这是分类和回归的强大技术。我们将用分类树和回归树构建非常复杂的模型,并将多个现有估计器组合成更简单但更稳健的集成方法,如随机森林、随机树和提升法,这些方法在当今数据科学竞赛中非常流行。 在应用中,将使用Kaggle上的真实数据集,如垃圾短信数据、美国房价等,帮助学员了解处理真实数据所需的技能。非监督学习则聚焦于特征集(没有结果或目标变量),我们尝试从这些数据中学习其特性,如是否存在离群值、是否能够进行分组或去除某些特征等。课程将介绍k-means聚类算法以及更优的DBSCAN技术,也将讲解如何使用主成分分析将数据集的维度降低。 为了保证课程的时效性,尤其是Scikit-learn的不断更新(如最新版本加入神经网络),我们努力将实例简单化,确保观察值(样本)和特征(变量)的数量尽可能小。尽管真实场景中我们通常处理数百个特征和数千个样本,课程中所展示的方法在这些情况下均能良好扩展。课程也会提供一些复杂示例作为附加练习,以丰富学习内容。
This course will explain how to use scikit-learn to do advanced machine learning. If you are aiming to work as a professional data scientist, you need to master scikit-learn! It is expected that you have some familiarity with statistics, and python programming. It's not necessary to be an expert, but you should be able to understand what is a Gaussian distribution, code loops and functions in Python, and know the basics of a maximum likelihood estimator. The course will be entirely focused on the python implementation, and the math behind it will be omitted as much as possible. The objective of this course is to provide you with a good understanding of scikit-learn (being able to identify which technique you can use for a particular problem). If you follow this course, you should be able to handle quite well a machine learning interview. Even though in that case you will need to study the math with more detail. We'll start by explaining what is the machine learning problem, methodology and terminology. We'll explain what are the differences between AI, machine learning (ML), statistics, and data mining. Scikit-learn (being a Python library) benefits from Python's spectacular simplicity and power. We'll start by explaining how to install scikit-learn and its dependencies. And then show how can we can use Pandas data in scikit-learn, and also benefit from SciPy and Numpy. We'll then show how to create synthetic data-sets using scikit-learn. We will be able to create data-sets specifically tailored for regression, classification and clustering. In essence, machine learning can be divided into two big groups: supervised and unsupervised learning. In supervised learning we will have an objective variable (which can be continuous or categorical) and we want to use certain features to predict it. Scikit-learn will provide estimators for both classification and regression problems. We will start by discussing the simplest classifier which is "Naive Bayes". We will then see some powerful regression techniques that via a special trick called regularization, will help get much better linear estimators. We will then analyze Support Vector Machines, a powerful technique for both regression and classification. We will then use classification and regression trees to estimate very complex models. We will see how we can combine many of the existing estimators into simpler structures, but more robust for out of sample performance, called "ensemble" methods. In particular random forests, random trees, and boosting methods. These methods are the ones winning most data science competitions nowadays. We will see how we can use all these techniques for online data, image classification, sales data, and more. We also use real datasets from Kaggle such as spam SMS data, house prices in the United States, etc. to teach the student what to expect when working with real data. On the other hand, in unsupervised learning we will have a set of features (but with no outcome or target variable) and we will attempt to learn from that data. Whether it has outliers, whether it can be grouped into groups, whether we can remove some of those features, etcetera. For example we will see k-means which is the simplest algorithm for classifying observations into groups. We will see that sometimes there are better techniques such as DBSCAN. We will then explain how we can use principal components to reduce the dimensionality of a data-set. And we willuse some very powerful scikit-learn functions that learn the density of the data, and are able to classify outliers. I try to keep this course as updated as possible, specially since scikit-learn is constantly being updated. For example, neural networks was added in the latest release. I tried to keep the examples as simple as possible, keeping the amount of observations (samples) and features (variables) as small as possible. In real situations, we will use hundreds of features and thousands of samples, and most of the methods presented here scale really well into those scenarios. I don't want this course to be focused on very realistic examples, because I think it obscures what we are trying to achieve in each example. Nevertheless, some more complex examples will be added as additional exercises.