65.9K
CodeProject 正在变化。 阅读更多。
Home

零售商如何使用最新的机器学习技术

emptyStarIconemptyStarIconemptyStarIconemptyStarIconemptyStarIcon

0/5 (0投票)

2017年4月12日

CPOL

9分钟阅读

viewsIcon

15908

今天,我们将仔细研究零售商如何利用机器学习技术来最大化他们的业务。为此,我们将讨论应用程序编程接口(API)。如果您有技术背景,您很可能熟悉并正在使用这个重要的

近年来,机器学习和自动化已经普及。技术已经适应了各种领域的需求;甚至超越了人类。仅仅基于生活经验和直觉的决策已不足以发展业务。相反,基于过去数据的决策更有力,更能 indicative 未来趋势。我们人类可以拓展我们的智能,训练机器模仿我们,做我们自己会做的事情。

此外,技术正从基于人类预先定义的一组规则的软件,发展到能够基于数据自行学习这些规则的平台,并且精度和速度远高于人类自身。

在当今快节奏的世界中,即使是最小的企业之间的竞争也很激烈。全球的零售商都无法忽视他们产品和服务方面来自当前或潜在客户的任何见解。曾经,我们需要支付巨额费用来获取这些信息,而且收集方法通常很繁琐。长篇调查、焦点小组和反馈表格是收集客户见解的首选方式。尽管有痛苦和成本,但这些方法存在一个问题——样本量非常小,因此并不总是能代表实际客户群。这些方法也具有侵入性,并且不被客户视为对提供更好产品和服务的承诺。充其量是双输的局面!

随着机器学习的演进,可以利用技术在不让客户知道他们被观察到的情况下捕捉客户情绪。我们现在可以基于这些丰富的客户见解做出重要的业务决策,并持续创新,提供符合客户需求的服务。

今天,我们将仔细研究零售商如何利用机器学习技术来最大化他们的业务。为此,我们将讨论应用程序编程接口(API)。如果您有技术背景,您很可能熟悉并正在使用这个重要的术语。

如果您是 API 的新手,请跟随我们。我们将带您了解基础知识。我们将解释 API、API 的类型以及可用于构建数据科学应用程序的各种 API。最后,我们将讨论零售商如何仅用几行代码就能使用 Twitter* 数据来获得价值的一种简单而强大的方法。

目录

  1. Application Programming Interface
  2. API 类型
  3. API 与库的区别
  4. 热门 API
  5. 用于提取数据的五大 API
  6. 用于执行炫酷任务的五大 API
  7. 使用 Twitter API 进行意见挖掘
  8. 结束注释

1 应用程序编程接口

API 的概念很简单。就像我们人类使用图形用户界面 (GUI) 或命令行界面 (CLI) 与程序交互一样,计算机程序使用应用程序编程接口 (API) 与其他程序进行交互。这种交互发生的语法或语言由 API 的作者定义。

API 提供了一个框架,供最终用户通过简单的步骤将其他用户编写的程序集成到他们自己的程序中,而无需自己重写完整代码。

API 通过允许结构化访问由其他人编写和实现的程序,使程序员的生活更轻松。通常,API 就像一个函数,使用户能够以预定义的格式传入某些输入,并以预定义的格式输出结果,而该结果可供发出 API 调用的人访问。

REST 代表状态传输。它是简单对象访问协议 (SOAP) 和 Web 服务描述语言 (WSDL) 基于 XML 的 API 协议的更轻量级的替代方案。REST 使用客户端-服务器模型,其中服务器是 HTTP 服务器,客户端发送 HTTP 请求(如 GET、POST、PUT 和 DELETE),以及一个 URL 和变量参数,这些参数是 URL 编码的。URL 描述了要操作的对象,服务器以结果代码和有效的 JavaScript* 对象表示法 (JSON) 进行响应。

2 API 类型

2.1 基于 Web 的 API

基于 Web 的 API 在服务器或浏览器端充当接口。大多数现代 Web 应用程序都使用这些 API。它们允许用户通过使用他人编写的 API 将各种功能集成到他们的 Web 应用程序或网站中。

例如,每当您访问一家公司的网站并查找“联系我们”选项卡时,您可能会看到一个带有标记的办公室位置的地图。大多数时候,所有这些功能都是借助 Google Maps* API 实现的,并且只需几行代码即可集成!这就是 API 的强大之处。

Phone

学习以下代码

