精华内容
下载资源
问答
  • 信息可视化与可视分析For this post, I want to describe a text analytics and visualization technique using a basic keyword extraction mechanism using nothing but a word counter to find the top 3 ...

    信息可视化与可视分析

    For this post, I want to describe a text analytics and visualization technique using a basic keyword extraction mechanism using nothing but a word counter to find the top 3 keywords from a corpus of articles that I’ve created from my blog at http://ericbrown.com.  To create this corpus, I downloaded all of my blog posts (~1400 of them) and grabbed the text of each post. Then, I tokenize the post using nltk and various stemming / lemmatization techniques, count the keywords and take the top 3 keywords.  I then aggregate all keywords from all posts to create a visualization using Gephi.

    对于这篇文章,我想描述一种文本分析和可视化技术,它使用一种基本的关键字提取机制,仅使用一个单词计数器来从我在http://博客中创建的一组文章中查找前3个关键字。 ericbrown.com。 为了创建这个语料库,我下载了所有博客文章(其中约1400个),并获取了每个文章的文本。 然后,我使用nltk和各种词干/词形化技术对帖子进行标记化,计算关键字并选择前3个关键字。 然后,我汇总所有帖子中的所有关键字,以使用Gephi创建可视化效果

    I’ve uploaded a jupyter notebook with the full code-set for you to replicate this work. You can also get a subset of my blog articles in a csv file here.   You’ll need beautifulsoup and nltk installed. You can install them with:

    我已经上传了具有完整代码集jupyter笔记本,以供您复制此工作 您还可以在此处的csv文件中获取我的博客文章的子集。 您将需要安装beautifulsoup和nltk。 您可以使用以下方法安装它们:

    pip install bs4 nltk
    

    To get started, let’s load our libraries:

    首先,让我们加载我们的库:

    import pandas as pd
    import numpy as np
    
    from nltk.tokenize import word_tokenize, sent_tokenize
    from nltk.corpus import stopwords
    from nltk.stem import WordNetLemmatizer, PorterStemmer
    from string import punctuation
    from collections import Counter
    
    from collections import OrderedDict
    import re
    import warnings
    warnings.filterwarnings("ignore", category=DeprecationWarning)
    
    from HTMLParser import HTMLParser
    from bs4 import BeautifulSoup
    

    I’m loading warnings here because there’s a warning about BeautifulSoup that we can ignore.

    我在这里加载警告,因为有关于 BeautifulSoup 我们可以忽略。

    Now, let’s set up some things we’ll need for this work.

    现在,让我们为这项工作设置一些我们需要的东西。

    First, let’s set up our stop words, stemmers and lemmatizers.

    首先,让我们设置停用词,词干提取器和词义提取器。

    porter = PorterStemmer()
    wnl = WordNetLemmatizer() 
    stop = stopwords.words('english')
    stop.append("new")
    stop.append("like")
    stop.append("u")
    stop.append("it'")
    stop.append("'s")
    stop.append("n't")
    stop.append('mr.')
    stop = set(stop)
    

    Now, let’s set up some functions we’ll need.

    现在,让我们设置一些我们需要的功能。

    The tokenizer function is taken from here.  If you want to see some cool topic modeling, jump over and read How to mine newsfeed data and extract interactive insights in Python…its a really good article that gets into topic modeling and clustering…which is something I’ll hit on here as well in a future post.

    标记器功能取自此处 如果您想看一些很酷的主题建模,请跳过并阅读如何在Python中挖掘新闻提要数据并提取交互式见解 ……这是一篇非常不错的文章,它涉及主题建模和集群化……这也是我在这里要谈到的内容。在以后的帖子中。

    # From http://ahmedbesbes.com/how-to-mine-newsfeed-data-and-extract-interactive-insights-in-python.html
    
    def tokenizer(text):
    
        tokens_ = [word_tokenize(sent) for sent in sent_tokenize(text)]
    
        tokens = []
        for token_by_sent in tokens_:
            tokens += token_by_sent
    
        tokens = list(filter(lambda t: t.lower() not in stop, tokens))
        tokens = list(filter(lambda t: t not in punctuation, tokens))
        tokens = list(filter(lambda t: t not in [u"'s", u"n't", u"...", u"''", u'``', u'u2014', u'u2026', u'u2013'], tokens))
         
        filtered_tokens = []
        for token in tokens:
            token = wnl.lemmatize(token)
            if re.search('[a-zA-Z]', token):
                filtered_tokens.append(token)
    
        filtered_tokens = list(map(lambda token: token.lower(), filtered_tokens))
    
        return filtered_tokens
    

    Next, I had some html in my articles, so i wanted to strip it from my text before doing anything else with it…here’s a class to do that using bs4.  I found this code on Stackoverflow.

    接下来,我在文章中添加了一些html,因此在进行其他操作之前,我想将其从文本中剥离出来……这是一个使用bs4进行此操作的类。 我在Stackoverflow上找到了这段代码。

    class MLStripper(HTMLParser):
        def __init__(self):
            self.reset()
            self.fed = []
        def handle_data(self, d):
            self.fed.append(d)
        def get_data(self):
            return ''.join(self.fed)
    
    def strip_tags(html):
        s = MLStripper()
        s.feed(html)
        return s.get_data()
    

    OK – now to the fun stuff. To get our keywords, we need only 2 lines of code. This function does a count and returns said count of keywords for us.

    好-现在到有趣的东西。 要获取关键字,我们只需要两行代码。 此函数进行计数并为我们返回关键字的所述计数。

    def get_keywords(tokens, num):
        return Counter(tokens).most_common(num)
    

    Finally,  I created a function to take a pandas dataframe filled with urls/pubdate/author/text and then create my keywords from that.  This function  iterates over a pandas dataframe (each row is an article from my blog), tokenizes the ‘text’ from  and returns a pandas dataframe with keywords, the title of the article and the publication data of the article.

    最后,我创建了一个函数来获取填充了urls / pubdate / author / text的pandas数据框,然后从中创建关键字。 此函数遍历pandas数据框(每一行是我博客中的文章),标记化来自的“文本”,并返回带有关键字,文章标题和文章的发布数据的pandas数据框。

    def build_article_df(urls):
        articles = []
        for index, row in urls.iterrows():
            try:
                data=row['text'].strip().replace("'", "")
                data = strip_tags(data)
                soup = BeautifulSoup(data)
                data = soup.get_text()
                data = data.encode('ascii', 'ignore').decode('ascii')
                document = tokenizer(data)
                top_5 = get_keywords(document, 5)
              
                unzipped = zip(*top_5)
                kw= list(unzipped[0])
                kw=",".join(str(x) for x in kw)
                articles.append((kw, row['title'], row['pubdate']))
            except Exception as e:
                print e
                #print data
                #break
                pass
            #break
        article_df = pd.DataFrame(articles, columns=['keywords', 'title', 'pubdate'])
        return article_df
    

    Time to load the data and start analyzing. This bit of code loads in my blog articles (found here) and then grabs only the interesting columns from the data, renames them and prepares them for tokenization. Most of this can be done in one line when reading in the csv file, but I already had this written for another project and just it as is.

    是时候加载数据并开始分析了。 这些代码加载到我的博客文章中(在此处找到),然后仅从数据中获取有趣的列,对其进行重命名并为进行标记化做准备。 读取csv文件时,大多数操作都可以在一行中完成,但是我已经将它写在了另一个项目中,并保持原样。

    df = pd.read_csv('../examples/tocsv.csv')
    data = []
    for index, row in df.iterrows():
        data.append((row['Title'], row['Permalink'], row['Date'], row['Content']))
    data_df = pd.DataFrame(data, columns=['title' ,'url', 'pubdate', 'text' ])
    

    Taking the tail() of the dataframe gets us:

    tail() 的数据帧使我们:

    tail of article dataframe

    Now, we can tokenize and do our word-count by calling our build_article_df function.

    现在,我们可以通过调用 build_article_df 功能。

    article_df = build_article_df(data_df)
    

    This gives us a new dataframe with the top 3 keywords for each article (along with the pubdate and title of the article).

    这为我们提供了一个新的数据框,其中包含每篇文章的前3个关键字(以及文章的发布日期和标题)。

    top 3 keywords per article

     

     

     

     

     

    This is quite cool by itself. We’ve generated keywords for each article automatically using a simple counter. Not terribly sophisticated but it works and works well. There are many other ways to do this, but for now we’ll stick with this one. Beyond just having the keywords, it might be interesting to see how these keywords are ‘connected’ with each other and with other keywords. For example, how many times does ‘data’ shows up in other articles?

    它本身就很酷。 我们已经使用一个简单的计数器自动为每篇文章生成了关键字。 虽然不是很复杂,但是它可以正常工作。 还有许多其他方法可以执行此操作,但现在我们将继续使用此方法。 除了拥有关键字之外,看看这些关键字如何彼此“相互连接”以及与其他关键字“连接”起来可能很有趣。 例如,“数据”在其他文章中出现了多少次?

    There are multiple ways to answer this question, but one way is by visualizing the keywords in a topology / network map to see the connections between keywords. we need to do a ‘count’ of our keywords and then build a co-occurrence matrix. This matrix is what we can then import into Gephi to visualize. We could draw the network map using networkx, but it tends to be tough to get something useful from that without a lot of work…using Gephi is much more user friendly.

    有多种方法可以回答这个问题,但是一种方法是通过可视化拓扑/网络图中的关键字来查看关键字之间的连接。 我们需要对关键字进行“计数”,然后建立一个共现矩阵。 然后可以将这个矩阵导入Gephi进行可视化。 我们可以使用networkx来绘制网络图,但是如果不付出大量工作就很难从中获得有用的信息……使用Gephi更加用户友好。

    We have our keywords and need a co-occurance matrix. To get there, we need to take a few steps to get our keywords broken out individually.

    我们有关键字,并且需要一个共现矩阵。 要到达那里,我们需要采取一些步骤来分别分解关键字。

    keywords_array=[]
    for index, row in article_df.iterrows():
        keywords=row['keywords'].split(',')
        for kw in keywords:
            keywords_array.append((kw.strip(' '), row['keywords']))
    kw_df = pd.DataFrame(keywords_array).rename(columns={0:'keyword', 1:'keywords'})
    

    We now have a keyword dataframe kw_df that holds two columns: keyword and keywords with keyword

    现在,我们有了一个关键字数据框 kw_df 包含两列:关键字和带有的关键字 keyword

    keyword dataframe

     

     

     

     

     

    This doesn’t really make a lot of sense yet, but we need both columns to build a co-occurance matrix. We do by iterative over each document keyword list (the keywords column) and seeing if the keyword is included. If so, we added to our occurance matrix and then build our co-occurance matrix.

    这实际上并没有多大意义,但是我们需要两列来建立共存矩阵。 我们通过迭代每个文档关键字列表( keywords 列),然后查看 keyword 已经包括了。 如果是这样,我们将其添加到发生矩阵中,然后构建我们的共现矩阵。

    document = kw_df.keywords.tolist()
    names = kw_df.keyword.tolist()
    
    document_array = []
    for item in document:
        items = item.split(',')
        document_array.append((items))
    
    occurrences = OrderedDict((name, OrderedDict((name, 0) for name in names)) for name in names)
    
    # Find the co-occurrences:
    for l in document_array:
        for i in range(len(l)):
            for item in l[:i] + l[i + 1:]:
                occurrences[l[i]][item] += 1
    
    co_occur = pd.DataFrame.from_dict(occurrences )
    

    Now, we have a co-occurance matrix in the co_occur dataframe, which can be imported into Gephi to view a map of nodes and edges. Save the co_occur dataframe as a CSV file for use in Gephi (you can download a copy of the matrix here).

    现在,我们在 co_occur 数据框,可以将其导入Gephi以查看节点和边缘的地图。 保存 co_occur 数据框作为供Gephi使用的CSV文件(您可以在此处下载矩阵的副本)。

    co_occur.to_csv('out/ericbrown_co-occurancy_matrix.csv')
    
    

    到Gephi (Over to Gephi)

    Now, its time to play around in Gephi. I’m a novice in the tool so can’t really give you much in the way of a tutorial, but I can tell you the steps you need to take to build a network map. First, import your co-occuance matrix csv file using File -> Import Spreadsheet and just leave everything at the default.  Then, in the ‘overview’ tab, you should see a bunch of nodes and connections like the image below.

    现在,该在Gephi玩游戏了。 我是该工具的新手,因此实际上并不能给您太多指导,但是我可以告诉您构建网络映射所需的步骤。 首先,使用文件->导入电子表格导入同频矩阵csv文件,并将所有内容保留为默认值。 然后,在“概述”选项卡中,您应该看到一堆节点和连接,如下图所示。

    network map of a subset of ericbrown.com articles
    Network map of a subset of ericbrown.com articles
    ericbrown.com文章子集的网络图

    Next, move down to the ‘layout’ section and select the Fruchterman Reingold layout and push ‘run’ to get the map to redraw. At some point, you’ll need to press ‘stop’ after the nodes settle down on the screen. You should see something like the below.

    接下来,移至“版式”部分,选择Fruchterman Reingold版式,然后按“运行”以重绘地图。 在某些时候,您需要在节点在屏幕上停下来后按“停止”。 您应该看到类似下面的内容。

    redrawn nodes and edges
    Network map of a subset of ericbrown.com articles
    ericbrown.com文章子集的网络图

     

    Cool, huh? Now…let’s get some color into this graph.  In the ‘appearance’ section, select ‘nodes’ and then ‘ranking’. Select “Degree’ and hit ‘apply’.  You should see the network graph change and now have some color associated with it.  You can play around with the colors if you want but the default color scheme should look something like the following:

    酷吧? 现在...让我们在此图中添加一些颜色。 在“外观”部分中,选择“节点”,然后选择“排名”。 选择“同意”并点击“应用”。 您应该看到网络图发生了变化,并且现在有了一些关联的颜色。 如果需要,可以尝试使用颜色,但是默认的配色方案应类似于以下内容:

    colored Network map of a subset of ericbrown.com articles

    Still not quite interesting though. Where’s the text/keywords?  Well…you need to swtich over to the ‘overview’ tab to see that. You should see something like the following (after selecting ‘Default Curved’ in the drop-down.

    仍然不是很有趣。 文字/关键字在哪里? 好吧……您需要转到“概述”标签才能看到它。 您应该看到类似以下的内容(在下拉菜单中选择“默认弯曲”后)。

    colored Network map of a subset of ericbrown.com articles

    Now that’s pretty cool. You can see two very distinct areas of interest here. “Data’ and “Canon”…which makes sense since I write a lot about data and share a lot of my photography (taken with a Canon camera).

    现在,这很酷。 您可以在此处看到两个非常不同的兴趣领域。 “数据”和“佳能”……之所以有意义,是因为我写了很多数据,并分享了很多我的摄影作品(用佳能相机拍摄)。

    Here’s a full map of all 1400 of my articles if you are interested.  Again, there are two main clusters around photography and data but there’s also another large cluster around ‘business’, ‘people’ and ‘cio’, which fits with what most of my writing has been about over the years.

    如果您有兴趣,这是我所有1400篇文章的完整地图。 同样,围绕摄影和数据有两个主要的集群,但是围绕“商业”,“人”和“ cio”的还有另一个大集群,这与我多年来的大部分写作相吻合。

    Full map of ericbrown.com keyword matrix

    There are a number of other ways to visualize text analytics.  I’m planning a few additional posts to talk about some of the more interesting approaches that I’ve used and run across recently. Stay tuned.

    还有许多其他方式可以可视化文本分析。 我正在计划其他几篇文章,以讨论我最近使用和遇到的一些更有趣的方法。 敬请关注。



    If you want to learn more about Text analytics, check out these books:

    如果您想了解有关文本分析的更多信息,请查看以下书籍:

    Text Analytics with Python: A Practical Real-World Approach to Gaining Actionable Insights from your Data 

    使用Python进行文本分析:一种实用的实际方法,可从您的数据中获得可行的见解

    Natural Language Processing with Python: Analyzing Text with the Natural Language Toolkit

    使用Python进行自然语言处理:使用自然语言工具包分析文本

    Text Mining with R

    用R进行文本挖掘



     

    Eric D. Brown , D.Sc. has a doctorate in Information Systems with a specialization in Data Sciences, Decision Support and Knowledge Management. He writes about utilizing python for data analytics at pythondata.com and the crossroads of technology and strategy at ericbrown.com
    埃里克·布朗(Eric D.Brown) 拥有信息系统博士学位,专门研究数据科学,决策支持和知识管理。 他写了关于利用数据分析Python在pythondata.com技术和战略的十字路口在ericbrown.com

    翻译自: https://www.pybloggers.com/2017/10/text-analytics-and-visualization/

    信息可视化与可视分析

    展开全文
  • 第5章 数据分析可视化报表主要通过各种可视化效果向用户展示基于数据的见解在报表中可插入图像形状按钮和文本框等类型的简单对象也可插入表现数据见解的柱形图折线图饼图等内置视觉对象本章主要内容简单对象内置视觉...
  • RVA 储层可视化与分析
  • 数据分析与可视化
  • 可视化就是把数据、信息和知识转化为...本文在给出可视化定义基础上,简要介绍了国际近年出现的可视化分析学情况,讨论了可视化在数 据挖掘、复杂网络等领域的应用。最后指出了可视化研究存在的问题和重要发展方向。
  • 疫情数据分析与可视化

    千次阅读 多人点赞 2021-01-07 14:24:56
    疫情数据分析与可视化python实现数据分析与可视化前言一、什么是Python爬虫?二、Python爬虫相关知识1.相关书籍资料推荐(建议谷歌打开)2.数据获取3.知识点三、数据分析与可视化1.安装2.CSV表格操作3.可视化总结 ...

    python实现数据分析与可视化

    前言

    本文通过运用所学可视化知识,对现有的疫情数据进行简单分析,同时介绍爬虫相关知识


    一、什么是Python爬虫?

    Python爬虫即使用 Python程序开发的网络爬虫(网页蜘蛛,网络机器人),是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本。

    二、Python爬虫相关知识

    1.相关书籍资料推荐(建议谷歌打开)

    https://python3webspider.cuiqingcai.com/

    2.数据获取

    数据集的获取是我们进行数据分析的第一步。现在获取数据的主要途径一般为:现成数据;自己写爬虫去爬取数据;使用现有的爬虫工具爬取所需内容,保存到数据库,或以文件的形式保存到本地。

    博主用的是现有的数据进行数据分析。

    3.知识点

    request:
    它是最基本的 HTTP 请求模块,可以用来模拟发送请求。就像在浏览器里输入网址然后回车一样,只需要给库方法传入 URL 以及额外的参数,就可以模拟实现这个过程了。

    正则表达式:
    贪婪匹配是尽可能匹配多的字符,非贪婪匹配就是尽可能匹配少的字符。在做匹配的时候,字符串中间尽量使用非贪婪匹配,也就是用 .? 来代替 ,以免出现匹配结果缺失的情况。但如果匹配的结果在字符串结尾,.*? 就有可能匹配不到任何内容了。

    空值处理:

    s.dropna(how='all')		#删除所有列值为空的行
    s.dropna(axis=1)		#列有空值,删除
    s.dropna(axis=1,how='all')		#列全为空值,删除,1为列 0为行
    dropna() 		#删除有空值的所有行列
    s.fillna(0,inplace=True)
    
    

    三、数据分析与可视化

    1.安装

    博主在jupyter notebook上通过pyecharts实现数据分析与可视化。现仅以jupyter和pyecharts为例示范。

    jupyter安装(在命令提示符下输入):

    pip install jupyter
    

    pyecharts安装(在命令提示符下输入):

    pip install pyecharts
    

    可能遇到的问题及解决方案(管理员身份运行命令提示符):

    WARNING: You are using pip version 20.3.1; however, version 20.3.3 is available. You should consider
    
    python -m pip install --upgrade pip -i https://pypi.douban.com/simple
    

    2.CSV表格操作

    表格读取:

    data=pd.read_csv(r'C:\Users\XX\Desktop\2019_nCoV_data.csv',encoding='utf-8')
    

    表格列删除:

    data.drop(["Date","Province/State"],axis=1)  #删除Date,Province/State列
    

    排列:

    d1=data.sort_values(by=["Date","Confirmed"],ascending=False)[:10]#排列
    d1
    

    3.可视化

    选出表格最后日期(2020.04.02),确诊人数最多的十个省制成饼图:

    from pyecharts import options as opts
    from pyecharts.charts import Bar,Line,Pie
    pie=(Pie().add("",[list(i) for i in zip(d1['Province/State'].values.tolist(),d1['Confirmed'].values.tolist())]))
    pie.render_notebook()
    

    在这里插入图片描述
    分析:据图得湖北确诊人数最多,较为直观的显示出病毒爆发地


    选出表格最后日期(2020.04.02)以及确诊人数最多的十个省,对比治愈与死亡人数:

    line=(Line()
          .add_xaxis(list(d1['Province/State'].values))
          .add_yaxis("治愈",d1['Recovered'].values.tolist())
          .add_yaxis("死亡",d1['Deaths'].values.tolist())
          .set_global_opts(
              title_opts=opts.TitleOpts(title="治愈与死亡"),
              legend_opts=opts.LegendOpts(pos_top="30%",pos_right="70%"),
          )
         )
    line.render_notebook()
    

    在这里插入图片描述

    分析:据图得治愈人数接近于死亡人数,病毒未完全控制


    选出表格前六个地区,对比治愈与死亡人数:

    bar=(Bar()
          .add_xaxis(list(d1['Province/State'].values)[:6])
          .add_yaxis("治愈",d1['Recovered'].values.tolist()[:6])
          .add_yaxis("死亡",d1['Deaths'].values.tolist()[:6])
          .set_global_opts(
              title_opts=opts.TitleOpts(title="各地区治愈与死亡人数"),
              datazoom_opts=[opts.DataZoomOpts()],
          )
         )
    bar.render_notebook()
    

    在这里插入图片描述
    分析:据图得治愈人数高于死亡人数,但是情形不容乐观。

    总结

    以上就是所有的内容,本文仅仅简单介绍了爬虫及数据分析可视化,欢迎大家批评指正。

    展开全文
  • 数据分析、数据挖掘数据可视化是一个古老的话题,并非什么新生事物。近些年来,借助于计算机软硬件的飞速发展,数据分析、挖掘、可视化相关理论和技术在各领域的应用更是有了质的飞跃。饭店选址、公交路线站牌...

    数据分析、数据挖掘与数据可视化是一个古老的话题,并非什么新生事物。近些年来,借助于计算机软硬件的飞速发展,数据分析、挖掘、可视化相关理论和技术在各领域的应用更是有了质的飞跃。饭店选址、公交路线与站牌规划、物流规划、春运加班车次安排、原材料选购、商场进货与货架位置摆放、查找隐性贫困生、房价预测、股票预测、寻找黑客攻击向量、犯罪人员社交关系挖掘、网络布线、潜在客户挖掘、个人还贷能力预测、异常交易分析、网络流量预测、成本控制与优化、客户关系分析、商品推荐、文本分类、笔迹识别与分析、智能交通、智能医疗,这些都要借助于数据分析与挖掘相关的理论和工具才能更好更快地完成,而可视化则一直是用来辅助数据分析、挖掘进而做出正确决策的有力工具与技术。

    数据分析、数据挖掘与数据可视化是一门综合性非常强的学科领域,既要掌握线性代数、统计学、人工智能、机器学习等大量理论知识,又要熟悉编程语言或相关软件的使用。

    在众多编程语言中,Python应该是最适合做数据分析、数据挖掘和数据可视化的,其简洁的语法、强大的功能、丰富的扩展库以及开源免费、易学易用的低门槛特点,使得Python成为多个领域不可替代的语言。

    课程主要内容和目标:

    1)掌握数据分析、挖掘、可视化时需要了解的Python基础知识;2)掌握扩展库numpy数组运算与矩阵运算;3)掌握扩展库pandas在数据分析与处理相关领域的相关技术;4)掌握扩展库sklearn机器学习常用模型的实现与应用;5)掌握扩展库matplotlib在数据可视化与科学计算可视化方面的应用。

    展开全文
  • 可视化与可视分析项目设计

    千次阅读 2015-07-19 11:20:58
    1.. Revoler:: Visual Analysis Relation Evolution in Temporal Data(基于时序数据时序关系演化的可视分析) ...本研究则通过可视化与可视分析的方式,从宏观与细节的角度对该类时序关系的演化进

    1.. Revoler:: Visual Analysis Relation Evolution in Temporal Data(基于时序数据时序关系演化的可视分析)

    • 图1  Revoler  超市购物数据-“零食”
         生活和科学研究中常存在各种的时序数据,其中蕴含了时序关系且这样的关系往往发生演变。本研究则通过可视化与可视分析的方式,从宏观与细节的角度对该类时序关系的演化进行分析,从中发现了很多有意思的时序演化规律与演化异常,甚至能从中探索出相关实体的特性。
         Case1: 针对超市购物篮数据基础分析结果在此不在多做赘述(如每天整体销量情况及变化、各商品整体销量分布),本研究重点在于分析不同商品间的共同购买关系及商品特性。举例来说,在所分析的数据中,零食”与“饼干”、“饮料”、“糖果”有强购买关系,所分析阶段每一天都有共同购买出现,但与某商品的关系并非一直保持不变,如在图1A、B所示“零食”在当天分别与饼干与饮料产生最强关联。

       图2 Revoler  超市购物数据-“调味品”
         
         看看“调味品”的特点(图2),调味品除了大众常能想到的“粮油”、“纸制品”产生关联外,还与“零食”产生关联(由此可以引发思考,这是由于两个商品确实有本质上的关联呢?还是因为“零食”太过热门?)。具体看关系演化能够看出,”调味品“与其他几类商品的关系不固定,如在C 所示的当天就无共同购买发生,其他时间内”调味品“与其他商品的关系也不够明显与稳定。

         对比分析“零食”与“调味品”,又有新东西发现了两种商品呈现出截然不同的特点,“零食”显得更加热门与百搭,与其他几类商品发生的关联关系更为稳定与明显;而“调味品”显得很有“个性”, 仅与极少的商品产生关联且关系很不明显。
         由此,对管理者也带来了很多实际的指导与建议:哪些商品适合摆放在一起?哪些商品很热门、适于放在人流量大的地方?从Revoler能够帮你分析这些问题。
         (注:鉴于篇幅与解释复杂度,对下方的河流状、用于展示细节关系演化的图不再多做赘述,若想了解更多欢迎留言讨论。)
         相关视频链接:http://v.youku.com/v_show/id_XMTI4NzgyNDIwMA==.html 
         相关论文:Revoler: Visual  Analysis Relation Evolution in Temporal Data (EI论文,已接收,拟发表日期2015年9月)

         Case 2: 针对IEEE VIS(可视化领域第一大国际会议)近十年的论文发表数据,分析合作者关系演化。
         与Case1 不同在于,Case1中的商品并购关系认定为单种关系,而合作者关系这里细化为三类:领导(第一作者对其他作者)、平等(非第一作者对其他非第一作者),跟随(非第一作者对第一作者),在可视分析中用不同的颜色对关系进行编码(领导-橙色,平等-绿色,跟随-紫色)。多类别关系的分析得到的知识和发现更加有趣,同样我们举两个例子说明:

       图3  Revoler  合作者关系-“INRIA”
      
           INRIA(图3)—该会议上发表论文最多的机构,早年(M处)INRIA仅与极少的机构产生合作,在A处出现了第一次“领导”关系,即以第一作者身份发表文章,此后出现了更多的合作,同时也有了更多“平等”或“领导”方式的合作。

       图4  Revoler  合作者关系-“HKUST”

          HKUST(图4)—同样,早年的时候(D)HKUST多与IBM, Indiana Uni进行合作,随后合作者发生转移,尤其在2011、2012两年(E),与MSRA有了更多的合作且合作变强。在这里不得不引发思考,为什么会发生这样的转移呢由此带着问题对数据做进一步分析,从中发现2011年左右有学生从HKUST毕业后到MSRA从事科研,由此可以推测可能由于科研工作者的转移而带来了合作关系的转移。
          对比INRIA, HKUST, 又有一个显而易见的新发现:INRIA的关系中多以绿色(平等)、紫色(跟随)为主,而HKUST的关系演化中出现了更多的橙色(领导),是否这也可以推测HKUST在该领域更有潜力呢?(确实其在可视化领域当属亚洲前沿)这值得思考与深入分析。

    展开全文
  • 数据可视化 6
  • 《Python数据分析与可视化》共12章的完整课件、例题代码和所有实验数据
  • 地图可视化: 业务做下沉市场的公司使用全面上色的地图可视化方案,用户报告或者行业报告也可以使用 想重点去看一线城市的情况,但碍于面积小,无法很好地展示效果,可以使用下面的方法: 做上面这个功能的时候,...
  • 路由表分析与可视化路由表分析与可视化路由表分析与可视化路由表分析与可视化路由表分析与可视化路由表分析与可视化路由表分析与可视化路由表分析与可视化路由表分析与可视化
  • 1.2 数据可视化1.3 数据分析与可视化常用工具1.4 Python数据分析与可视化常用类库 1.1 数据分析 1.1.1 数据、信息与数据分析 数据: 数据是指对客观事件进行记录并可以鉴别的符号,是对客观事物的性质、...
  • 科学计算中大数据可视化分析与应用
  • 可视化日志分析系统的研究实现 可视化日志分析系统的研究实现 可视化日志分析系统的研究实现 可视化日志分析系统的研究实现
  • matlab开发-多维分布可视化与分析。利用交互式分析工具的多维分布平面投影矩阵。
  • 疫情可视化与舆情分析

    千次阅读 2020-08-21 16:48:23
    主要分为数据爬取,数据存储,数据分析可视化四部分 数据爬取:根据作业要求,用python在各大网站爬取数据 数据存储:将爬取到的数据存储在MySQL里 数据分析:对微博疫情评论数据进行情感分析 数据可视化:用...
  • (1)没有高深理论,每章都以实例为主,读者参考书中源码运行,就能得到与书中一样的结果。...《Python数据分析与可视化从入门到精通》以“零基础”为起点,系统地介绍了Python在数据处理与可视化分析方面...
  • PAGE II PAGE XIII PAGE I 科学数据可视化操作算法设计分析 摘要 随着科学数据可视化技术在各领域内的广泛应用出现了相当数量的科学数据可视库供开发者进行二次开发例如OpenGLIDLPGL等这些库提供了强大的图形生成...
  • 运动数据分析与可视化 该存储库包含与运动数据分析和可视化相关的脚本 许可证:Attribution-NonCommercial-ShareAlike 4.0 International(CC BY-NC-SA 4.0)
  • IDL可视化分析与应用

    2015-07-15 17:26:07
    IDL 可视化分析与应用,韩培友著,IDL编程学习的经典教材,IDL已经广泛应用在科学计算、信息处理、空间科学、气象、资源环境、数字图像处理、天文等领域。
  • 数据分析与可视化(一)1.1 数据分析1.1.1数据、信息与数据分析 1.1 数据分析 1.1.1数据、信息与数据分析 数据: 数据是指对客观事件进行记录并可以鉴别的符号,是对客观事物的性质、状态以及相互关系等进行记载的...
  • 需求分析可视化的设计实现
  • 大数据可视化分析平台架构分析总体解决方案
  • (2)专注于Python数据分析与可视化操作中实际用到的技术。相比大而全的书籍资料,本书能让读者尽快上手,开始项目开发。(3)书中的"新手问答”和"小试牛刀”栏目能让读者巩固知识,举一反三,学以致用。...
  • 星巴克门店数据分析与可视化.ipynb
  • 聚类分析与可视化

    千次阅读 2019-04-01 10:17:42
    聚类分析与可视化 ——《The Wiley Handbook of Human Computer Interaction》学习心得 小组成员:吴** / 周** / 蒋** 概述 最近,在交互媒体专题设计这门课的课程安排下,我们小组对《The Wiley Handbook of Human ...
  • 哔哩哔哩排行榜数据分析与可视化,整体是 flask + pyecharts +flexible自适应布局 + request爬虫
  • 地图投影方法 等角度:投影面上任何点上两个微分线段组成的角度投影前后保持不变,如:墨卡托投影。 等面积:地图上任何图形面积经主比例尺放大以后实地上...通过地理空间中离散的点进行可视化是最基本的一种方法...
  • 可视化与多维数据分析

    千次阅读 2017-02-03 18:57:03
    可视化数据是把 数据转换成视觉或表格的形式,以便可以分析数据和数据项或属性之间的关系特性。 可视化基本步骤: 1.表示 2.安排 3.选择 可视化技术:1.直方图、多维直方图 2.盒状图(通常显示数据内部的变化) ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 13,256
精华内容 5,302
关键字:

可视化与可视化分析