《Julia 数据科学应用》总结

2018-11-02  本文已影响328人  iOSDevLog
Julia

Julia 入门


思考题

1.你看过附录 B 中列出的 Julia 教程和参考资料了吗?

2.Julia 中的函数(做了代码性能优化)是否优于其他语言中的相应函数?

3.假设你想创建一个列表,保存在一段文本中遇到的不同的(唯一的)词以及词的数量,你应该使用哪种数据结构来保存它们,可以最容易地进行随后的数据存取?

4.在一个函数中,精确定义每个输入参数的数据类型有意义吗?会产生不良后果吗?

Julia 进阶


思考题

1.你可以使用同样的函数来处理类型完全不同的数据吗?如果可以,应该使用 Julia 语言的哪种特性?

2.考虑一下前面的 hdist()函数,为什么它不能使用‘a’,‘b’作为输入?它们的距离不能为1吗?[1]

3.是否可以将前面的 mode()函数扩展一下,使它能够处理像234(一个单独的数值,不是一个数组)这样的输入,并将这个输入做为输出返回?做这样的修改需要利用 Julia 语言的哪种特性?

4.写一个简单的函数,在一段给定的文本中计算单词的数量(假设在文本中没有换行符)。在完成之后,使用一些文本来测试它(你可以在博客文章或电子书中随机找几个段落)并评价函数的性能。

5.写一个简单的函数,在一段给定的文本中计算字符的数量,并计算出非空格字符的比例。

6.写一个完整的解决方案,以一个数值型数组作为输入(你可以假设数组中都是浮点数),给出由数组形成的文本中所有数字的分布(也就是说,其中有多少个0,多少个1,等等)。并计算其中哪个数字出现的次数最多?最简单的实现方法是写一个函数,统计出在一个给定字符串中字符 x 有多少个,然后在包装器函数中将所有的统计结果累加起来并进行输出。如果你需要的话,也可以使用其他的辅助函数。

Julia 数据科学应用概述


思考题

1.什么是数据工程?它是必需的吗?

2.数据准备阶段的重要性是什么?

3.数据科学与其他数据分析的主要区别是什么?

4.对于以下数据,你如何进行数据准备:“The customer appeared to be dissatisfied with product 1A2345 (released last May).”

5.数据探索阶段需要做什么工作?

6.数据表示阶段包括哪些过程?

7.数据发现包括哪些工作?

8.什么是数据学习?

9.什么是数据产品创建?

10.在知识、交付物和可视化产品阶段,需要做什么工作?和数据产品创建阶段有什么不同?

11.数据科学流程是一个线性流程吗?解释一下。

12.什么是数据产品?它为什么很重要?

13.举出几个数据产品的例子。

14.在流程的最后阶段创建的可视化产品与在数据探索阶段创建的可视化产品有什么不同?

15.流程的所有阶段都是不可或缺的吗?为什么?

Julia 数据工程


思考题

1.在数据科学项目中,数据工程具有哪些重要性?

2.数据框与矩阵相比,有哪些主要的优点?

3.如何从 .json 文件中导入数据?

4.假如你必须使用大于计算机内存容量的数据文件来进行数据工程,那么你该如何进行这项工作?

5.数据清洗要做什么?

6.在数据工程中,数据类型为什么特别重要?

7.你应对数值型数据进行怎样的转换,才能使所有的变量在取值上具有可比性?

8.在解决文本分析问题时,你认为 Julia 中的哪种数据类型是最有用的?

9.假设你有一些文本数据,你要对其进行数据工程。每条记录中都有一个字符串变量,其中或者包含关键字或关键短语,或者不包含。你应如何有效地保存这个文件,才能使你以后可以使用这个文件,并分享给其他同事?

10.你应如何评价 OnlineNewsPopularity 数据集中的特征?你应如何评价 Spam 数据集中的特征?

探索数据集


统计图

Guide.xlabel("Name of your X axis")

Guide.ylabel("Name of your Y axis")

Guide.title("Name of your plot")
plot(DataFrameYouWishToUse,
x="IndependentVariable",Geom.bar)。
plot(DataFrameYouWishToUse,
y="DependentVariable",Geom.line)。
plot(x=DataFrameName[:IndependentVariable],
y=DataFrameName[:DependentVariable],Geom.point)。
plot(x=DataFrameName[:VariableName], 
Geom.histogram)。

假设检验

思考题

1.如果识别出数据集中的两个变量高度相关,那么应该采取什么操作?

2.在假设检验中,满足什么条件,可以接受原假设?

3.在一个分类问题中,在什么条件下,你可以使用相关性来表示一个特征与分类变量一致的程度?

4.选择一个数据集进行探索,并记下所有有价值的发现。

