当前位置: 首页 > news >正文

第1章 如何听起来像数据科学家

第1章 如何听起来像数据科学家

文章目录

      • 第1章 如何听起来像数据科学家
        • 1.1.1 基本的专业术语
        • 1.1.3 案例:西格玛公司
        • 1.2.3 为什么是Python
        • 1.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

案例:分析一条推文

在本例中,我们将分析一些含有股票价格信息的推文。

tweet="RT @robdv: $TWTR now top holding for Andor,unseating $AAPL"
words_in_tweet=tweet.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

(2)word_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 案例:市场营销费用

image-20230224160912745

image-20230224161142259

这种类型的问题在数据科学中非常常见。我们试图识别影响产品销量的关键特征,如果能够分离出关键特征,就能够利用这种关系,调整营销费用的分配方式,实现销量的提升。

实际上这是一个商业问题。

需求是:用最少(尽量少)的广告预算得到最大(尽量大)的销量

所以我们真正的目的是:找到电视、广播、报纸上花费的广告预算和销量之间的关系。

我们用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 案例:数据科学家的岗位描述

image-20230224162915742

请注意第二家公司要求掌握的核心的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 indeedpage='https://www.indeed.com/jobs?q=data+scientist&start='+str(index)#identify the url of the job listingsweb_result=requests.get(page).text#use requests to actually visit the urlsoup=BeautifulSoup(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
vect=CountVectorizer(ngram_range(1,2),stop_words='english')
#get basic counts of one and two word phrases
matrix=vect.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!!

image-20230225141424158

image-20230225141442061