<!DOCTYPE html>
<html>
  <head>
    <link rel="stylesheet" href="/maps/documentation/javascript/demos/demos.css">
  </head>
  <body>
    <div id="map"></div>
    <script>
      function initMap() {
        var sanjose = {lat: 37.33, lng: -121.88};
        var lasvegas = {lat: 36.16, lng: -115.13};

        var map = new google.maps.Map(document.getElementById('map'), {
          center: sanjose,
          scrollwheel: false,
          zoom: 5
        });

在此示例中,开发人员正在使用 Google API 获取从圣何塞到拉斯维加斯的路线。这个简单的示例表明,开发人员无需学习如何绘制地图、计算距离等,而只是在使用 Google Maps API Directions。开发人员需要输入的只是起点和终点的经纬度。简单来说,此代码的开发人员和 Google API 之间有一个约定——您给我经纬度,我将返回一张带有路线的地图。

Google API

2.2 操作系统 API

为 Windows* 或 Mac* OS 创建应用程序将是一项非常复杂的任务。但得益于操作系统 API,提供了广泛的功能,使得创建 Windows 或 Mac 应用程序更加容易。下图显示了 Linux* API,它由 Linux 内核的系统调用接口组成。

Linux* API Diagram

2.3 数据库 API

今天,几乎所有数据库的请求和响应都使用 API 来处理。无需每次需要更新或检索时都编写完整的查询,可以使用简单的命令来更新数据库或从中检索数据。

请求以这种预定义的格式传递给数据库,数据库服务器以该 API 作者定义的格式提供对请求的响应。这些 API 使得与数据库通信变得相当容易,并确保了标准化和速度。

2.4 硬件 API

硬件 API 在硬件和软件世界之间起着至关重要的连接作用。从检测汽车的低燃油状态到检测巨型喷气式飞机的轮胎压力,API 在各种领域都得到了广泛的应用。

硬件通常会以可以由软件捕获和处理的格式传递它记录的信息。

查看以下使用 Python* OBD 库的代码。Python OBD 是一个用于处理来自汽车车载诊断端口 (OBD-II) 的数据的库。它可以流式传输实时传感器数据并执行诊断(如读取检查引擎代码)。该库设计用于与标准 ELM327 OBD-II 适配器配合使用。

Python Code

3 API 与库的区别

随着本文的进展,您可能会觉得 API 和库是同一件事,但实际上它们并非如此。因此,在此阶段解释它们之间的区别至关重要。

API 仅仅是一个接口,可以建立两个应用程序之间的通信。某些规则和协议管辖这种通信。API 的预期行为由其作者预定义,任何想要使用它的人都必须遵守这些规则和协议。

库则大得多。事实上,库也有一个 API,它代表了库中对外部用户可用于通信或交互的区域。如果输入符合规定,生成的输出将遵循与规定相同的格式。

4 热门 API

现在,让我们看看数据科学领域的一些最热门的 API。我们将把这些 API 分为两类:

  1. 用于提取数据的 API:这些 API 使我们能够访问数据集,我们可以在这些数据集上构建炫酷的数据科学项目。
  2. 用于执行炫酷分析的 API:我们将数据传递给这些 API 以执行非常复杂的操作,并返回该操作的结果。

5 用于提取数据的五大 API

过去那种需要在高层职位上在顶级公司工作才能获取数据的日子已经一去不复返。如今,即使是最有价值的数据集也可以在线免费获取。这都要归功于那些通过创建 API 来简化这些数据集访问的开发人员的辛勤工作。

提取数据的热门第一类 API 列表

  • Facebook* API。
  • Twitter API。
  • YouTube* API。
  • GitHub* API。
  • Instagram* API。

Instagram

6 用于执行炫酷任务的五大 API

执行分析的热门第二类 API 列表

  • IBM Watson* API
  • BigML* API
  • Microsoft Azure* Cognitive Services API
  • Google Cloud* Prediction API
  • Prediction.io* API

Figure 2

图 2. Google Prediction API。

7 使用 Twitter API 进行意见挖掘

现在,我们将带您完成使用 Twitter API 检索数据的意见挖掘的实现。它将使您能够在舒适的椅子上,了解全球各地人们对您想要的任何主题的看法。听起来很有趣,对吧?

让我们开始吧。

library('twitteR')
library('ROAuth')
        #set up twitter authentication
    consumerKey="XXX"
    consumerSecret="XXX"
    accessURL="XXX"
    authURL="XXX"
    reqURL="XXX"
    Cred <- OAuthFactory$new(consumerKey=consumerKey,
                             consumerSecret=consumerSecret,
                             requestURL=reqURL,
                             accessURL=accessURL,
                             authURL=authURL) 

setup_twitter_oauth(consumerKey,consumerSecret,access_token=NULL,access_secret=NULL)

#Select search term      
        searchterm<-"#iphone7"

#Select no. of tweets to invoke
        num<-1500

#Invoke tweets        
        list <- searchTwitter(searchterm, n= num, lang="en", since=NULL, until=NULL, retryOnRateLimit=10) 
        
        library("wordcloud")
        library("tm")
        
        l <- sapply(list, function(x) x$getText())
        
        l <- iconv(l, "latin1", "ASCII//TRANSLIT")
        
        
        l <- iconv(l, to='ASCII//TRANSLIT')
        
       #create corpus
        lc <- Corpus(VectorSource(l))
        
        #clean up 
        
#Convert every word to lower
        lc <- tm_map(lc, content_transformer(tolower))

#Remove punctuation        
        lc <- tm_map(lc, removePunctuation)

#Remove stop words
        lc <- tm_map(lc, function(x)removeWords(x,stopwords()))
        
        library(RColorBrewer)
        pal2 <- brewer.pal(8,"Dark2")

#create word cloud
        wordcloud(lc,min.freq=num/200,max.words=500, random.order=T, colors=pal2)

输出

Twitter

上述代码的输出以词云的形式生成。此词云包含在搜索词的推文中频繁使用的所有术语。请注意,已从推文中删除了停用词。您在词云中看到的每个单词都具有极高的重要性。您可以了解全球各地人们对任何您想了解的主题的看法。

零售商广泛使用这项技术来了解客户的想法。这使他们比竞争对手更具优势,他们可以利用这些见解来发展业务。

8 结束语

API 为程序员提供了极大的便利。他们不必为要在应用程序中实现的所有功能编写代码,而是可以简单地使用他人编写的 API 来为他们完成。

许多社交媒体巨头正在公开他们的数据。这开启了一个非常令人兴奋的维度,可以提供深刻的商业见解和市场趋势。它尤其为自然语言处理 (NLP) 领域提供了机会,在该领域,零售商可以更先进地了解客户的意见和情绪。

图片和研究参考资料

https://developers.google.com/maps/

https://en.wikipedia.org/wiki/Linux_kernel_interfaces#Linux_API

http://python-obd.readthedocs.io/en/latest/#welcome

https://r-project.cn/about.html

http://www.programmableweb.com/news/apps-get-smarter-google-prediction-api/2010/09/22

http://triangles.net/instagram-api-and-what-it-means-for-brands/

© . All rights reserved.