网站建设常用的方法,在线代理浏览网站,建好网站后最怎么维护,商丘app开发第1章 如何听起来像数据科学家 文章目录 第1章 如何听起来像数据科学家1.1.1 基本的专业术语1.1.3 案例#xff1a;西格玛公司1.2.3 为什么是Python1.4.2 案例#xff1a;市场营销费用1.4.3 案例#xff1a;数据科学家的岗位描述 我们拥有如此多的数据#xff0c;而且正在生…第1章 如何听起来像数据科学家 文章目录 第1章 如何听起来像数据科学家1.1.1 基本的专业术语1.1.3 案例西格玛公司1.2.3 为什么是Python1.4.2 案例市场营销费用1.4.3 案例数据科学家的岗位描述 我们拥有如此多的数据而且正在生产更多数据我们甚至创造了很多疯狂的小机器24×7不间断的收集数据在21世纪我们面对的真正问题是如何搞懂这些数据。 数据就在那里总有一些对我们有价值的肯定有
我们要从数据中探寻洞察和知识。
1.1.1 基本的专业术语
当使用**数据(data)这个词时我们指的是以有组织(organized)和无组织(unorganized)**格式聚集在一起的信息。
有组织数据(organized data)指以行列结构分类存储的数据每一行代表一个观测对象(observation)每一列代表一个观测特征(characteristic)。无组织数据(unorganized data)指以自由格式存储的数据通常指文本、原始音频/信号和图片等。这类数据必须进行解析才能成为有组织的数据。
数据科学是关于如何处理数据、获取知识并用知识完成以下任务的过程
决策预测未来理解过去或现在创造新产业或新产品
1.1.3 案例西格玛公司
今天许多严重依靠直觉的CEO希望快速做出决定并尝试所有的方案直到找到答案。
数据科学家Hughan博士则具有分析能力她的策略是从用户产生的数据中寻找答案而不是依靠直觉。数据科学正是利用这样的分析能力帮助“司机”做决定。
1.2.3 为什么是Python
案例分析一条推文
在本例中我们将分析一些含有股票价格信息的推文。
tweetRT robdv: $TWTR now top holding for Andor,unseating $AAPL
words_in_tweettweet.split( )
for word in words_in_tweet:if $ in word:print(THIS IS ABOUT,word)下面解释一下上面的代码片段
1用变量tweet存储推文信息Python中的string类型:RT robdv: $TWTR now top holding for Andor,unseating $AAPL
2word_in_tweet变量用于对原始推文进行切分将文字隔开该变量的内容如下
[RT, robdv:, $TWTR, now, top, holding, for, Andor,unseating, $AAPL]3用for循环对切分开的列表进行迭代逐个查看列表中的内容
4用if语句判断推文中的每一个词是否包含$符号人们在推文中使用$表示股票行情
5如果推文中包含$符号则输出该词
这段代码的运行结果如下
THIS IS ABOUT $TWTR
THIS IS ABOUT $AAPL它们是这段推文中仅有的两个含有$符号的单词
1.4.2 案例市场营销费用 这种类型的问题在数据科学中非常常见。我们试图识别影响产品销量的关键特征如果能够分离出关键特征就能够利用这种关系调整营销费用的分配方式实现销量的提升。 实际上这是一个商业问题。 需求是用最少尽量少的广告预算得到最大尽量大的销量 所以我们真正的目的是找到电视、广播、报纸上花费的广告预算和销量之间的关系。 我们用t代表电视广告花费r代表广播广告花费n代表报纸广告花费s代表产品销量 f ( t , r , n ) s f(t,r,n)s f(t,r,n)s 找到这个函数关系或者至少找到t、r、n对s影响的权重 1.4.3 案例数据科学家的岗位描述 请注意第二家公司要求掌握的核心的Python库本书将会对这些库进行介绍。
import requests
#used to grab data from the web 从网站中抓取数据
from bs4 import BeautifulSoup
#used to parse HTML 解析HTML
from sklearn.feature_extraction.text import CountVectorizer
#used to count number of words and phrases (we will be using this module a lot)前两行imports代码用于从招牌网站中抓取数据第三行import用于对文本进行计数。
texts[]
#hold our job descriptions in this list
for index in range(0,1000,10): #go through 100 pages of indeedpagehttps://www.indeed.com/jobs?qdatascientiststartstr(index)#identify the url of the job listingsweb_resultrequests.get(page).text#use requests to actually visit the urlsoupBeautifulSoup(web_result)#parse the html of the resulting pagefor listing in soup.findAll(span,{class:summary}):#for each listing on the pagetexts.append(listing.text)#append the text of the listing to our list以上代码的功能是打开100个网页抓取网页中的岗位描述信息。最重要的变量是texts它存储了1000个岗位描述。
type(texts) #list
vectCountVectorizer(ngram_range(1,2),stop_wordsenglish)
#get basic counts of one and two word phrases
matrixvect.fit_transform(texts)
#fit and learn to the vocabulary in the corpus
print(len(vect.get_feature_names())) #how many features are there
#There are 11,293 total one and two words phrases in my case!!本案例的代码由于网站反爬虫机制或者网页结构变化等其他一系列原因并不能直接运行。 [外链图片转存中…(img-S5Zo0ehs-1681435562538)]
[外链图片转存中…(img-pTLTzwIz-1681435562538)] 本案例的代码由于网站反爬虫机制或者网页结构变化等其他一系列原因并不能直接运行。