标签归档:数据分析

Deep Learning Specialization on Coursera

Coursera上数据科学相关课程(公开课)汇总推荐

Coursera上的数据科学课程有很多,这里汇总一批。

1、 Introduction to Data Science Specialization

IBM公司推出的数据科学导论专项课程系列(Introduction to Data Science Specialization),这个系列包括4门子课程,涵盖数据科学简介,面向数据科学的开源工具,数据科学方法论,SQL基础,感兴趣的同学可以关注:Launch your career in Data Science。Data Science skills to prepare for a career or further advanced learning in Data Science.

1) What is Data Science?
2) Open Source tools for Data Science
3) Data Science Methodology
4) Databases and SQL for Data Science

2、Applied Data Science Specialization

IBM公司推出的 应用数据科学专项课程系列(Applied Data Science Specialization),这个系列包括4门子课程,涵盖面向数据科学的Python,Python数据可视化,Python数据分析,数据科学应用毕业项目,感兴趣的同学可以关注:Get hands-on skills for a Career in Data Science。Learn Python, analyze and visualize data. Apply your skills to data science and machine learning.

1) Python for Data Science
2) Data Visualization with Python
3) Data Analysis with Python
4) Applied Data Science Capstone

3、Applied Data Science with Python Specialization

密歇根大学的Python数据科学应用专项课程系列(Applied Data Science with Python),这个系列的目标主要是通过Python编程语言介绍数据科学的相关领域,包括应用统计学,机器学习,信息可视化,文本分析和社交网络分析等知识,并结合一些流行的Python工具包进行讲授,例如pandas, matplotlib, scikit-learn, nltk以及networkx等Python工具。感兴趣的同学可以关注:Gain new insights into your data-Learn to apply data science methods and techniques, and acquire analysis skills.

1) Introduction to Data Science in Python
2) Applied Plotting, Charting & Data Representation in Python
3) Applied Machine Learning in Python
4) Applied Text Mining in Python
5) Applied Social Network Analysis in Python

4、Data Science Specialization

约翰霍普金斯大学的数据科学专项课程系列(Data Science Specialization),这个系列课程有10门子课程,包括数据科学家的工具箱,R语言编程,数据清洗和获取,数据分析初探,可重复研究,统计推断,回归模型,机器学习实践,数据产品开发,数据科学毕业项目,感兴趣的同学可以关注: Launch Your Career in Data Science-A nine-course introduction to data science, developed and taught by leading professors.

1) The Data Scientist’s Toolbox
2) R Programming
3) Getting and Cleaning Data
4) Exploratory Data Analysis
5) Reproducible Research
6) Statistical Inference
7) Regression Models
8) Practical Machine Learning
9) Developing Data Products
10) Data Science Capstone

5、Data Science at Scale Specialization

华盛顿大学的大规模数据科学专项课程系列(Data Science at Scale ),这个系列包括3门子课程和1个毕业项目课程,包括大规模数据系统和算法,数据分析模型与方法,数据科学结果分析等,感兴趣的同学可以关注: Tackle Real Data Challenges-Master computational, statistical, and informational data science in three courses.

1) Data Manipulation at Scale: Systems and Algorithms
2) Practical Predictive Analytics: Models and Methods
3) Communicating Data Science Results
4) Data Science at Scale – Capstone Project

6、Advanced Data Science with IBM Specialization

IBM公司推出的高级数据科学专项课程系列(Advanced Data Science with IBM Specialization),这个系列包括4门子课程,涵盖数据科学基础,高级机器学习和信号处理,结合深度学习的人工智能应用等,感兴趣的同学可以关注:Expert in DataScience, Machine Learning and AI。Become an IBM-approved Expert in Data Science, Machine Learning and Artificial Intelligence.

1) Fundamentals of Scalable Data Science
2) Advanced Machine Learning and Signal Processing
3) Applied AI with DeepLearning
4) Advanced Data Science Capstone

7、Data Mining Specialization

伊利诺伊大学香槟分校的数据挖掘专项课程系列(Data Mining Specialization),这个系列包含5门子课程和1个毕业项目课程,涵盖数据可视化,信息检索,文本挖掘与分析,模式发现和聚类分析等,感兴趣的同学可以关注:Data Mining Specialization-Analyze Text, Discover Patterns, Visualize Data. Solve real-world data mining challenges.

1) Data Visualization
2) Text Retrieval and Search Engines
3) Text Mining and Analytics
4) Pattern Discovery in Data Mining
5) Cluster Analysis in Data Mining
6) Data Mining Project

8、Data Analysis and Interpretation Specialization

数据分析和解读专项课程系列(Data Analysis and Interpretation Specialization),该系列包括5门子课程,分别是数据管理和可视化,数据分析工具,回归模型,机器学习,毕业项目,感兴趣的同学可以关注:Learn Data Science Fundamentals-Drive real world impact with a four-course introduction to data science.

1) Data Management and Visualization
2) Data Analysis Tools
3) Regression Modeling in Practice
4) Machine Learning for Data Analysis
5) Data Analysis and Interpretation Capstone

9、Executive Data Science Specialization

可管理的数据科学专项课程系列(Executive Data Science Specialization),这个系列包含4门子课程和1门毕业项目课程,涵盖数据科学速成,数据科学小组建设,数据分析管理,现实生活中的数据科学等,感兴趣的同学可以关注:Be The Leader Your Data Team Needs-Learn to lead a data science team that generates first-rate analyses in four courses.

1)A Crash Course in Data Science
2)Building a Data Science Team
3)Managing Data Analysis
4)Data Science in Real Life
5)Executive Data Science Capstone

10、其他相关的数据科学课程

1) Data Science Math Skills
2) Data Science Ethics
3) How to Win a Data Science Competition: Learn from Top Kagglers

注:原创文章,转载请注明出处“课程图谱博客”:http://blog.coursegraph.com

本文链接地址:http://blog.coursegraph.com/coursera上数据科学相关课程数据科学公开课汇总推荐 http://blog.coursegraph.com/?p=851

Coursera上机器学习课程(公开课)汇总推荐

Coursera上有很多机器学习课程,这里做个总结,因为机器学习相关的概念和应用很多,这里推荐的课程仅限于和机器学习直接相关的课程,虽然深度学习属于机器学习范畴,这里暂时也将其排除在外,后续会专门推出深度学习课程的系列推荐。

1. Andrew Ng 老师的 机器学习课程(Machine Learning)

机器学习入门首选课程,没有之一。这门课程从一开始诞生就备受瞩目,据说全世界有数百万人通过这门课程入门机器学习。课程的级别是入门级别的,对学习者的背景要求不高,Andrew Ng 老师讲解的又很通俗易懂,所以强烈推荐从这门课程开始走入机器学习。课程简介:

机器学习是一门研究在非特定编程条件下让计算机采取行动的学科。最近二十年,机器学习为我们带来了自动驾驶汽车、实用的语音识别、高效的网络搜索,让我们对人类基因的解读能力大大提高。当今机器学习技术已经非常普遍,您很可能在毫无察觉情况下每天使用几十次。许多研究者还认为机器学习是人工智能(AI)取得进展的最有效途径。在本课程中,您将学习最高效的机器学习技术,了解如何使用这些技术,并自己动手实践这些技术。更重要的是,您将不仅将学习理论知识,还将学习如何实践,如何快速使用强大的技术来解决新问题。最后,您将了解在硅谷企业如何在机器学习和AI领域进行创新。 本课程将广泛介绍机器学习、数据挖掘和统计模式识别。相关主题包括:(i) 监督式学习(参数和非参数算法、支持向量机、核函数和神经网络)。(ii) 无监督学习(集群、降维、推荐系统和深度学习)。(iii) 机器学习实例(偏见/方差理论;机器学习和AI领域的创新)。课程将引用很多案例和应用,您还需要学习如何在不同领域应用学习算法,例如智能机器人(感知和控制)、文本理解(网络搜索和垃圾邮件过滤)、计算机视觉、医学信息学、音频、数据库挖掘等领域。

这里有老版课程评论,非常值得参考推荐:Machine Learning

2. 台湾大学林轩田老师的 機器學習基石上 (Machine Learning Foundations)—Mathematical Foundations

如果有一定的基础或者学完了Andrew Ng老师的机器学习课程,这门机器学习基石上-数学基础可以作为进阶课程。林老师早期推出的两门机器学习课程口碑和难度均有:机器学习基石机器学习技法 ,现在重组为上和下,非常值得期待:

