What do people actually do when they say they do Data Science?

By Bhanu Kamapantula

On a daily basis, I notice a lot of misconceptions regarding the field of data science. A lot of this is due to the ever evolving mechanics of the field. I will skip the standard definitions (think mathematics, statistics, machine learning, software) of what Data Science means since others have covered it well enough (Links section below) and will touch upon different aspects of data science.

1) Engineering

Engineering involves setting up the infrastructure, tools and products.

a) Infrastructure

Infrastructure refers to setting up of servers and configuring them for your optimal use, setting up version control, access controls. This is not vastly different from the existing technology infrastructure setup at software firms.

b) Tools

Establishing a tools pipeline early-on will ease the product development. The material that continuously assists your team to develop rapidly are what I refer to tools. These include: the design approach (+ supporting software), choice of your text editor, default programming language (+ supporting software), version control, testing practices. Notice that some of this can be automated.

c) Products

The development of products is an evolving process with solutioning. Once the solution is identified (at this stage the solution is very much a prototype — very glitchy) it has to be productionized (used by clients or making it open for public use — minimal glitches).

2) Solutioning

The type of problem, of course, varies from scenario to scenario. The problem of predicting the weather for the next 4 days is different from classifying the type of flowers which is again different from creating a dashboard to consume sales across regions.

Designing a solution involves understanding business requirements, designing the workflow, creating a development pipeline, software testing, and productionizing.

Here by solution, I refer to an output that is consumed by an end user (business clients, general audience). The exact solutioning will vary across projects. A solution that handles, say, 100 MB of data isn’t necessarily valuable for a 5GB data. A solution that handles flat files (CSV) won’t be valid for the ones that fetch data from remote databases. Bring in authentication, authorization, security at the least you will have a lot of variation in solutions.

A machine learning (ML) solution would use a trained model and test using real-time data (think real-time Tweet classification). This solution requires identifying a ML algorithm, creating a feature space (using Twitter data post data gathering, cleaning, analysis), training a ML model which will be used to test real-time data.

Given the variation, not every solution can be a product. If features are abstracted enough to work well for multiple scenarios you have a product.

3) Communication

Much of the communication here, as any other field, occurs as part of internal reports, talks, seminars.

If you are an academic you will share the results as part of a journal or conference or a workshop publication.

If you are in a corporate environment, you will likely share the results with clients in a web view (dashboard) or a slide deck.

If you are an independent investigator (ex: citizen data scientist), you will likely share the analysis via a blog post.

All approaches will involve carefully created visuals to narrate the story and results. It is critical to remember that the audience in each of the cases is different. Trained academics write publications for other trained academics. Corporate workers create results for business clients. Citizen data scientists write analysis for journalists, other investigators.

Image credit: Udacity [e]
In a gist, a variety of skills are useful to be a data scientist: data (gathering, cleaning, analysis, visualization), modeling (machine learning algorithms), statistics (understanding causality, accuracy metrics), software engineering (efficiency, quality assurance). The overlap of these skills in an individual will depend on the team size (individual vs small or medium or large organization). The breadth (software engineering, data processing, ML etc.) of the skills is as important as depth (understanding the mathematics behind ML algorithms or different statistical techniques) — you can only improve it over time.

If you are working on any of the cogs above, you are contributing to the wheel of data science. Don’t let anyone tell you otherwise.

Links:

a) Trey Causey, Getting started in data science

b) University of Wisconsin, What do data scientists do?

c) KDNuggets, What is Data Science, and What Does a Data Scientist Do?

d) Hillary Mason, What is a Data Scientist?

e) Udacity, Data Science Job Skills

Gramener at PyConf Hyd, 2017

Gramener’s CEO S Anand is the Key Note speaker at  2017 on 8th October. Anand will be talking about code re-use in Python in this session titled ‘Don’t Repeat yourself -Adventures in re-use’.

PyConf Hyderabad is the regional gathering for the community that uses and develops the open-source Python Programming Language and is hosted by Hyderabad Python Users Group.

Contributing to Open Maps

Gramener’s Bhanu Kamapantula writes about contributing to OpenStreetMap. 
Improving mapping
With improvements in smartphone technology, in the last decade online mapping drastically improved and is now more accessible. However, majority of the Indians do not speak English which is the primary language of online/offline maps — such as Google mapsHere mapsBing mapsOpenStreetMap. Independent bloggers have already identified the poor state of our regional maps. Given this, can citizens contribute and improve maps? Technology firms like Google, Microsoft have the resources and infrastructure to make content, albeit slowly, available in different languages. However this data is not open. OpenStreetMap makes all data available for public consumption. The rest of the article is about contributing to OpenStreetMap and steers away from discussing the need of open maps to bridge the digital divide (please see the Additional reading below).
Translating information
For the next generation of Internet users, the availability of content in their regional languages will be essential for content adoption. Citizen knowledge can be used to translate information of existing places to regional languages. One can easily contribute to translating the content [Steps documented here by Thejesh, a blogger]. The highlighted regions are an overview of my contributions including translations to Telugu, new places, improvements to existing details.
Adding, modifying places
Simultaneously we can add new places, improve existing places/roadways/community locations/highways etc. Community mapping can generate lot of data which in turn can be useful for local economy, civic governance. As places are discovered by online users, it creates scope for more business and higher engagement.
Using GPS trace, new places can be added. You have complete control on the data you upload. You can make it public or identifiable or choose to delete it later. Below is a GPS trace I created along a Karnataka highway during one of my travels. I recorded 18 waypoints including hospital, bus stops, fuel stations etc.
Shows the GPS trace between two points on a highway
Mobile apps
1) OSMTracker for Android – Google Play Store
You can create GPS trace between any location points and add interest set of points (ATMs, pharmacies, schools, ). For each added point, a timestamp along with the GPS location is recorded. You can upload this back to the OpenStreetMap traces website.
2) OSC – Google Play Store
You can take images of view while you are traveling and improve the mapping at a later point. Multiple images covering an area can be recorded and uploaded to OpenStreetCam. You can view the contributions on your profile (example user profile).
Additional reading
2) State of Indian languages on OpenStreetMap
3) Step-by-step tutorial to contribute to OpenStreetMap translations