5.对于不规则分布的变量,可以进行t-检验吗?

6.假设我们有一个由20位患者的数据组成的医疗数据集。使用标准的检验方法,可以对其中的变量得出统计上显著的结论吗?为什么?

7.要表示出数据集的特征空间,最好使用哪种统计图。

8.t-SNE 函数的主要用途是什么?

构建数据空间


无监督数据降维方法

监督式数据降维方法

高级方法

思考题

1.给你一个包含1000000行和10000个特征的数据集。你会对这个数据集进行降维吗?如果会,你将使用什么方法?为什么?

2.你正在进行一个项目,其中有一个1000000行和500个特征的数据集。你会进行数据降维吗?如果会,你将使用什么方法?为什么?

3.在对初始的基因表达数据进行了大量优化工作之后,你得到了一个200行和5000个特征的数据集。你会对这个数据集做哪些数据降维操作?为什么?

4.给你一个10000行和20个特征的数据集,你会对这个数据集做数据降维吗?为什么?

5.一个统计学家研制成功了一种数据降维方法,通过检查所有可能的特征组合,可以保证找出最好的降维特征集合。你会在数据科学项目中使用这种方法吗?为什么?

6.与常用的统计方法(例如,PCA)相比,基于特征评价的数据降维方法的优点有哪些?

7.一位著名学者开发了一种方法,只要输入在统计上互相独立,就能够以极高的效率和表现来处理数据。要将数据集转换为可控的规模,你应该使用哪种数据降维方法?为什么?

8.给你一个1000000个特征和100000000行的数据集。很多特征彼此相关。你有充足的时间来挖掘这个数据集,目标是建立一个模型,使这个模型在降维后的数据集上具有最高的准确率。你应该使用什么方法?为什么?

数据抽样与结果评价


1.抽样

2.分类

3.回归

4.K 折交叉验证(KFCV)

思考题

1.你能对具有连续型目标变量的数据集进行分层抽样吗?

2.对于严重不平衡的数据集,应该使用何种抽样方法?为什么?

3.哪种抽样方法产生的样本偏离最小?

4.能够给出一个总成本(基于误判成本)的标准定义,使它的值位于0和1之间吗?如何实现?

5.可以在三分类问题上应用 ROC 曲线吗?

6.对于任何问题都可以进行 KFCV 吗?给出一个例子来支持你的答案。

无监督式机器学习


思考题

1.在聚类中,距离为什么非常重要?

2.对于特别复杂的数据集,你应该使用哪种聚类方法?

3.为什么不能使用第9章中介绍的度量方式来评价聚类系统的输出?

4.所有类型的数据都可以被聚类吗?在聚类之前,你需要注意什么?

5.分割聚类与 t-SNE(第7章)有什么不同?

6.数据科学中必须要进行聚类吗?为什么?

7.数据维度是如何影响聚类的效果的?有什么应对方法?

8.在一个已经标准化的数据集中,如何强调一个特征,使其在聚类过程中发挥更大的作用?

监督式机器学习


思考题

1.你有一个包含200个数据点和100个特征的数据样本,其中多数特征都是独立的。你应该使用哪种监督式学习系统?为什么?

2.对于一个结构良好的数据集,其中特征的信息非常丰富,并且在统计上彼此独立,那么最好的分类系统应该是什么?

3.对于一个海量的数据混乱的数据集,最合适的分类方法是什么?

4.一个鲁棒性非常好的监督式学习系统不需要进行数据工程吗?解释一下。

5.如果在你的项目中,可解释性非常重要,那么最合适的监督式学习系统是什么?

6.对于回归问题,统计回归与神经网络之间的关系是什么?

7.监督式学习中的直推式系统的主要局限性是什么?如何克服?

8.既然深度学习方法这么好,为什么不是所有人都应该使用?

9.你正在处理一个每分钟都在更新的数据集。为了确保预测及时,应该使用哪种监督式学习系统?

10.除了预测,你还可以使用深度学习网络做些什么别的事情?如何做?

11.如何计算出 ELM 预测的正确概率?

图分析


思考题

1.为什么图在数据科学中的用处非常大?

2.如何使用图分析来提高特征集合的可靠性?

3.所有问题都可以用图来建模和分析吗?为什么?

4.可以使用 MST 作为分类系统吗?解释一下。

5.可以在数据集上直接使用现有的图分析工具吗?为什么?

6.编写程序在给定图中找出最大生成树。(提示:如果你使用一个图分析扩展包中的函数作为基础,那么程序就会非常小。)

7.保存图(gg)的数据文件中包含了图的所有信息吗?为什么?

上一篇 下一篇

猜你喜欢

热点阅读