Machine learning is the study that allows computers to adaptively improve their performance with experience accumulated from the data observed. Our two sister courses teach the most fundamental algorithmic, theoretical and practical tools that any user of machine learning needs to know. This first course of the two would focus more on mathematical tools, and the other course would focus more on algorithmic tools. [機器學習旨在讓電腦能由資料中累積的經驗來自我進步。我們的兩項姊妹課程將介紹各領域中的機器學習使用者都應該知道的基礎演算法、理論及實務工具。本課程將較為著重數學類的工具,而另一課程將較為著重方法類的工具。]

3. 台湾大学林轩田老师的 機器學習基石下 (Machine Learning Foundations)—Algorithmic Foundations

作为2的姊妹篇,这个机器学习基石下-算法基础 更注重机器学习算法相关知识:

Machine learning is the study that allows computers to adaptively improve their performance with experience accumulated from the data observed. Our two sister courses teach the most fundamental algorithmic, theoretical and practical tools that any user of machine learning needs to know. This second course of the two would focus more on algorithmic tools, and the other course would focus more on mathematical tools. [機器學習旨在讓電腦能由資料中累積的經驗來自我進步。我們的兩項姊妹課程將介紹各領域中的機器學習使用者都應該知道的基礎演算法、理論及實務工具。本課程將較為著重方法類的工具,而另一課程將較為著重數學類的工具。

可参考早期的老版本课程评论:機器學習基石 (Machine Learning Foundations) 機器學習技法 (Machine Learning Techniques)

4. 华盛顿大学的 “机器学习专项课程(Machine Learning Specialization)

这个系列课程包含4门子课程,分别是 机器学习基础:案例研究 , 机器学习:回归 , 机器学习:分类, 机器学习:聚类与检索:

This Specialization from leading researchers at the University of Washington introduces you to the exciting, high-demand field of Machine Learning. Through a series of practical case studies, you will gain applied experience in major areas of Machine Learning including Prediction, Classification, Clustering, and Information Retrieval. You will learn to analyze large and complex datasets, create systems that adapt and improve over time, and build intelligent applications that can make predictions from data.

4.1 Machine Learning Foundations: A Case Study Approach(机器学习基础: 案例研究)

你是否好奇数据可以告诉你什么?你是否想在关于机器学习促进商业的核心方式上有深层次的理解?你是否想能同专家们讨论关于回归,分类,深度学习以及推荐系统的一切?在这门课上,你将会通过一系列实际案例学习来获取实践经历。

Do you have data and wonder what it can tell you? Do you need a deeper understanding of the core ways in which machine learning can improve your business? Do you want to be able to converse with specialists about anything from regression and classification to deep learning and recommender systems? In this course, you will get hands-on experience with machine learning from a series of practical case-studies. At the end of the first course you will have studied how to predict house prices based on house-level features, analyze sentiment from user reviews, retrieve documents of interest, recommend products, and search for images. Through hands-on practice with these use cases, you will be able to apply machine learning methods in a wide range of domains. This first course treats the machine learning method as a black box. Using this abstraction, you will focus on understanding tasks of interest, matching these tasks to machine learning tools, and assessing the quality of the output. In subsequent courses, you will delve into the components of this black box by examining models and algorithms. Together, these pieces form the machine learning pipeline, which you will use in developing intelligent applications. Learning Outcomes: By the end of this course, you will be able to: -Identify potential applications of machine learning in practice. -Describe the core differences in analyses enabled by regression, classification, and clustering. -Select the appropriate machine learning task for a potential application. -Apply regression, classification, clustering, retrieval, recommender systems, and deep learning. -Represent your data as features to serve as input to machine learning models. -Assess the model quality in terms of relevant error metrics for each task. -Utilize a dataset to fit a model to analyze new data. -Build an end-to-end application that uses machine learning at its core. -Implement these techniques in Python.

4.2 Machine Learning: Regression(机器学习: 回归问题)

这门课程关注机器学习里面的一个基本问题: 回归(Regression), 也通过案例研究(预测房价)的方式进行回归问题的学习,最终通过Python实现相关的机器学习算法。

Case Study – Predicting Housing Prices In our first case study, predicting house prices, you will create models that predict a continuous value (price) from input features (square footage, number of bedrooms and bathrooms,…). This is just one of the many places where regression can be applied. Other applications range from predicting health outcomes in medicine, stock prices in finance, and power usage in high-performance computing, to analyzing which regulators are important for gene expression. In this course, you will explore regularized linear regression models for the task of prediction and feature selection. You will be able to handle very large sets of features and select between models of various complexity. You will also analyze the impact of aspects of your data — such as outliers — on your selected models and predictions. To fit these models, you will implement optimization algorithms that scale to large datasets. Learning Outcomes: By the end of this course, you will be able to: -Describe the input and output of a regression model. -Compare and contrast bias and variance when modeling data. -Estimate model parameters using optimization algorithms. -Tune parameters with cross validation. -Analyze the performance of the model. -Describe the notion of sparsity and how LASSO leads to sparse solutions. -Deploy methods to select between models. -Exploit the model to form predictions. -Build a regression model to predict prices using a housing dataset. -Implement these techniques in Python.

4.3 Machine Learning: Classification(机器学习:分类问题)

这门课程关注机器学习里面的另一个基本问题: 分类(Classification), 通过两个案例研究进行学习:情感分析和贷款违约预测,最终通过Python实现相关的算法(也可以选择其他语言,但是强烈推荐Python)。

Case Studies: Analyzing Sentiment & Loan Default Prediction In our case study on analyzing sentiment, you will create models that predict a class (positive/negative sentiment) from input features (text of the reviews, user profile information,…). In our second case study for this course, loan default prediction, you will tackle financial data, and predict when a loan is likely to be risky or safe for the bank. These tasks are an examples of classification, one of the most widely used areas of machine learning, with a broad array of applications, including ad targeting, spam detection, medical diagnosis and image classification. In this course, you will create classifiers that provide state-of-the-art performance on a variety of tasks. You will become familiar with the most successful techniques, which are most widely used in practice, including logistic regression, decision trees and boosting. In addition, you will be able to design and implement the underlying algorithms that can learn these models at scale, using stochastic gradient ascent. You will implement these technique on real-world, large-scale machine learning tasks. You will also address significant tasks you will face in real-world applications of ML, including handling missing data and measuring precision and recall to evaluate a classifier. This course is hands-on, action-packed, and full of visualizations and illustrations of how these techniques will behave on real data. We’ve also included optional content in every module, covering advanced topics for those who want to go even deeper! Learning Objectives: By the end of this course, you will be able to: -Describe the input and output of a classification model. -Tackle both binary and multiclass classification problems. -Implement a logistic regression model for large-scale classification. -Create a non-linear model using decision trees. -Improve the performance of any model using boosting. -Scale your methods with stochastic gradient ascent. -Describe the underlying decision boundaries. -Build a classification model to predict sentiment in a product review dataset. -Analyze financial data to predict loan defaults. -Use techniques for handling missing data. -Evaluate your models using precision-recall metrics. -Implement these techniques in Python (or in the language of your choice, though Python is highly recommended).

4.4 Machine Learning: Clustering & Retrieval(机器学习:聚类和检索)

这门课程关注的是机器学习里面的另外两个基本问题:聚类和检索,同样通过案例研究进行学习:相似文档查询,一个非常具有实际应用价值的问题:

Case Studies: Finding Similar Documents A reader is interested in a specific news article and you want to find similar articles to recommend. What is the right notion of similarity? Moreover, what if there are millions of other documents? Each time you want to a retrieve a new document, do you need to search through all other documents? How do you group similar documents together? How do you discover new, emerging topics that the documents cover? In this third case study, finding similar documents, you will examine similarity-based algorithms for retrieval. In this course, you will also examine structured representations for describing the documents in the corpus, including clustering and mixed membership models, such as latent Dirichlet allocation (LDA). You will implement expectation maximization (EM) to learn the document clusterings, and see how to scale the methods using MapReduce. Learning Outcomes: By the end of this course, you will be able to: -Create a document retrieval system using k-nearest neighbors. -Identify various similarity metrics for text data. -Reduce computations in k-nearest neighbor search by using KD-trees. -Produce approximate nearest neighbors using locality sensitive hashing. -Compare and contrast supervised and unsupervised learning tasks. -Cluster documents by topic using k-means. -Describe how to parallelize k-means using MapReduce. -Examine probabilistic clustering approaches using mixtures models. -Fit a mixture of Gaussian model using expectation maximization (EM). -Perform mixed membership modeling using latent Dirichlet allocation (LDA). -Describe the steps of a Gibbs sampler and how to use its output to draw inferences. -Compare and contrast initialization techniques for non-convex optimization objectives. -Implement these techniques in Python.

5. 密歇根大学的 Applied Machine Learning in Python(在Python中应用机器学习)

Python机器学习应用课程,这门课程主要聚焦在通过Python应用机器学习,包括机器学习和统计学的区别,机器学习工具包scikit-learn的介绍,有监督学习和无监督学习,数据泛化问题(例如交叉验证和过拟合)等。这门课程同时属于”Python数据科学应用专项课程系列(Applied Data Science with Python Specialization)“。

This course will introduce the learner to applied machine learning, focusing more on the techniques and methods than on the statistics behind these methods. The course will start with a discussion of how machine learning is different than descriptive statistics, and introduce the scikit learn toolkit. The issue of dimensionality of data will be discussed, and the task of clustering data, as well as evaluating those clusters, will be tackled. Supervised approaches for creating predictive models will be described, and learners will be able to apply the scikit learn predictive modelling methods while understanding process issues related to data generalizability (e.g. cross validation, overfitting). The course will end with a look at more advanced techniques, such as building ensembles, and practical limitations of predictive models. By the end of this course, students will be able to identify the difference between a supervised (classification) and unsupervised (clustering) technique, identify which technique they need to apply for a particular dataset and need, engineer features to meet that need, and write python code to carry out an analysis. This course should be taken after Introduction to Data Science in Python and Applied Plotting, Charting & Data Representation in Python and before Applied Text Mining in Python and Applied Social Analysis in Python.

6. 俄罗斯国立高等经济学院和Yandex联合推出的 高级机器学习专项课程系列(Advanced Machine Learning Specialization)

该系列授课语言为英语,包括深度学习,Kaggle数据科学竞赛,机器学习中的贝叶斯方法,强化学习,计算机视觉,自然语言处理等7门子课程,截止目前前3门课程已开,感兴趣的同学可以关注:

This specialization gives an introduction to deep learning, reinforcement learning, natural language understanding, computer vision and Bayesian methods. Top Kaggle machine learning practitioners and CERN scientists will share their experience of solving real-world problems and help you to fill the gaps between theory and practice. Upon completion of 7 courses you will be able to apply modern machine learning methods in enterprise and understand the caveats of real-world data and settings.

以下是和机器学习直接相关的子课程,其他这里略过:

6.3 Bayesian Methods for Machine Learning(面向机器学习的贝叶斯方法)

该课程关注机器学习中的贝叶斯方法,贝叶斯方法在很多领域都很有用,例如游戏开发和毒品发现。它们给很多机器学习算法赋予了“超能力”,例如处理缺失数据,从小数据集中提取大量有用的信息等。当贝叶斯方法被应用在深度学习中时,它可以让你将模型压缩100倍,并且自动帮你调参,节省你的时间和金钱。

Bayesian methods are used in lots of fields: from game development to drug discovery. They give superpowers to many machine learning algorithms: handling missing data, extracting much more information from small datasets. Bayesian methods also allow us to estimate uncertainty in predictions, which is a really desirable feature for fields like medicine. When Bayesian methods are applied to deep learning, it turns out that they allow you to compress your models 100 folds, and automatically tune hyperparametrs, saving your time and money. In six weeks we will discuss the basics of Bayesian methods: from how to define a probabilistic model to how to make predictions from it. We will see how one can fully automate this workflow and how to speed it up using some advanced techniques. We will also see applications of Bayesian methods to deep learning and how to generate new images with it. We will see how new drugs that cure severe diseases be found with Bayesian methods.

7. 约翰霍普金斯大学的 Practical Machine Learning(机器学习实战)

这门课程从数据科学的角度来应用机器学习进修实战,课程将会介绍机器学习的基础概念譬如训练集,测试集,过拟合和错误率等,同时这门课程也会介绍机器学习的基本模型和算法,例如回归,分类,朴素贝叶斯,以及随机森林。这门课程最终会覆盖一个完整的机器学习实战周期,包括数据采集,特征生成,机器学习算法应用以及结果评估等。这门机器学习实践课程同时属于约翰霍普金斯大学的 数据科学专项课程(Data Science Specialization)系列:

One of the most common tasks performed by data scientists and data analysts are prediction and machine learning. This course will cover the basic components of building and applying prediction functions with an emphasis on practical applications. The course will provide basic grounding in concepts such as training and tests sets, overfitting, and error rates. The course will also introduce a range of model based and algorithmic machine learning methods including regression, classification trees, Naive Bayes, and random forests. The course will cover the complete process of building prediction functions including data collection, feature creation, algorithms, and evaluation.

8. 卫斯理大学 Regression Modeling in Practice(回归模型实战)

这门课程关注的是数据分析以及机器学习领域的最重要的一个概念和工具:回归(模型)分析。这门课程使用SAS或者Python,从线性回归开始学习,到了解整个回归模型,以及应用回归模型进行数据分析:

This course focuses on one of the most important tools in your data analysis arsenal: regression analysis. Using either SAS or Python, you will begin with linear regression and then learn how to adapt when two variables do not present a clear linear relationship. You will examine multiple predictors of your outcome and be able to identify confounding variables, which can tell a more compelling story about your results. You will learn the assumptions underlying regression analysis, how to interpret regression coefficients, and how to use regression diagnostic plots and other tools to evaluate the quality of your regression model. Throughout the course, you will share with others the regression models you have developed and the stories they tell you.

这门课程同时属于卫斯理大学的 数据分析与解读专项课程系列(Data Analysis and Interpretation Specialization)

9. 卫斯理大学的 Machine Learning for Data Analysis(面向数据分析的机器学习)

这门课程关注数据分析里的机器学习,机器学习的过程是一个开发、测试和应用预测算法来实现目标的过程,这门课程以 Regression Modeling in Practice(回归模型实战) 为基础,介绍机器学习中的有监督学习概念,同时从基础的分类算法到决策树以及聚类都会覆盖。通过完成这门课程,你将会学习如何应用、测试和解读机器学习算法用来解决实际问题。

Are you interested in predicting future outcomes using your data? This course helps you do just that! Machine learning is the process of developing, testing, and applying predictive algorithms to achieve this goal. Make sure to familiarize yourself with course 3 of this specialization before diving into these machine learning concepts. Building on Course 3, which introduces students to integral supervised machine learning concepts, this course will provide an overview of many additional concepts, techniques, and algorithms in machine learning, from basic classification to decision trees and clustering. By completing this course, you will learn how to apply, test, and interpret machine learning algorithms as alternative methods for addressing your research questions.

这门课程同时属于卫斯理大学的 数据分析与解读专项课程系列(Data Analysis and Interpretation Specialization)

10. 加州大学圣地亚哥分校的 Machine Learning With Big Data(大数据机器学习)

这门课程关注大数据中的机器学习技术,将会介绍相关的机器学习算法和工具。通过这门课程,你可以学到:通过机器学习过程来设计和利用数据;将机器学习技术用于探索和准备数据来建模;识别机器学习问题的类型;通过广泛可用的开源工具来使用数据构建模型;在Spark中使用大规模机器学习算法分析大数据。

Want to make sense of the volumes of data you have collected? Need to incorporate data-driven decisions into your process? This course provides an overview of machine learning techniques to explore, analyze, and leverage data. You will be introduced to tools and algorithms you can use to create machine learning models that learn from data, and to scale those models up to big data problems. At the end of the course, you will be able to: • Design an approach to leverage data using the steps in the machine learning process. • Apply machine learning techniques to explore and prepare data for modeling. • Identify the type of machine learning problem in order to apply the appropriate set of techniques. • Construct models that learn from data using widely available open source tools. • Analyze big data problems using scalable machine learning algorithms on Spark.

这门课程同时属于 加州大学圣地亚哥分校的大数据专项课程系列(Big Data Specialization)

11. 俄罗斯搜索巨头Yandex推出的 Big Data Applications: Machine Learning at Scale(大数据应用:大规模机器学习)

机器学习正在改变世界,通过这门课程,你将会学习到:识别实战中需要用机器学习算法解决的问题;通过Spark MLLib构建、调参、和应用线性模型;里面文本处理的方法;用决策树和Boost方法解决机器学习问题;构建自己的推荐系统。

Machine learning is transforming the world around us. To become successful, you’d better know what kinds of problems can be solved with machine learning, and how they can be solved. Don’t know where to start? The answer is one button away. During this course you will: – Identify practical problems which can be solved with machine learning – Build, tune and apply linear models with Spark MLLib – Understand methods of text processing – Fit decision trees and boost them with ensemble learning – Construct your own recommender system. As a practical assignment, you will – build and apply linear models for classification and regression tasks; – learn how to work with texts; – automatically construct decision trees and improve their performance with ensemble learning; – finally, you will build your own recommender system! With these skills, you will be able to tackle many practical machine learning tasks. We provide the tools, you choose the place of application to make this world of machines more intelligent.

这门课程同时属于Yandex推出的 面向数据工程师的大数据专项课程系列(Big Data for Data Engineers Specialization)

注:原创文章,转载请注明出处“课程图谱博客”:http://blog.coursegraph.com

本文链接地址:http://blog.coursegraph.com/coursera上机器学习课程公开课汇总推荐 http://blog.coursegraph.com/?p=696

Coursera上Python课程(公开课)汇总推荐:从Python入门到应用Python

Python是深度学习时代的语言,Coursera上有很多Python课程,从Python入门到精通,从Python基础语法到应用Python,满足各个层次的需求,以下是Coursera上的Python课程整理,仅供参考,这里也会持续更新。

1. 密歇根大学的“Python for Everybody Specialization(人人都可以学习的Python专项课程)”

这个系列对于学习者的编程背景和数学要求几乎为零,非常适合Python入门学习。这个系列也是Coursera上最受欢迎的Python学习系列课程,强烈推荐。这个Python系列的目标是“通过Python学习编程并分析数据,开发用于采集,清洗,分析和可视化数据的程序(Learn to Program and Analyze Data with Python-Develop programs to gather, clean, analyze, and visualize data.” ,以下是关于这个系列的简介:

This Specialization builds on the success of the Python for Everybody course and will introduce fundamental programming concepts including data structures, networked application program interfaces, and databases, using the Python programming language. In the Capstone Project, you’ll use the technologies learned throughout the Specialization to design and create your own applications for data retrieval, processing, and visualization.

这个系列包含4门子课程和1门毕业项目课程,包括Python入门基础,Python数据结构, 使用Python获取网络数据(Python爬虫),在Python中使用数据库以及Python数据可视化等。以下是具体子课程的介绍:

1.1 Programming for Everybody (Getting Started with Python)

Python入门级课程,这门课程暂且翻译为“人人都可以学编程-从Python开始”,如果没有任何编程基础,就从这门课程开始吧:

This course aims to teach everyone the basics of programming computers using Python. We cover the basics of how one constructs a program from a series of simple instructions in Python. The course has no pre-requisites and avoids all but the simplest mathematics. Anyone with moderate computer experience should be able to master the materials in this course. This course will cover Chapters 1-5 of the textbook “Python for Everybody”. Once a student completes this course, they will be ready to take more advanced programming courses. This course covers Python 3.

1.2 Python Data Structures(Python数据结构)

Python基础课程,这门课程的目标是介绍Python语言的核心数据结构(This course will introduce the core data structures of the Python programming language.),关于这门课程:

This course will introduce the core data structures of the Python programming language. We will move past the basics of procedural programming and explore how we can use the Python built-in data structures such as lists, dictionaries, and tuples to perform increasingly complex data analysis. This course will cover Chapters 6-10 of the textbook “Python for Everybody”. This course covers Python 3.

1.3 Using Python to Access Web Data(使用Python获取网页数据–Python爬虫)

Python应用课程,只有使用Python才能学以致用,这门课程的目标是展示如何通过爬取和分析网页数据将互联网作为数据的源泉(This course will show how one can treat the Internet as a source of data):

This course will show how one can treat the Internet as a source of data. We will scrape, parse, and read web data as well as access data using web APIs. We will work with HTML, XML, and JSON data formats in Python. This course will cover Chapters 11-13 of the textbook “Python for Everybody”. To succeed in this course, you should be familiar with the material covered in Chapters 1-10 of the textbook and the first two courses in this specialization. These topics include variables and expressions, conditional execution (loops, branching, and try/except), functions, Python data structures (strings, lists, dictionaries, and tuples), and manipulating files. This course covers Python 3.

1.4 Using Databases with Python(Python数据库)

Python应用课程,在Python中使用数据库。这门课程的目标是在Python中学习SQL,使用SQLite3作为抓取数据的存储数据库:

This course will introduce students to the basics of the Structured Query Language (SQL) as well as basic database design for storing data as part of a multi-step data gathering, analysis, and processing effort. The course will use SQLite3 as its database. We will also build web crawlers and multi-step data gathering and visualization processes. We will use the D3.js library to do basic data visualization. This course will cover Chapters 14-15 of the book “Python for Everybody”. To succeed in this course, you should be familiar with the material covered in Chapters 1-13 of the textbook and the first three courses in this specialization. This course covers Python 3.

1.5 Capstone: Retrieving, Processing, and Visualizing Data with Python(毕业项目课程:使用Python获取,处理和可视化数据)

Python应用实践课程,这是这个系列的毕业项目课程,目的是通过开发一系列Python应用项目让学生熟悉Python抓取,处理和可视化数据的流程。

In the capstone, students will build a series of applications to retrieve, process and visualize data using Python. The projects will involve all the elements of the specialization. In the first part of the capstone, students will do some visualizations to become familiar with the technologies in use and then will pursue their own project to visualize some other data that they have or can find. Chapters 15 and 16 from the book “Python for Everybody” will serve as the backbone for the capstone. This course covers Python 3.

2. 多伦多大学的编程入门课程”Learn to Program: The Fundamentals(学习编程:基础)

Python入门级课程。这门课程以Python语言传授编程入门知识,实为零基础的Python入门课程。感兴趣的同学可以参考课程图谱上的老课程评论 :http://coursegraph.com/coursera_programming1 ,之前一个同学的评价是 “两个老师语速都偏慢,讲解细致,又有可视化工具Python Visualizer用于详细了解程序具体执行步骤,可以说是零基础学习python编程的最佳选择。”

Behind every mouse click and touch-screen tap, there is a computer program that makes things happen. This course introduces the fundamental building blocks of programming and teaches you how to write fun and useful programs using the Python language.

3. 莱斯大学的Python专项课程系列:Introduction to Scripting in Python Specialization

入门级Python学习系列课程,涵盖Python基础, Python数据表示, Python数据分析, Python数据可视化等子课程,比较适合Python入门。这门课程的目标是让学生可以在处理实际问题是使用Python解决问题:Launch Your Career in Python Programming-Master the core concepts of scripting in Python to enable you to solve practical problems.

This specialization is intended for beginners who would like to master essential programming skills. Through four courses, you will cover key programming concepts in Python 3 which will prepare you to use Python to perform common scripting tasks. This knowledge will provide a solid foundation towards a career in data science, software engineering, or other disciplines involving programming.

这个系列包含4门子课程,以下是具体子课程的介绍:

3.1 Python Programming Essentials(Python编程基础)

Python入门基础课程,这门课程将讲授Python编程基础知识,包括表达式,变量,函数等,目标是让用户熟练使用Python:

This course will introduce you to the wonderful world of Python programming! We’ll learn about the essential elements of programming and how to construct basic Python programs. We will cover expressions, variables, functions, logic, and conditionals, which are foundational concepts in computer programming. We will also teach you how to use Python modules, which enable you to benefit from the vast array of functionality that is already a part of the Python language. These concepts and skills will help you to begin to think like a computer programmer and to understand how to go about writing Python programs. By the end of the course, you will be able to write short Python programs that are able to accomplish real, practical tasks. This course is the foundation for building expertise in Python programming. As the first course in a specialization, it provides the necessary building blocks for you to succeed at learning to write more complex Python programs. This course uses Python 3. While many Python programs continue to use Python 2, Python 3 is the future of the Python programming language. This first course will use a Python 3 version of the CodeSkulptor development environment, which is specifically designed to help beginning programmers learn quickly. CodeSkulptor runs within any modern web browser and does not require you to install any software, allowing you to start writing and running small programs immediately. In the later courses in this specialization, we will help you to move to more sophisticated desktop development environments.

3.2 Python Data Representations(Python数据表示)

Python入门基础课程,这门课程依然关注Python的基础知识,包括Python字符串,列表等,以及Python文件操作:

This course will continue the introduction to Python programming that started with Python Programming Essentials. We’ll learn about different data representations, including strings, lists, and tuples, that form the core of all Python programs. We will also teach you how to access files, which will allow you to store and retrieve data within your programs. These concepts and skills will help you to manipulate data and write more complex Python programs. By the end of the course, you will be able to write Python programs that can manipulate data stored in files. This will extend your Python programming expertise, enabling you to write a wide range of scripts using Python This course uses Python 3. While most Python programs continue to use Python 2, Python 3 is the future of the Python programming language. This course introduces basic desktop Python development environments, allowing you to run Python programs directly on your computer. This choice enables a smooth transition from online development environments.

3.3 Python Data Analysis(Python数据分析)

Python基础课程,这门课程将讲授通过Python读取和分析表格数据和结构化数据等,例如TCSV文件等:

This course will continue the introduction to Python programming that started with Python Programming Essentials and Python Data Representations. We’ll learn about reading, storing, and processing tabular data, which are common tasks. We will also teach you about CSV files and Python’s support for reading and writing them. CSV files are a generic, plain text file format that allows you to exchange tabular data between different programs. These concepts and skills will help you to further extend your Python programming knowledge and allow you to process more complex data. By the end of the course, you will be comfortable working with tabular data in Python. This will extend your Python programming expertise, enabling you to write a wider range of scripts using Python. This course uses Python 3. While most Python programs continue to use Python 2, Python 3 is the future of the Python programming language. This course uses basic desktop Python development environments, allowing you to run Python programs directly on your computer.

3.4 Python Data Visualization(Python数据可视化)

Python应用课程,这门课程将基于前3门课程学习的Python知识,抓取网络数据,然后清洗,处理和分析数据,并最终可视化呈现数据:

This if the final course in the specialization which builds upon the knowledge learned in Python Programming Essentials, Python Data Representations, and Python Data Analysis. We will learn how to install external packages for use within Python, acquire data from sources on the Web, and then we will clean, process, analyze, and visualize that data. This course will combine the skills learned throughout the specialization to enable you to write interesting, practical, and useful programs. By the end of the course, you will be comfortable installing Python packages, analyzing existing data, and generating visualizations of that data. This course will complete your education as a scripter, enabling you to locate, install, and use Python packages written by others. You will be able to effectively utilize tools and packages that are widely available to amplify your effectiveness and write useful programs.

4. 莱斯大学的计算(机)基础专项课程系列:Fundamentals of Computing Specialization

入门级Python编程学习课程系列,这个系列覆盖了大部分莱斯大学一年级计算机科学新生的学习材料,学生通过Python学习现代编程语言技巧,并将这些技巧应用到20个左右的有趣的编程项目中。

This Specialization covers much of the material that first-year Computer Science students take at Rice University. Students learn sophisticated programming skills in Python from the ground up and apply these skills in building more than 20 fun projects. The Specialization concludes with a Capstone exam that allows the students to demonstrate the range of knowledge that they have acquired in the Specialization.

这个系列包括Python交互式编程设计,计算原理,算法思维等6门课程和1门毕业项目课程,目标是让学生像计算机科学家一样编程和思考(Learn how to program and think like a Computer Scientist),以下是子课程的相关介绍:

4.1 An Introduction to Interactive Programming in Python (Part 1)(Python交互式编程导论上)

Python入门级课程,这门课程将讲授Python编程基础知识,例如普通表达式,条件表达式和函数,并用这些知识构建一个简单的交互式应用。

This two-part course is designed to help students with very little or no computing background learn the basics of building simple interactive applications. Our language of choice, Python, is an easy-to learn, high-level computer language that is used in many of the computational courses offered on Coursera. To make learning Python easy, we have developed a new browser-based programming environment that makes developing interactive applications in Python simple. These applications will involve windows whose contents are graphical and respond to buttons, the keyboard and the mouse. In part 1 of this course, we will introduce the basic elements of programming (such as expressions, conditionals, and functions) and then use these elements to create simple interactive applications such as a digital stopwatch. Part 1 of this class will culminate in building a version of the classic arcade game “Pong”.

4.2 An Introduction to Interactive Programming in Python (Part 2)(Python交互式编程导论下)

Python入门级课程,这门课程将继续讲授Python基础知识,例如列表,词典和循环,并将使用这些知识构建一个简单的游戏例如Blackjack:

This two-part course is designed to help students with very little or no computing background learn the basics of building simple interactive applications. Our language of choice, Python, is an easy-to learn, high-level computer language that is used in many of the computational courses offered on Coursera. To make learning Python easy, we have developed a new browser-based programming environment that makes developing interactive applications in Python simple. These applications will involve windows whose contents are graphical and respond to buttons, the keyboard and the mouse. In part 2 of this course, we will introduce more elements of programming (such as list, dictionaries, and loops) and then use these elements to create games such as Blackjack. Part 1 of this class will culminate in building a version of the classic arcade game “Asteroids”. Upon completing this course, you will be able to write small, but interesting Python programs. The next course in the specialization will begin to introduce a more principled approach to writing programs and solving computational problems that will allow you to write larger and more complex programs.

4.3 Principles of Computing (Part 1)(计算原理上)

编程基础课程,这门课程聚焦在了编程的基础上,包括编码标准和测试,数学基础包括概率和组合等。

This two-part course builds upon the programming skills that you learned in our Introduction to Interactive Programming in Python course. We will augment those skills with both important programming practices and critical mathematical problem solving skills. These skills underlie larger scale computational problem solving and programming. The main focus of the class will be programming weekly mini-projects in Python that build upon the mathematical and programming principles that are taught in the class. To keep the class fun and engaging, many of the projects will involve working with strategy-based games. In part 1 of this course, the programming aspect of the class will focus on coding standards and testing. The mathematical portion of the class will focus on probability, combinatorics, and counting with an eye towards practical applications of these concepts in Computer Science. Recommended Background – Students should be comfortable writing small (100+ line) programs in Python using constructs such as lists, dictionaries and classes and also have a high-school math background that includes algebra and pre-calculus.

4.4 Principles of Computing (Part 2)(计算原理下)

编程基础课程,这门课程聚焦在搜索、排序、递归等主题上:

This two-part course introduces the basic mathematical and programming principles that underlie much of Computer Science. Understanding these principles is crucial to the process of creating efficient and well-structured solutions for computational problems. To get hands-on experience working with these concepts, we will use the Python programming language. The main focus of the class will be weekly mini-projects that build upon the mathematical and programming principles that are taught in the class. To keep the class fun and engaging, many of the projects will involve working with strategy-based games. In part 2 of this course, the programming portion of the class will focus on concepts such as recursion, assertions, and invariants. The mathematical portion of the class will focus on searching, sorting, and recursive data structures. Upon completing this course, you will have a solid foundation in the principles of computation and programming. This will prepare you for the next course in the specialization, which will begin to introduce a structured approach to developing and analyzing algorithms. Developing such algorithmic thinking skills will be critical to writing large scale software and solving real world computational problems.

4.5 Algorithmic Thinking (Part 1)(算法思维上)

编程基础课程,这门课程聚焦在算法思维的培养上,讲授图算法的相关概念并用Python实现:

Experienced Computer Scientists analyze and solve computational problems at a level of abstraction that is beyond that of any particular programming language. This two-part course builds on the principles that you learned in our Principles of Computing course and is designed to train students in the mathematical concepts and process of “Algorithmic Thinking”, allowing them to build simpler, more efficient solutions to real-world computational problems. In part 1 of this course, we will study the notion of algorithmic efficiency and consider its application to several problems from graph theory. As the central part of the course, students will implement several important graph algorithms in Python and then use these algorithms to analyze two large real-world data sets. The main focus of these tasks is to understand interaction between the algorithms and the structure of the data sets being analyzed by these algorithms. Recommended Background – Students should be comfortable writing intermediate size (300+ line) programs in Python and have a basic understanding of searching, sorting, and recursion. Students should also have a solid math background that includes algebra, pre-calculus and a familiarity with the math concepts covered in “Principles of Computing”.

4.6 Algorithmic Thinking (Part 2)(算法思维下)

编程基础课程,这门课程聚焦在培养学生的算法思维,并了解一些高级算法主题,例如分治法,动态规划等:

Experienced Computer Scientists analyze and solve computational problems at a level of abstraction that is beyond that of any particular programming language. This two-part class is designed to train students in the mathematical concepts and process of “Algorithmic Thinking”, allowing them to build simpler, more efficient solutions to computational problems. In part 2 of this course, we will study advanced algorithmic techniques such as divide-and-conquer and dynamic programming. As the central part of the course, students will implement several algorithms in Python that incorporate these techniques and then use these algorithms to analyze two large real-world data sets. The main focus of these tasks is to understand interaction between the algorithms and the structure of the data sets being analyzed by these algorithms. Once students have completed this class, they will have both the mathematical and programming skills to analyze, design, and program solutions to a wide range of computational problems. While this class will use Python as its vehicle of choice to practice Algorithmic Thinking, the concepts that you will learn in this class transcend any particular programming language.

4.7 The Fundamentals of Computing Capstone Exam(计算基础毕业项目课程)

Python应用课程,基于以上子课程的学习,计算基础毕业项目课程将用Python和所学的知识完成 20+ 项目:

While most specializations on Coursera conclude with a project-based course, students in the “Fundamentals of Computing” specialization have completed more than 20+ projects during the first six courses of the specialization. Given that much of the material in these courses is reused from session to session, our goal in this capstone class is to provide a conclusion to the specialization that allows each student an opportunity to demonstrate their individual mastery of the material in the specialization. With this objective in mind, the focus in this Capstone class will be an exam whose questions are updated periodically. This approach is designed to help insure that each student is solving the exam problems on his/her own without outside help. For students that have done their own work, we do not anticipate that the exam will be particularly hard. However, those students who have relied too heavily on outside help in previous classes may have a difficult time. We believe that this approach will increase the value of the Certificate for this specialization.

5. 密歇根大学的 Applied Data Science with Python(Python数据科学应用专项课程系列)

Python应用系列课程,这个系列的目标主要是通过Python编程语言介绍数据科学的相关领域,包括应用统计学,机器学习,信息可视化,文本分析和社交网络分析等知识,并结合一些流行的Python工具包,例如pandas, matplotlib, scikit-learn, nltk以及networkx等Python工具。

The 5 courses in this University of Michigan specialization introduce learners to data science through the python programming language. This skills-based specialization is intended for learners who have basic a python or programming background, and want to apply statistical, machine learning, information visualization, text analysis, and social network analysis techniques through popular python toolkits such as pandas, matplotlib, scikit-learn, nltk, and networkx to gain insight into their data. Introduction to Data Science in Python (course 1), Applied Plotting, Charting & Data Representation in Python (course 2), and Applied Machine Learning in Python (course 3) should be taken in order and prior to any other course in the specialization. After completing those, courses 4 and 5 can be taken in any order. All 5 are required to earn a certificate.

这个系列课程有5门课程,包括Python数据科学导论课程(Introduction to Data Science in Python),Python数据可视化(Applied Plotting, Charting & Data Representation in Python),Python机器学习(Applied Machine Learning in Python) ,Python文本挖掘(Applied Text Mining in Python) , Python社交网络分析(Applied Social Network Analysis in Python),以下是具体子课程的介绍:

5.1 Introduction to Data Science in Python(Python数据科学导论)

Python基础和应用课程,这门课程从Python基础讲起,然后通过pandas数据科学库介绍DataFrame等数据分析中的核心数据结构概念,让学生学会操作和分析表格数据并学会运行基础的统计分析工具。

This course will introduce the learner to the basics of the python programming environment, including how to download and install python, expected fundamental python programming techniques, and how to find help with python programming questions. The course will also introduce data manipulation and cleaning techniques using the popular python pandas data science library and introduce the abstraction of the DataFrame as the central data structure for data analysis. The course will end with a statistics primer, showing how various statistical measures can be applied to pandas DataFrames. By the end of the course, students will be able to take tabular data, clean it, manipulate it, and run basic inferential statistical analyses. This course should be taken before any of the other Applied Data Science with Python courses: Applied Plotting, Charting & Data Representation in Python, Applied Machine Learning in Python, Applied Text Mining in Python, Applied Social Network Analysis in Python.

5.2 Applied Plotting, Charting & Data Representation in Python(Python数据可视化)

Python应用课程,这门课程聚焦在通过使用matplotlib库进行数据图表的绘制和可视化呈现:

This course will introduce the learner to information visualization basics, with a focus on reporting and charting using the matplotlib library. The course will start with a design and information literacy perspective, touching on what makes a good and bad visualization, and what statistical measures translate into in terms of visualizations. The second week will focus on the technology used to make visualizations in python, matplotlib, and introduce users to best practices when creating basic charts and how to realize design decisions in the framework. The third week will describe the gamut of functionality available in matplotlib, and demonstrate a variety of basic statistical charts helping learners to identify when a particular method is good for a particular problem. The course will end with a discussion of other forms of structuring and visualizing data. This course should be taken after Introduction to Data Science in Python and before the remainder of the Applied Data Science with Python courses: Applied Machine Learning in Python, Applied Text Mining in Python, and Applied Social Network Analysis in Python.

5.3 Applied Machine Learning in Python(Python机器学习)

Python应用课程,这门课程主要聚焦在通过Python应用机器学习,包括机器学习和统计学的区别,机器学习工具包scikit-learn的介绍,有监督学习和无监督学习,数据泛化问题(例如交叉验证和过拟合)等。

This course will introduce the learner to applied machine learning, focusing more on the techniques and methods than on the statistics behind these methods. The course will start with a discussion of how machine learning is different than descriptive statistics, and introduce the scikit learn toolkit. The issue of dimensionality of data will be discussed, and the task of clustering data, as well as evaluating those clusters, will be tackled. Supervised approaches for creating predictive models will be described, and learners will be able to apply the scikit learn predictive modelling methods while understanding process issues related to data generalizability (e.g. cross validation, overfitting). The course will end with a look at more advanced techniques, such as building ensembles, and practical limitations of predictive models. By the end of this course, students will be able to identify the difference between a supervised (classification) and unsupervised (clustering) technique, identify which technique they need to apply for a particular dataset and need, engineer features to meet that need, and write python code to carry out an analysis. This course should be taken after Introduction to Data Science in Python and Applied Plotting, Charting & Data Representation in Python and before Applied Text Mining in Python and Applied Social Analysis in Python.

5.4 Applied Text Mining in Python(Python文本挖掘)

Python应用课程,这门课程主要聚焦在文本挖掘和文本分析基础,包括正则表达式,文本清洗,文本预处理等,并结合NLTK讲授自然语言处理的相关知识,例如文本分类,主题模型等。

This course will introduce the learner to text mining and text manipulation basics. The course begins with an understanding of how text is handled by python, the structure of text both to the machine and to humans, and an overview of the nltk framework for manipulating text. The second week focuses on common manipulation needs, including regular expressions (searching for text), cleaning text, and preparing text for use by machine learning processes. The third week will apply basic natural language processing methods to text, and demonstrate how text classification is accomplished. The final week will explore more advanced methods for detecting the topics in documents and grouping them by similarity (topic modelling). This course should be taken after: Introduction to Data Science in Python, Applied Plotting, Charting & Data Representation in Python, and Applied Machine Learning in Python.

5.5 Applied Social Network Analysis in Python(Python社交网络分析)

Python应用课程,这门课程通过Python工具包 NetworkX 介绍社交网络分析的相关知识。

This course will introduce the learner to network analysis through the NetworkX library. The course begins with an understanding of what network analysis is and motivations for why we might model phenomena as networks. The second week introduces the concept of connectivity and network robustness.. The third week will explore ways of measuring the importance or centrality of a node in a network. The final week will explore the evolution of networks over time and cover models of network generation and the link prediction problem. This course should be taken after: Introduction to Data Science in Python, Applied Plotting, Charting & Data Representation in Python, and Applied Machine Learning in Python.

您可以继续在课程图谱上挖掘Coursera上新的Python课程,也欢迎推荐到这里。

注:原创文章,转载请注明出处“课程图谱博客”:http://blog.coursegraph.com

本文链接地址:http://blog.coursegraph.com/coursera%E4%B8%8Apython%E8%AF%BE%E7%A8%8B%EF%BC%88%E5%85%AC%E5%BC%80%E8%AF%BE%EF%BC%89%E6%B1%87%E6%80%BB%E6%8E%A8%E8%8D%90%EF%BC%9A%E4%BB%8Epython%E5%85%A5%E9%97%A8%E5%88%B0%E5%BA%94%E7%94%A8python

2014年9月份MOOC部分热门课程汇总

又到了一年的开学季,几大MOOC平台又有不少质量很高的课程轮番推出,本文将对9月已经或者即将开设的偏向计算机科学类的课程进行一个简单的选择和汇总,各位可以从中选取自己感兴趣的课程。

Coursera:

1. 杜克大学的 Data Analysis and Statistical Inference

本课讲授比较基础的统计学,但不同于传统的统计学内容,本课将很大一部分精力用在锻炼学生的实际动手能力。部分课程练习是在一个叫“DataCamp”的平台上完成的,力求学生能够通过实际练习解决现实中的问题。

2. 斯坦福大学的 Automata

本课属于比较传统的计算机科学理论课程,讲授了计算理论和复杂度方面的内容,讲师是个传奇人物,对纯粹的计算理论感兴趣的朋友不要错过这门课程。

3. 加州理工学院的 The Caltech-JPL Summer School on Big Data Analytics

本课不同于一般的课程,由一系列的讲座组成,讲述了数据分析领域的一些常用概念,属于比较偏向实务的课程。本课没有限制时间,也没有作业和证书。

4. 普林斯顿大学的 Algorithms, Part I

普林斯顿的数据结构是一门很有口碑的课程,本课的内容作为普林斯顿大学翻转课堂的材料,课程的内容和作业和该校校内基本一致。对于算法和数据结构感兴趣的朋友,这门课是非常不错的选择。唯一遗憾的是课程不提供证书。

5. 香港中文大学的 Information Theory

目前互联网上关于信息论的课程屈指可数,本课是为数不多系统讲授信息论的课程,感兴趣的朋友可以了解一下。

6. 台湾大学的 計算機程式設計 (Computer Programming)

这门课程是台湾大学计算机专业的基础课程,在台大拥有很好的口碑。课程用C语言教授,内容和国内大部分学校同类课程相似,初学计算机编程的同学不要错过这门华语课程。

7. 佐治亚理工学院的 Computational Investing, Part I

本课讲授基础的量化投资概念,属于比较偏向实务的课程。课程内容本身其实没有难度,面向有一定编程基础的同学。

8. 北京大学的 Introduction to Computing 计算概论A

来自北京大学的计算概论是又一门关于计算机基础理论的课程,适合对计算机编程感兴趣的同学作为入门课程。

9. 莱斯大学的 An Introduction to Interactive Programming in Python

又是一门关于计算概论的课程,本课通过一步步制作一款小游戏的方式,逐步介绍编程的基本概念。本课在世界范围内获得了极高的评价,不同于国内计算导论的课程,本课使用容易上手的Python语言,相信对于初学编程的同学来说这门课程将是非常棒的选择。

10. UCSD的 Bioinformatics Algorithms (Part 1)

这是一门关于生物信息学的课程,不需要生物学的背景知识,如果之前修习过算法的同学会觉得这门课程非常亲切。该课属于算法在生物学中的应用,通过本课可以提升自己的编程技巧。

11. EPFL的 Functional Programming Principles in Scala

EPFL的这门课程之前已经在Coursera上开设多轮,也是很多人初次接触Scala甚至是函数式编程的启蒙课程。课程的讲师是Scala的发明人,经典的课程再次启程。

12. 马里兰大学的 Usable Security

本课是马里兰大学在Coursera上开设的“Cybersecurity”系列的第一门课程,主要讲述从产品角度如何涉及一个安全的软件和系统。对安全领域感兴趣的朋友不要错过这门课程。

13. 北京大学的 操作系统与虚拟化安全

来自北大的操作系统课程,对操作系统以及安全领域感兴趣的朋友可以关注一下这门课程。

14. 斯坦福大学的 Machine Learning

虽然本课的讲师Andrew Ng已经离开Coursera加入百度,成为百度首席科学家,但是他给世界上对机器学习感兴趣的人留下的财富至今延续。经典的课程无需多做解释。

15. 台湾大学的 機器學習基石 (Machine Learning Foundations)

原汁原味的机器学习课程,在Coursera上的本课与台湾大学的线下课程同步。有一定难度,但如果坚持学习下来将会受益匪浅。

16. 斯坦福大学的 Mining Massive Datasets

据说该课原来属于斯坦福大学的收费在线课程,如今搬到了Coursera上免费提供给全世界。本课讲授了大数据技术的方方面面,对于数据分析感兴趣的朋友一定不要错过这门课程。

edX:
1. 清华大学的 电路原理 (开课时间:9.15)

本课是首批华语MOOC课程之一,一经上线便好评如潮。目前互联网上已经有数门关于电路原理的课程,包括MIT的6.002X。本课拥有与6.002X相媲美的质量,是国内大学生学习电路原理的不二选择。

2. 清华大学的 数据结构 (开课时间:9.16)

清华大学的数据结构一经上线便受到了一致的好评,课程内容接近清华校内线下课程的难度,推荐给渴望接触到国内最高学府知识的同学。

3. 比利时UCL大学的 Paradigms of Computer Programming – Fundamentals (开课时间:9.22)

这是一门关于编程范式的课程,对于日后期望从事软件开发或者在职工程师而言,这门课程能够为日后的开发生涯打下扎实的基本功。

4. 香港科技大学的 A System View of Communications: From Signals to Packets (Part 1) (开课时间:9.23)

本课是香港科技大学电气工程专业(EE)的第一门专业基础课程,对电子通信感兴趣的朋友不要错过这门课程。

5. 加州理工学院的 Learning From Data (开课时间:9.25)

本课的讲师和台湾大学机器学习课程的林轩田老师有很深的渊源,前者是后者的导师。本课制作精良,内容有深度,与台大的机器学习有相当的重合度。

6. 北京大学的 魅力机器人 | The Fascinating World of Robots and Robotics (开课时间:9.30)

来自北京大学的机器人课程,对机器人领域感兴趣的朋友可以关注一下这门课程。

2014年4月份MOOC部分热门课程汇总

近期MOOC的内容呈现出爆炸式的增长,各式各样的课程让人应接不暇。本文将对各大平台4月份预计比较热门的课程进行简单的汇总,各位可以根据自身的需求挑选合适的课程。

Coursera平台:

1. 美国西北大学的Everything is the Same: Modeling Engineered Systems 将于4月6日开课。本课主要讲述一些简单的物理工程实例,对物理学、工程学感兴趣的朋友可以关注。同时这门课程中会穿插Matlab和Python的内容,适合懂得一点编程的朋友。

2.马里兰大学的Exploring Quantum Physics将于4月7日开课,本课讲述的是量子物理。目前讲述量子物理方面的课程还不多,这门课或许是个不错的选择

3. 约翰霍普金斯大学的Getting and Cleaning Data将于4月7日开课。本课属于约翰霍普金斯大学 Data Science Specialization(“微专业”)的一部分

4.约翰霍普金斯大学的R Programming将于4月7日开课。本课属于约翰霍普金斯大学 Data Science Specialization(“微专业”)的一部分,R语言日益成为数据分析领域的首选工具,本门课程可以作为对这个工具入手的入门课程。

5. 约翰霍普金斯大学的The Data Scientist’s Toolbox将于4月7日开课。本课属于约翰霍普金斯大学 Data Science Specialization(“微专业”)的一部分,主要介绍了目前数据分析中会经常用到的工具,例如:Github,  MarkDown, R Console, R Studio等等

6. 上海交通大学的“唐诗宋词人文解读”将于4月8日开课。课程从喜闻乐见的唐诗宋词入手,触摸一段历史与一群文人的体温,领悟人生旅途的趣味和智慧。

7. 上海交通大学的“媒介批评:理论与方法”将于4月8日开课。“媒介批评”是现代大众传播学的重要分支,简单而言,就是批评媒介,是 对大众传播媒介本身进行批评,属于应用传播学的研究领域。

8. 密歇根大学的Programming for Everybody将于4月10日开课。在众多编程基础课中这门课属于新的成员,适合编程零基础的朋友。

9. 慕尼黑大学的Competitive Strategy将于4月11日开课:

@ototsuyume:

其实就是简单易懂的博弈论入门,课程量少老师讲得作业难度不高而且每道题都有说明,大概是大学里面公共通选课的难度,有空可以看看

10.科罗拉多大学博尔德分校的Physics 1 for Physical Science Majors将于4月14日开课。本课属于比较传统的大学物理,之前获得了不错的反响

11.慕尼黑大学的Introduction to Mathematical Philosophy将于4月14日开课。在现代的哲学研究中越来越多的需要思考很多底层的问题,在这期间免不了需要思考很多数学层面的问题,本课推荐给对数学或哲学领域感兴趣的朋友。

12.匹兹堡大学的Warhol将于4月21日开课。出生于匹兹堡市的Andy Warhol是20世纪最伟大的艺术家之一,波普艺术的创始人,对当代的艺术和文化产生了巨大的影响。本课将介绍Andy Warhol的生平和作品,让大家一睹大师的风采。

13.香港中文大学的“中國人文經典導讀”将于4月24日开课。本課程是以四堂演講的方式,分別討論中國文化的四個主要面向,彙文學、歷史、哲學、藝術于一爐。每一個主題以一篇或兩篇經典文本爲基礎,指導學生如何精讀作品,學習以欣賞和批判的雙重角度重新解讀經典,同時獲得對中國文字的陶冶和享受。它本爲大學一年級學生所設,但不限於中文系本科專業,希能為學生鑒賞中國傳統文化開啟新的視野。

14.瑞士洛桑联邦理工学院(EPFL)的Functional Programming Principles in Scala将于4月25日开课。本课之前几轮获得了极高的评价,主要通过Scala语言讲述函数式编程的思想。本课的讲师正是Scala语言的发明人。

15. 斯坦福大学的Algorithms: Design and Analysis, Part 1将于4月29日开课:

@超級現實的超現實理想主義者:

这门课对我的影响非常大,直接改变了我的思维方式,并且为日后的学习打下了很好的基础。

edX平台

1. MIT的Street-Fighting Math将于4月8日开课。如同街头打架一样,不论你使用什么招式,打架的唯一目的就是寻求胜利。各位接受了多年“严谨”的数学教育,不妨感受一下“Quick and Dirty”的数学方法。

2.哈佛大学的Justice将于4月8日开课。这门“公正”课早在MOOC出现之前就已经红遍国内互联网,想要重温或者学习这门经典课程的朋友不妨关注一下这门MOOC形式呈现的课程。

3.京都大学的The Chemistry of Life将于4月10日开课。该课属于化学和生物的入门课程。

学堂在线:

1. 清华大学的组合数学将于4月10日开课。随着计算机科学的发展,组合数学在这段时间里获得了极大的发展。不同于传统数学领域侧重于“连续”层面,组合数学解决的是“离散”层面的问题。本课将从基础的排列组合开始,逐步深入了解计数问题的不同解决思路,通过对现实生活中计数问题的演绎和学生们共同体会组合计数问题不断抽象深入的挖掘过程,引导学生共同感受数学知识的精妙,从而深入理解组合数学对计算机理论发展的推动作用。

2. 加州大学伯克利分校的云计算与软件工程—第一部分将于4月21日开课。本课的讲师是软件工程和计算机科学领域的大牛,课程主要通过Ruby on Rails等目前热门的互联网开发技术阐述诸如“云计算”、“敏捷开发”等软件工程领域热门的主题。

注:原创文章,转载请注明出处“课程图谱博客”:blog.coursegraph.com

本文链接: http://blog.coursegraph.com/2014年4月份mooc部分热门课程汇总

数据分析公开课汇总

数据分析是如今非常热门的话题之一,课程图谱为此简单整理一下目前(2014年初)在MOOC平台上有关数据挖掘方面的公开课程。
Coursera

1.  Johns Hopkins University的Data Analysis 该课通过R语言讲授数据分析的技巧:

@Cloga在路上:很好的一门课程,用R为工具讲了数据分析挖掘的一些算法和实例。

2. University of Washington的Computational Methods for Data Analysis 该课为课堂录像,通过MOOC的形式进行组织,讲师Nathan Kutz讲课生动、幽默,但是该课不足之处是课程不提供证书激励且几乎没有课程工作人员参与讨论,属于自助性质的课程。

3. University of Washington的Scientific Computing:科学计算是很多工程应用领域的基础课程,该课的讲师同样为Nathan Kutz,课程形式与上一门Computational Methods for Data Analysis基本一致。

4. University of Toronto的Statistics: Making Sense of Data

@Mavlarn008:就像这门课的标题“making sense”一样,这门课最好的地方就是让你对统计有”感觉”。虽然讲的比较简单,但是对于理解这些概念非常有用。 最后那个大胡子还自弹自唱一首他自创的有关这门课的歌,也很有意思。

5. University of Washington的Introduction to Data Science

@Cloga在路上:很好的一门课,尤其对于我这种初学者,老师讲的面很广,涉及了数据科学的很多方面。
不足之处是课程内容过多有些内容讲的很匆忙,比如数据可视化这个部分,大家普遍反馈讲的有点水,Graph那部分也有点水。
比较好玩的是,课程结束后Bill好像有些事情,拖了一段时间才给出分数,大家在课程论坛上各种吐槽,无比欢乐。

@伟伟酱说:正如老师开始所讲的,这门课的目的只是让你成为advanced beginer,课程内容涵盖了数据库(SQL,NoSQL),MapReduce,基本的数值分析,机器学习,数据可视化。类似于另外一门课Web intelligence and big data,两者都应该算是入门型课程,学生想要深入学习的话可以选择其他专门的课程。
有人认为老师讲课枯燥,你总不能指望每个老师把数学课讲的有历史课那么有趣吧~

@钛合金蛙眼: 希望和失望并存。。。课程内容结构很好,讲的不好;作业很赞,对有一定基础的人不难,但入门的同学可能还是有困难。如果只是想粗浅了解课程各个topic的,跟着做作业就不错,想深入还需自学

6. Columbia University的Big Data in Education:该课讨论的是将数据分析的技巧运用于教育领域

7. Johns Hopkins University的Computing for Data Analysis

@宋鑫要学习:想入门R语言的可以听听。我自己之前有看过一些R的入门书籍,但是总感觉云里雾里,这门课让我感觉自己摸着点门道

@Puriney:这门课更确切说确实是R语言指南,很多实用并且系统地把R用法娓娓道来,没有啥算法,因此可能有人觉得不象一门综合大学的课程而更象蓝翔技校般的技能课。我想跟当时课程开课有一定关系,当时我记得是这门4周课时的课(很精简了)先开(Roger Peng主讲),结束之后马上接着便是Roger Peng的好基友Jeff Leek (他们都是http://simplystatistics.org/博客的共同博主)讲的Data Analysis。Jeff的这门课就更加复杂,作业里有更多计算成分在,就不那么“技校”了。 p.s. 这是我唯一一门上完不那么费脑力的课(相比那些算法的课)。Jeff的这门我没有坚持到底,当时我很讨厌“互相批改”的评分制度(如果没记错)

@要有光LTBL:R讲的挺好的,一直在用但是知识体系并不是很系统。这门课还是讲得不错的。。。

@wzyer:这门课就应该叫作R使用手册。全是R的语法与应用,有些让我失望。语法什么的太琐碎,很容易遗忘,放到课上讲太多语法个人以为不妥。

 

8. Stanford University的StatLearning: Statistical Learning:名著The Elements of Statistical Learning: Data Mining, Inference, and Prediction(ESL)的作者Trevor Hastie和Rob Tibshirani开设的课程,本课的配套教材An Introduction to Statistical Learning: with Applications in R在美国亚马逊上获得了极高的评价,在课程中该教材将会免费对外开放

9.Duke University的Data Analysis and Statistical Inference:该课将会由R语言讲授统计学和数据分析方面的内容,欢迎关注

Udacity
Udacity近期与企业界合作推出了一些数据分析领域的课程,课程内容本身对外公开免费,但如果需要获得证书以及专门的在线辅导的话则需要支付一定的费用。
1. Introduction to Hadoop and MapReduce:

@ziyoudefeng: 这门课程太简单了,google搜索 mapreduce PPT 出来的这些PPT,看上几个也都抵上这三节课了。不过,总共也就3节课,听听也无妨。讲的内容很初级,小白用户可以网上的讲义加视频一起学习!

2. Introduction to Data Science

3. Data Wrangling with MongoDB

4. Exploratory Data Analysis

注:原创文章,转载请注明出处“课程图谱博客”:blog.coursegraph.com

本文链接:http://blog.coursegraph.com/数据分析公开课汇总