本案例的代码由于网站反爬虫机制或者网页结构变化等其他一系列原因,并不能直接运行。
`

[外链图片转存中…(img-S5Zo0ehs-1681435562538)]

[外链图片转存中…(img-pTLTzwIz-1681435562538)]

本案例的代码由于网站反爬虫机制或者网页结构变化等其他一系列原因,并不能直接运行。

相关文章:

第1章 如何听起来像数据科学家

第1章 如何听起来像数据科学家 文章目录 第1章 如何听起来像数据科学家1.1.1 基本的专业术语1.1.3 案例:西格玛公司1.2.3 为什么是Python1.4.2 案例:市场营销费用1.4.3 案例:数据科学家的岗位描述 我们拥有如此多的数据,而且正在生…...

哈希表题目:在系统中查找重复文件

文章目录 题目标题和出处难度题目描述要求示例数据范围进阶 解法思路和算法代码复杂度分析 进阶问题答案后记 题目 标题和出处 标题:在系统中查找重复文件 出处:609. 在系统中查找重复文件 难度 6 级 题目描述 要求 给定一个目录信息列表 paths…...

机器人感知与控制关键技术及其智能制造应用

源自:自动化学报 作者:王耀南 江一鸣 姜娇 张辉 谭浩然 彭伟星 吴昊天 曾凯 摘 要 智能机器人在服务国家重大需求, 引领国民经济发展和保障国防安全中起到重要作用, 被誉为“制造业皇冠顶端的明珠”. 随着新一轮工业革命的到来, 世界主要工业国…...

精通线程池,看这一篇就够了

一:什么是线程池 当我们运用多线程技术处理任务时,需要不断通过new的方式创建线程,这样频繁创建和销毁线程,会造成cpu消耗过多。那么有没有什么办法避免频繁创建线程呢? 当然有,和我们以前学习过多连接池技术类似&…...

解决图片、视频地址加密问题

const getImgUrl async () > {const imgUrl 远程链接地址const response await fetch(imgUrl)//取出blob二进制const blob await response.blob()//url转为类似blob:http://localhost:9587/cf3265b9-75eb-4722-8e11-5048dec2564d//赋值给需要展示的地方const url URL.c…...

GPT引领学习之旅:一篇让程序员轻松掌握Elasticsearch的攻略

一、引言 随着大数据技术的飞速发展,程序员们面临着越来越多的挑战。Elasticsearch作为一款流行的开源搜索和分析引擎,已成为许多项目的重要组成部分。那么如何高效地学习并掌握Elasticsearch呢?在这篇文章中,我们将探讨如何运用…...

23种设计模式-仲裁者模式(Android应用场景介绍)

仲裁者模式是一种行为设计模式,它允许将对象间的通信集中到一个中介对象中,以减少对象之间的耦合度。本文将通过Java语言实现仲裁者模式,并介绍如何在安卓开发中使用该模式。 实现仲裁者模式 我们将使用一个简单的例子来说明仲裁者模式的实…...

【数据统计】— 极大似然估计 MLE、最大后验估计 MAP、贝叶斯估计

【数据统计】— 极大似然估计 MLE、最大后验估计 MAP、贝叶斯估计 极大似然估计、最大后验概率估计(MAP),贝叶斯估计极大似然估计(Maximum Likelihood Estimate,MLE)MLE目标例子: 扔硬币极大似然估计—高斯分布的参数 矩估计 vs LSE vs MLE贝叶斯公式&am…...

Zookeeper学习笔记

Zookeeper入门 Zookeeper 是一个开源的分布式的,为分布式框架提供协调服务的Apache 项目。 Zookeeper工作机制 Zookeeper从设计模式角度来理解:是一个基于观察者模式设计的分布式服务管理框架,它负责存储和管理大家都关心的数据&#xff0c…...

go语言切片做函数参数传递+append()函数扩容

go语言切片函数参数传递append()函数扩容 给你二叉树的根节点 root 和一个整数目标和 targetSum ,找出所有 从根节点到叶子节点 路径总和等于给定目标和的路径。 二叉树递归go代码: var ans [][]int func pathSum(root *TreeNode, targetSum int) ( [][…...

2023.04.16 学习周报

文章目录 摘要文献阅读1.题目2.摘要3.简介4.Dual-Stage Attention-Based RNN4.1 问题定义4.2 模型4.2.1 Encoder with input attention4.2.2 Decoder with temporal attention4.2.3 Training procedure 5.实验5.1 数据集5.2 参数设置和评价指标5.3 实验结果 6.结论 MDS降维算法…...

【面试】如何设计SaaS产品的数据权限?

文章目录 前言数据权限是什么?设计原则整体方案RBAC模型怎么控制数据权限?1. 数据范围权限控制2. 业务对象操作权限控制3. 业务对象字段权限控制 总结 前言 一套系统的权限可以分为两类,数据权限和功能权限,今天我们从以下几个点…...

ansible管理变量

ansible变量简介 变量用于存储值,便于重复使用,可以简化项目的创建和维护。 变量命令规则 ansible变量的名称必须以字母开头,平且只能包含字母、数字和下划线,不允许有其他特殊字符。 变量范围 全局范围:从命令行…...

一种轻量级日志采集解决方案

前言 目前各大公司生产部署很多都是采用的集群微服务的部署方式,如果让日志散落在各个主机上,查询起来会非常的困难,所以目前我了解到的都是采用的日志中心来统一收集管控日志,日志中心的实现方案大多基于ELK(即Elasticsearch、L…...

【源码】Spring Cloud Gateway 是在哪里匹配路由的?

我们知道,经过网关的业务请求会被路由到后端真实的业务服务上去,假如我们使用的是Spring Cloud Gateway,那么你知道Spring Cloud Gateway是在哪一步去匹配路由的吗? 源码之下无秘密,让我们一起从源码中寻找答案。 入…...

BAT批处理基本命令

什么是 BAT 批处理脚本语言? BAT 批处理脚本语言是 Windows 系统自带的一种脚本语言,主要用于批量处理文件、目录、注册表、系统设置等任务。使用 BAT 批处理脚本语言可以节省大量手动操作的时间和精力。 如何编写 BAT 批处理脚本? 使用记事本…...

Python数组仿射变换

文章目录 仿射变换坐标变换的逻辑scipy实现 仿射变换 前面提到的平移、旋转以及缩放,都可以通过一个变换矩阵来实现,以二维空间中的变换矩阵为例,记点的坐标向量为 ( x , y , 1 ) (x,y,1) (x,y,1),则平移矩阵可表示为 [ 1 0 T x …...

“==“和equals方法究竟有什么区别?

操作符专门用来比较两个变量的值是否相等,也就是用于比较变量所对应的内存中所存储的数值是否相同,要比较两个基本类型的数据或两个引用变量是否相等,只能用操作符。 如果一个变量指向的数据是对象类型的,那么,这时候…...

蓝桥杯15单片机--超声波模块

目录 一、超声波工作原理 二、超声波电路图 三、程序设计 1-设计思路 2-具体实现 四、程序源码 一、超声波工作原理 超声波时间差测距原理超声波发射器向某一方向发射超声波,在发射时刻的同时开始计时,超声波在空气中传播,途中碰到障碍…...

【学习笔记】ARC159

D - LIS 2 因为没有让你求方案数,所以还是比较好做的。 如果每一个连续段都退化成一个点,那么答案就是直接求 L I S LIS LIS。 否则,假设我们选了一些连续段把它们拼起来形成答案,显然我们有 r i 1 ≥ l i r_{i1}\ge l_i ri1​…...

使用docker在3台服务器上搭建基于redis 6.x的一主两从三台均是哨兵模式

一、环境及版本说明 如果服务器已经安装了docker,则忽略此步骤,如果没有安装,则可以按照一下方式安装: 1. 在线安装(有互联网环境): 请看我这篇文章 传送阵>> 点我查看 2. 离线安装(内网环境):请看我这篇文章 传送阵>> 点我查看 说明:假设每台服务器已…...

边缘计算医疗风险自查APP开发方案

核心目标:在便携设备(智能手表/家用检测仪)部署轻量化疾病预测模型,实现低延迟、隐私安全的实时健康风险评估。 一、技术架构设计 #mermaid-svg-iuNaeeLK2YoFKfao {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg…...

MySQL 8.0 OCP 英文题库解析(十三)

Oracle 为庆祝 MySQL 30 周年,截止到 2025.07.31 之前。所有人均可以免费考取原价245美元的MySQL OCP 认证。 从今天开始,将英文题库免费公布出来,并进行解析,帮助大家在一个月之内轻松通过OCP认证。 本期公布试题111~120 试题1…...

【HTTP三个基础问题】

面试官您好!HTTP是超文本传输协议,是互联网上客户端和服务器之间传输超文本数据(比如文字、图片、音频、视频等)的核心协议,当前互联网应用最广泛的版本是HTTP1.1,它基于经典的C/S模型,也就是客…...

探索Selenium:自动化测试的神奇钥匙

目录 一、Selenium 是什么1.1 定义与概念1.2 发展历程1.3 功能概述 二、Selenium 工作原理剖析2.1 架构组成2.2 工作流程2.3 通信机制 三、Selenium 的优势3.1 跨浏览器与平台支持3.2 丰富的语言支持3.3 强大的社区支持 四、Selenium 的应用场景4.1 Web 应用自动化测试4.2 数据…...

淘宝扭蛋机小程序系统开发:打造互动性强的购物平台

淘宝扭蛋机小程序系统的开发,旨在打造一个互动性强的购物平台,让用户在购物的同时,能够享受到更多的乐趣和惊喜。 淘宝扭蛋机小程序系统拥有丰富的互动功能。用户可以通过虚拟摇杆操作扭蛋机,实现旋转、抽拉等动作,增…...

基于单片机的宠物屋智能系统设计与实现(论文+源码)

本设计基于单片机的宠物屋智能系统核心是实现对宠物生活环境及状态的智能管理。系统以单片机为中枢,连接红外测温传感器,可实时精准捕捉宠物体温变化,以便及时发现健康异常;水位检测传感器时刻监测饮用水余量,防止宠物…...

职坐标物联网全栈开发全流程解析

物联网全栈开发涵盖从物理设备到上层应用的完整技术链路,其核心流程可归纳为四大模块:感知层数据采集、网络层协议交互、平台层资源管理及应用层功能实现。每个模块的技术选型与实现方式直接影响系统性能与扩展性,例如传感器选型需平衡精度与…...

MyBatis-Plus 常用条件构造方法

1.常用条件方法 方法 说明eq等于 ne不等于 <>gt大于 >ge大于等于 >lt小于 <le小于等于 <betweenBETWEEN 值1 AND 值2notBetweenNOT BETWEEN 值1 AND 值2likeLIKE %值%notLikeNOT LIKE %值%likeLeftLIKE %值likeRightLIKE 值%isNull字段 IS NULLisNotNull字段…...

python打卡day47

昨天代码中注意力热图的部分顺移至今天 知识点回顾&#xff1a; 热力图 作业&#xff1a;对比不同卷积层热图可视化的结果 import torch import torch.nn as nn import torch.optim as optim from torchvision import datasets, transforms from torch.utils.data import D…...