# data mining

Published articles for data mining.

This is one page of public article previews, not the complete archive. Follow Next page to continue. Summaries are not the original full articles.

## The Čech Complex and the Vietoris-Rips Complex

DevFeed: [The Čech Complex and the Vietoris-Rips Complex](<https://devfeed.tech/articles/the-cech-complex-and-the-vietoris-rips-complex-40386.md>)

Original publisher: [Read original article](<https://www.jeremykun.com/2015/08/06/cech-vietoris-rips-complex/>)

Published: 2015-08-06T09:00:00Z

Content type: article

Language: en

Sources: [Jeremy Kun](<https://devfeed.tech/sources/jeremy-kun.md>)

Topics: [data](<https://devfeed.tech/topics/data.md>), [datasets](<https://devfeed.tech/topics/datasets.md>), [Point cloud](<https://devfeed.tech/topics/point-cloud.md>), [Computing](<https://devfeed.tech/topics/computing.md>)

Tags: [approximation](<https://devfeed.tech/tags/approximation.md>), [cech-complex](<https://devfeed.tech/tags/cech-complex.md>), [complex](<https://devfeed.tech/tags/complex.md>), [computational-topology](<https://devfeed.tech/tags/computational-topology.md>), [data-mining](<https://devfeed.tech/tags/data-mining.md>), [data-science](<https://devfeed.tech/tags/data-science.md>), [dataset](<https://devfeed.tech/tags/dataset.md>), [homology](<https://devfeed.tech/tags/homology.md>), [linear-algebra](<https://devfeed.tech/tags/linear-algebra.md>), [mathematics](<https://devfeed.tech/tags/mathematics.md>), [persistent-homology](<https://devfeed.tech/tags/persistent-homology.md>), [point](<https://devfeed.tech/tags/point.md>), [points](<https://devfeed.tech/tags/points.md>), [simplicial-complex](<https://devfeed.tech/tags/simplicial-complex.md>), [vietoris-rips-complex](<https://devfeed.tech/tags/vietoris-rips-complex.md>)

### AI overview

This article introduces computational topology for analyzing the shape of data. It explains how point clouds can be converted into simplicial complexes so homology and persistent homology can identify qualitative features such as connected components and holes, with some resistance to noise.

### Source excerpt

It's about time we got back to computational topology. Previously in this series we endured a lightning tour of the fundamental group and homology, then we saw how to compute the homology of a simplicial complex using linear algebra. What we really want to do is talk about the inherent shape of data. Homology allows us to compute some qualitative features of a given shape, i.e., find and count the number of connected components or a given shape, or the number of "2-dimensional holes" it has.

## What does it mean for an algorithm to be fair?

DevFeed: [What does it mean for an algorithm to be fair?](<https://devfeed.tech/articles/what-does-it-mean-for-an-algorithm-to-be-fair-40385.md>)

Original publisher: [Read original article](<https://www.jeremykun.com/2015/07/13/what-does-it-mean-for-an-algorithm-to-be-fair/>)

Published: 2015-07-13T09:00:00Z

Content type: opinion

Language: en

Sources: [Jeremy Kun](<https://devfeed.tech/sources/jeremy-kun.md>)

Topics: [Algorithms](<https://devfeed.tech/topics/algorithms.md>), [Algorithms, Complexity](<https://devfeed.tech/topics/algorithms-complexity.md>), [Machine learning](<https://devfeed.tech/topics/machine-learning.md>), [Programming](<https://devfeed.tech/topics/programming.md>)

Tags: [accountability](<https://devfeed.tech/tags/accountability.md>), [algorithm](<https://devfeed.tech/tags/algorithm.md>), [algorithms](<https://devfeed.tech/tags/algorithms.md>), [data-mining](<https://devfeed.tech/tags/data-mining.md>), [deep-learning](<https://devfeed.tech/tags/deep-learning.md>), [discrimination](<https://devfeed.tech/tags/discrimination.md>), [disparate-impact](<https://devfeed.tech/tags/disparate-impact.md>), [fairness](<https://devfeed.tech/tags/fairness.md>), [google](<https://devfeed.tech/tags/google.md>), [law](<https://devfeed.tech/tags/law.md>), [machine-learning](<https://devfeed.tech/tags/machine-learning.md>), [mathematics](<https://devfeed.tech/tags/mathematics.md>), [neural-networks](<https://devfeed.tech/tags/neural-networks.md>), [transparency](<https://devfeed.tech/tags/transparency.md>)

### AI overview

The article examines algorithmic fairness and argues that algorithms trained on historical human data can facilitate illegal discrimination and reinforce social prejudices. It uses targeted loan advertising, Google autocomplete, and predictive policing as examples, though the supplied text is incomplete.

### Source excerpt

In 2014 the White House commissioned a 90-day study that culminated in a report (pdf) on the state of "big data" and related technologies. The authors give many recommendations, including this central warning. Warning: algorithms can facilitate illegal discrimination! Here's a not-so-imaginary example of the problem. A bank wants people to take loans with high interest rates, and it also serves ads for these loans. A modern idea is to use an algorithm to decide, based on the sliver of known information about a user visiting a website, which advertisement to present that gives the largest chance of the user clicking on it.

## Finding the majority element of a stream

DevFeed: [Finding the majority element of a stream](<https://devfeed.tech/articles/finding-the-majority-element-of-a-stream-40379.md>)

Original publisher: [Read original article](<https://www.jeremykun.com/2015/03/09/finding-the-majority-element-of-a-stream/>)

Published: 2015-03-09T09:00:11Z

Content type: tutorial

Language: en

Sources: [Jeremy Kun](<https://devfeed.tech/sources/jeremy-kun.md>)

Topics: [Algorithm](<https://devfeed.tech/topics/algorithm.md>), [Python](<https://devfeed.tech/topics/python.md>), [data](<https://devfeed.tech/topics/data.md>)

Tags: [algorithm](<https://devfeed.tech/tags/algorithm.md>), [counter](<https://devfeed.tech/tags/counter.md>), [data-mining](<https://devfeed.tech/tags/data-mining.md>), [frequency-moments](<https://devfeed.tech/tags/frequency-moments.md>), [mathematics](<https://devfeed.tech/tags/mathematics.md>), [pair](<https://devfeed.tech/tags/pair.md>), [programming](<https://devfeed.tech/tags/programming.md>), [python](<https://devfeed.tech/tags/python.md>), [space](<https://devfeed.tech/tags/space.md>), [stream](<https://devfeed.tech/tags/stream.md>), [streaming-algorithms](<https://devfeed.tech/tags/streaming-algorithms.md>), [streaming-data](<https://devfeed.tech/tags/streaming-data.md>), [sublinear-space](<https://devfeed.tech/tags/sublinear-space.md>)

### AI overview

This article presents a Python algorithm for finding the value that occurs more than half the time in a massive data stream. It explains the pairing-based correctness argument, single-pass operation, O(log(n) + log(m)) space usage, the necessity of the majority guarantee, and a k-counter generalization for detecting frequent items.

### Source excerpt

Problem: Given a massive data stream of $ n$ values in $ \{ 1, 2, \dots, m \}$ and the guarantee that one value occurs more than $ n/2$ times in the stream, determine exactly which value does so. Solution: (in Python) def majority(stream): held = next(stream) counter = 1 for item in stream: if item == held: counter += 1 elif counter == 0: held = item counter = 1 else: counter -= 1 return held Discussion: Let's prove correctness.

## RealityMining, a Case Study in the Woes of Data Processing

DevFeed: [RealityMining, a Case Study in the Woes of Data Processing](<https://devfeed.tech/articles/realitymining-a-case-study-in-the-woes-of-data-processing-40339.md>)

Original publisher: [Read original article](<https://www.jeremykun.com/2014/01/21/realitymining-a-case-study-in-the-woes-of-data-processing/>)

Published: 2014-01-21T22:11:49Z

Content type: tutorial

Language: en

Sources: [Jeremy Kun](<https://devfeed.tech/sources/jeremy-kun.md>)

Topics: [data-processing](<https://devfeed.tech/topics/data-processing.md>), [Python](<https://devfeed.tech/topics/python.md>), [dataset](<https://devfeed.tech/topics/dataset.md>), [SciPy](<https://devfeed.tech/topics/scipy.md>), [MATLAB](<https://devfeed.tech/topics/matlab.md>), [NumPy](<https://devfeed.tech/topics/numpy.md>)

Tags: [array](<https://devfeed.tech/tags/array.md>), [big-data](<https://devfeed.tech/tags/big-data.md>), [data-analysis](<https://devfeed.tech/tags/data-analysis.md>), [data-mining](<https://devfeed.tech/tags/data-mining.md>), [data-processing](<https://devfeed.tech/tags/data-processing.md>), [dataset](<https://devfeed.tech/tags/dataset.md>), [how-to](<https://devfeed.tech/tags/how-to.md>), [library](<https://devfeed.tech/tags/library.md>), [matlab](<https://devfeed.tech/tags/matlab.md>), [python](<https://devfeed.tech/tags/python.md>), [reality-mining](<https://devfeed.tech/tags/reality-mining.md>), [research](<https://devfeed.tech/tags/research.md>), [social-networks](<https://devfeed.tech/tags/social-networks.md>), [tutorial](<https://devfeed.tech/tags/tutorial.md>)

### AI overview

A tutorial and critique of accessing the RealityMining smartphone dataset with Python. It explains the dataset's communication, cell-tower, survey, and friendship data; the access process; the proprietary Matlab file format; and difficulties loading and inspecting the data with SciPy and NumPy.

### Source excerpt

This post is intended to be a tutorial on how to access the RealityMining dataset using Python (because who likes Matlab?), and a rant on how annoying the process was to figure out. RealityMining is a dataset of smart-phone data logs from a group of about one hundred MIT students over the course of a year. The data includes communication and cell tower data, the latter being recorded every time a signal changes from one tower to the next.