楼主: 时光永痕
480 0

[数据挖掘新闻] Python数据科学综合指南 [推广有奖]

  • 0关注
  • 14粉丝

svip3

学术权威

12%

(VIP/贵宾)三级

42%

威望
0
论坛币
26 个
通用积分
49.7576
学术水平
4 点
热心指数
4 点
信用等级
4 点
经验
34070 点
帖子
2731
精华
0
在线时间
316 小时
注册时间
2020-7-21
最后登录
2024-4-24

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
Python数据科学综合指南
我非常高兴地欢迎您来到绝对出色的数据科学世界。这是一个有趣的主题,有时会很困难,有时会很挣扎,但在工作结束时总是会收获很多。尽管数据科学不像量子力学那么严格,但它也不是高中代数。
它需要统计知识,一些数学(线性代数,多变量微积分,矢量代数,当然还有离散数学),运筹学(线性和非线性优化以及更多主题,包括马尔可夫过程),Python,R,Tableau和基本的分析和逻辑编程技能。
现在,如果您不熟悉数据科学,那么最后一句话似乎更像是纯希腊语,而不是简单的普通英语。不用担心 如果您正在Dimensionless Technologies学习数据科学课程,那么您来对地方了。本课程涵盖了上述所有主题的实践知识,并由才华横溢的课程材料准备团队将其提炼成对初学者友好的形式。
这门课程使普通人变成了熟练的数据科学家,并且由于课程的成功而使他们获得了出色的排名,所以,我的基本信息是,不用担心。您在正确的地方,在正确的时间与正确的人在一起。
什么是数据科学?
什么是数据科学的图像结果?
引用维基百科:
数据科学  是一个多学科领域,使用科学的方法,过程,算法和系统从结构化和非结构化数据中提取知识和见解。数据科学与数据挖掘和大数据具有相同的概念:“使用最强大的硬件,最强大的编程系统和最高效的算法来解决问题。”
从来源
您可能会说,更多希腊语。
因此,我的定义是:
数据科学是 从原始数据中提取关键知识的艺术,可为您的组织显着增加利润。
我们周围都是数据(Google“数据泛滥”,您将明白我的意思)。在过去的5
使用所有这些数据来洞察其业务并优化其处理能力的公司将以其市场上的最大利润位居首位。
像Facebook,Amazon,Microsoft,Google和Apple(FAMGA)这样的公司,以及每一个严肃的IT企业都已经意识到了这一事实。
因此,需要有才华的数据科学家。
关于这个主题,我还有很多要与您分享的内容,但为了使本文简短,我将分享您可以在空闲时间浏览的链接(每个人的时间都是宝贵的,因为它是严格的资源):
现在,当我计划撰写本文时,我想到了许多想法。我以为我可以使用Python示例来对该领域进行类似教科书的引用。
但是后来我意识到,当您阅读文章时,并没有真正的数据科学能力。
真正的数据科学能力始于您将学到的编程概念,将其输入计算机并在计算机上运行时。
然后; 当然,可以对其进行修改,操作,实验,单行运行,并亲自了解Python和R的工作方式。  
这就是您爱上数据科学编码的方式。
至少,这就是我爱上简单C编码的方式。回到2003年的UG。然后是C ++。然后是Java。然后是.NET。然后是SQL和Oracle。然后...然后然后...然后...依此类推。
如果您想知道,我从2006年开始从事反向传播神经网络的研究。在数据科学概念出现之前很久!那时,我们称其为人工智能和软计算。我的最后一年的项目是用Java手工编写的。
到目前为止,我学到了什么?
这是一个广阔的巨大的未知的海洋在那里。   
您学得越多,就知道越多,那么您就越了解很少的知识和广阔的海洋。  
但是我们离题了!
回到我的观点–
我的最终决定是构建一个初学者项目,对其进行内在解释,并为您提供源代码,您可以在这里和那里进行实验,玩耍,享受运行和修改,并参考文档并查看代码中的实际内容。
Kaggle –您的数据科学之家
kaggle的图像结果H
如果您位于数据科学领域,则此站点应该位于浏览器书签栏上。即使有多个文件夹(如果有)。
Kaggle是去到现场的每一个认真的机器学习的实践者。他们举办数据科学比赛(有大量参与者参加),为初学者提供出色的教程,以及在Apache许可下开源的免费源代码(有关Apache开源软件许可的更多信息,请参阅此链接 -不要跳过阅读之所以这样,是因为作为数据科学家,这是您必须了解的有关软件产品的知识。      
前几天,当我浏览该站点时,吸引了很多注意力和支持的内核吸引了我的注意。
这个内核是由来自伊斯坦布尔的专业数据科学家,由FatmaKur?un命名的(看上去很滑稽的?符号被称为c并带有cedilla,发音为s)。  
很快就知道了为什么它如此受欢迎。它写得很好,具有出色的可视化效果,并且逻辑思路清晰。她在艺术上的专业素养很明显。
由于它是开源的Apache许可发布软件,因此我对她的代码进行了很多修改(diff工具给出了100多项更改),以提供以下Python分类示例。
但是在我们深入研究之前,我们需要知道数据科学项目需要什么以及分类的含义。
接下来,让我们探讨一下。
分类与数据科学
分类和数据科学的图像结果
因此,监督分类基本上意味着将数据值映射到预先定义的类别。 在上图中,我们有一组具有某些数据值(记录)的客户。因此,上方一个点对应一位具有10-20个奇数字段的客户。
现在,我们如何确定客户是否可能拖欠贷款,以及哪个客户可能是不拖欠贷款的人?这是金融领域一个非常重要的问题!您可以在此处理解“分类”一词。我们将客户分为默认(红色点)类(类别)和非默认(绿色点)类。
用标准方法不能解决这个问题。您无法使用经典方法来创建和分析此问题的封闭式解决方案。但是,借助数据科学,我们可以近似地捕获或建模此问题的函数,并给出精度范围为90-95%的解决方案。非常了不起!
现在,我们可以再次单独发表一篇有关分类的博客文章,但是为了使本文简短,我将为您推荐以下出色的文章作为参考:
链接1 和链接2
数据科学项目中涉及的步骤
数据科学项目通常由以下组件组成:
定义问题
从源收集数据
数据预处理
特征工程
算法选择
超参数调整
重复步骤4–6,直到错误级别足够低。
数据可视化
结果解释
如果我要解释这些术语中的每一个-我可以-但为了简洁-我可以要求您参考以下文章:
和:
使用Python进行数据科学的步骤-中
在您的机器学习生涯中的某个时候,您将需要阅读以上文章,以了解机器学习项目的意义(每位数据科学家的头等大事)。
Jupyter笔记本
木瓜
来自维基百科
要运行本节中的练习,我们使用Jupyter笔记本。Jupyter是Julia,Python和R的缩写。该环境使用任何这些语言的内核,并且具有交互格式。它是数据科学专业人员常用的工具,也有利于协作和共享工作。
要了解有关Jupyter笔记本的更多信息,我可以建议以下文章(在您有好奇或有时间的时候阅读):
Python中的数据科学库
scikit学习的图像结果
Python的标准数据科学堆栈将scikit-learn Python库作为基本的最低层基础。  
该scikit学习 Python库是在Python标准库中的数据的科学最常用的。连同库numpy,pandas,matplotlib以及有时也包括seaborn在内,此工具集被称为标准Python数据科学堆栈。要了解有关数据科学的更多信息,我可以指导您访问scikit-learn的文档-非常好。文本清晰,清晰,每个文件都包含一个有效的实时示例作为源代码。有关更多信息,请参考以下链接:     
链接1 和链接2
最后的链接就像Python中机器学习的圣经。是的,它属于您的浏览器书签栏。阅读和应用这些概念以及运行和修改源代码可以帮助您在成为数据科学家方面走很长的路。   
并且,为了我们的目的
我们的问题定义
这是我们将要考虑的分类标准数据科学初学者问题。引用Kaggle.com:
泰坦尼克号号沉没事件是历史上最臭名昭著的沉船之一。1912年4月15日,在泰坦尼克号的首次航行中,与冰山相撞后沉没,使2224名乘客和机组人员中的1502人丧生。这一耸人听闻的悲剧震惊了国际社会,并导致了更好的船舶安全规定。
沉船事故导致人员丧生的原因之一是没有足够的救生艇供乘客和船员使用。尽管在下沉中幸存有一定的运气,但某些群体比其他群体更可能生存,例如妇女,儿童和上层阶级。
在这项挑战中,我们要求您完成对可能生存的人群的分析。特别是,我们要求您使用机器学习工具来预测哪些乘客幸免于悲剧。
来自:Kaggle
我们将尝试将人的类别预测为二元分类问题–泰坦尼克号沉没后幸存或死亡。
因此,现在,我们浏览流行的源代码,解释每个步骤。
导入库
这些行如下:
1
2
3
4
5
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt;
import seaborn as sns
%matplotlib inline
是几乎所有Python数据堆栈问题的标准配置。熊猫是指数据框操作库。NumPy是Python矩阵操作操作的矢量化实现,这些操作经过优化可高速运行。Matplotlib是通常在这种情况下使用的可视化库。Seaborn是另一个可视化库,其抽象级别比matplotlib高。
问题数据集
我们读取了CSV文件:
1
train = pd.read_csv('../input/train.csv')
探索性数据分析
现在,如果您已经浏览了“数据科学项目涉及的步骤”部分标题中给出的链接,您将知道现实世界的数据是混乱的,具有缺失的值,并且经常需要进行标准化以适应我们不同的scikit学习算法的需求。该CSV文件没有什么不同,如下所示:
缺失数据
此行使用seaborn来创建我们的数据集的热图,该热图显示缺少的值:
1
sns.heatmap(train.isnull()
输出:
1
<matplotlib.axes._subplots.AxesSubplot at 0x7f3b5ed98ef0>
解释
黄色条表示缺少数据。从图中可以看到,年龄数据的五分之一丢失了。而且Cabin列有很多缺失值,我们应该删除它。
在泰坦尼克号沉船中绘制幸存者与死者的关系图:
1
2
sns.set_style('whitegrid')
sns.countplot(x='Survived'
输出:
1
<matplotlib.axes._subplots.AxesSubplot at 0x7f3b54fe2390>
如我们所见,在我们的全部数据样本中,有500多人丧生,而只有不到350人幸存(在train.csv中包含的数据样本中)。
当我们绘制性别比率图表时,这就是结果。
1
2
sns.set_style('whitegrid')
sns.countplot(x='Survived'
输出量
1
<matplotlib.axes._subplots.AxesSubplot at 0x7f3b54f49da0>
超过400人死亡,约100人幸存。对于妇女来说,不到一百人死亡,大约230名幸存者幸存。显然,正如我们期望的那样,这里存在着不平衡。
数据清理
可以使用数据集任意类别的年龄值的平均值轻松填充缺失的年龄数据。之所以必须这样做,是因为分类算法无法处理丢失的值,并且如果数据值不是无错误的,则会出错。
1
2
plt.figure(figsize=(12
sns.boxplot(x='Pclass'
输出量
1
<matplotlib.axes._subplots.AxesSubplot at 0x7f3b54d132e8>
图像结果输出,用于数据清洁
我们使用这些平均值来估算缺失值(impute –一个花哨的词,用于使用允许算法在不影响或更改其性能的情况下运行的值来填充缺失数据值)。   
1
2
3
4
5
6
7
8
9
10
11
12
13
def impute_age(cols):
    Age = cols[0]
    Pclass = cols[1]
    if pd.isnull(Age):
        if Pclass == 1:
            return 37
        elif Pclass == 2:
            return 29
        else:
            return 24
?    else:
        return Age
1
train['Age'] = train[['Age'
缺少值的热图:
1
sns.heatmap(train.isnull()
输出:
1
<matplotlib.axes._subplots.AxesSubplot at 0x7f3b54a0d0b8>
由于“ Cabin”列几乎为空,因此我们将其删除。
1
train.drop('Cabin'
使用熊猫将“性别”和“名称”等分类特征转换为虚拟变量,以使算法正常运行(它要求数据为数字)。
1
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:python 数据科学 scikit-learn Technologies Matplotlib

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群

京ICP备16021002-2号 京B2-20170662号 京公网安备 11010802022788号 论坛法律顾问:王进律师 知识产权保护声明   免责及隐私声明

GMT+8, 2024-4-26 09:27