Statistical Learning
Implementing your own k-nearest neighbour algorithm using Python
In machine learning, you may often wish to build predictors that allows to classify things into categories based on some set of associated values. For example, it is possible to provide a diagnosis to a patient based on data from previous patients. Many algorithms have been developed for automated classification, and common ones include random forests, support vector machines, Naรฏve Bayes classifiers, and many types of neural networks. To get a feel for how classification works, we take a simple example of a classification algorithm โ k-Nearest Neighbours (kNN) โ and build it from scratch in Python 2. You can use a mostly imperative style of coding, rather than a declarative/functional one with lambda functions and list comprehensions to keep things simple if you are starting with Python. Here, we will provide an introduction to the latter approach.
Top 10 Amazon Books in Artificial Intelligence & Machine Learning โ 2016 Edition
An Introduction to Statistical Learning provides an accessible overview of the field of statistical learning, an essential toolset for making sense of the vast and complex data sets that have emerged in fields ranging from biology to finance to marketing to astrophysics in the past twenty years. This book presents some of the most important modeling and prediction techniques, along with relevant applications. Topics include linear regression, classification, resampling methods, shrinkage approaches, tree-based methods, support vector machines, clustering, and more.
Mastering Machine Learning with scikit-learn
If you are a software developer who wants to learn how machine learning models work and how to apply them effectively, this book is for you. Familiarity with machine learning fundamentals and Python will be helpful, but is not essential. This book examines machine learning models including logistic regression, decision trees, and support vector machines, and applies them to common problems such as categorizing documents and classifying images. It begins with the fundamentals of machine learning, introducing you to the supervised-unsupervised spectrum, the uses of training and test data, and evaluating models. You will learn how to use generalized linear models in regression problems, as well as solve problems with text and categorical features. You will be acquainted with the use of logistic regression, regularization, and the various loss functions that are used by generalized linear models.
Adam Kelleher on experiment design and observational analysis โ I love experiments
Causality is a basic requirement any time you're trying to make a data-driven decision about a change to system. Often, people try to use observational data to speculate about changes. You can do this if you're very careful: there are ways to control for variables that cause bias, but none of them are perfect. Check out my 2nd blog post if you're interested in the details of that. The result is that if you want to use observational data to speculate about what you should do, then you're really leaving the result up to chance. You might get lucky, and there's no bias, and so your correlative result is causal. The problem is that you just don't know. To make it concrete, I'll modify an example from this paper.
Exponential Smoothing of Time Series Data in R
This article is not about smoothing ore into gems though your may find a few gems herein. Systematic Pattern and Random Noise In "Components of Time Series Data", I discussed the components of time series data. In time series analysis, we assume that the data consist of a systematic pattern (usually a set of identifiable components) and random noise (error), which often makes the pattern difficult to identify. Most time series analysis techniques involve some form of filtering out noise to make the pattern more noticeable. Two General Aspects of Time Series Patterns Though I have discussed other components of time series data, we can describe most time series patterns in terms of two basic classes of components: trend and seasonality.
San Francisco Police Department Crime Incidents: Part 1-Time Series Analysis
The City and County of San Francisco had launched an official open data portal called SF OpenData in 2009 as a product of its official open data program, DataSF. The portal contains hundreds of city datasets for use by developers, analysts, residents and more. Under the category of Public Safety, the portal contains the list of SFPD Incidents since Jan 1, 2003. In this post I have done an exploratory time-series analysis on the crime incidents dataset to see if there are any patterns.
k-nearest neighbor algorithm using Python
The example used to illustrate the method in the source code is the famous iris data set, consisting of 3 clusters, 150 observations, and 4 variables, first analysed in 1936. How does the methodology perform on large data sets with many variables, or on unstructured data? Why was Python chosen to do this analysis? I think this is great, but I would be interested to know the motivation. The author mentioned other clustering techniques, such as SVM, Naive Bayes (issued from statistical science) or neural networks.
Best solution to a problem: data science versus statistical paradigm
The data science you talked about here in this article is just data mining which is a branch of statistics. I am afraid to say that the statistical science you talked about in this article is too classic. Personally I think the comparison is not meaningful. We shouldn't differentiate between data science and statistics so much. Data science can be considered using knowledge and techniques from many subjects.
Non-Convex Projected Gradient Descent for Generalized Low-Rank Tensor Regression
Chen, Han, Raskutti, Garvesh, Yuan, Ming
In this paper, we consider the problem of learning high-dimensional tensor regression problems with low-rank structure. One of the core challenges associated with learning high-dimensional models is computation since the underlying optimization problems are often non-convex. While convex relaxations could lead to polynomial-time algorithms they are often slow in practice. On the other hand, limited theoretical guarantees exist for non-convex methods. In this paper we provide a general framework that provides theoretical guarantees for learning high-dimensional tensor regression models under different low-rank structural assumptions using the projected gradient descent algorithm applied to a potentially non-convex constraint set $\Theta$ in terms of its \emph{localized Gaussian width}. We juxtapose our theoretical results for non-convex projected gradient descent algorithms with previous results on regularized convex approaches. The two main differences between the convex and non-convex approach are: (i) from a computational perspective whether the non-convex projection operator is computable and whether the projection has desirable contraction properties and (ii) from a statistical upper bound perspective, the non-convex approach has a superior rate for a number of examples. We provide three concrete examples of low-dimensional structure which address these issues and explain the pros and cons for the non-convex and convex approaches. We supplement our theoretical results with simulations which show that, under several common settings of generalized low rank tensor regression, the projected gradient descent approach is superior both in terms of statistical error and run-time provided the step-sizes of the projected descent algorithm are suitably chosen.
Influential Node Detection in Implicit Social Networks using Multi-task Gaussian Copula Models
Li, Qunwei, Kailkhura, Bhavya, Thiagarajan, Jayaraman J., Zhang, Zhenliang, Varshney, Pramod K.
Influential node detection is a central research topic in social network analysis. Many existing methods rely on the assumption that the network structure is completely known \textit{a priori}. However, in many applications, network structure is unavailable to explain the underlying information diffusion phenomenon. To address the challenge of information diffusion analysis with incomplete knowledge of network structure, we develop a multi-task low rank linear influence model. By exploiting the relationships between contagions, our approach can simultaneously predict the volume (i.e. time series prediction) for each contagion (or topic) and automatically identify the most influential nodes for each contagion. The proposed model is validated using synthetic data and an ISIS twitter dataset. In addition to improving the volume prediction performance significantly, we show that the proposed approach can reliably infer the most influential users for specific contagions.