2018/10/29
这份报告,利用iris数据作为实例,把我现在已经明白的一整套机器学习的流程给走一遍。结合书上的过程,再加上一些简单的想法。
转载:https://machinelearningmastery.com/machine-learning-in-python-step-by-
step/
上面是一个比较简答入手的数据分析报告。
1、数据集的统计分析
这部分,我原来写个一个画多图的脚本,后来发现其实pandas可以帮助我完成这个工作,同时他自己也带有一些数据的分析内容,这个东西比我弄得好。
这里第一个要学的就是将sklearn中的数据导入到pandas。
转载:https://stackoverflow.com/questions/38105539/how-to-convert-a-scikit-learn-dataset-to-a-pandas-dataset
看起来下面的回答更好。
暂停一下,我发现了一个网站,他的想法跟我一致..
转载:http://www.neural.cz/dataset-exploration-boston-house-pricing.html
这个网址也是从上面那个问题下面的回答里得到的。
而且,注意,虽然他关注的数据集跟我不一样,但是一定看他的报告格式,他是以什么样的格式来组织这个数据,然后哪些指标是他比较关心的。
(2018/10/31 这个网址只是给我介绍了一些图,一些工具,并没有提到很多分析的成分。)
关于iris的数据统计描述
df.describe()
关于iris的数据特征相关性的统计表述
df.corr()
该函数可以指定method参数,用来选定某相关函数
这个函数主要是想看属性之间以及最后的目标变量之间的相关性。
但是看到结果之后,我突然想到,我这个问题属于分类问题,并不是传统意义上的回归问题。这样的结果就是,特征与输出之间应该没有相应的统计上的相关性。
那么,针对这种分类问题,相关性有什么作用呢。
或者说, 是不是有一套针对这种分类问题的相关性分析。
(以上是我自己的想法,我觉得相关性这种东西更多在回归问题情况下)
虽然上面的几句话对相关性与分类问题的关系不大,但我从数据上看,好像又有一些关系。
sepal length (cm) sepal width (cm) petal length (cm) petal width (cm) target
sepal length (cm) 1.000000 -0.117570 0.871754 0.817941 0.782561
sepal width (cm) -0.117570 1.000000 -0.428440 -0.366126 -0.426658
petal length (cm) 0.871754 -0.428440 1.000000 0.962865 0.949035
petal width (cm) 0.817941 -0.366126 0.962865 1.000000 0.956547
target 0.782561 -0.426658 0.949035 0.956547 1.000000
预测能力
(这部分从那个介绍的网址上得到)
上面的数据同时打印出来了与输出变量的相关性。
这里引发了我的一个思考,就是变量的预测能力,或者说,分类能,是不是可以从这部分入手,作为特征选择的重要点。而且, 我记得,好像看那本西瓜书的时候,有这个概念。(这个在完成这部分工作之后,一定要深入研究一下,特别是,能利用现有的指标来达到达到这个效果)
比较重要的相关的属性对。
这部分的代码可以看那个网站,我觉得他就是把这个部分的排序后打印出来。
总结:关于数据统计探究部分,我觉得这部分内容不多,但是可研究的东西倒是很多,而且我不知道这个内容是不是就不该算到这部分里面来,感觉更像是特征工程的内容,我认为比较重要的几个地方。
1)输入变量的相关性
2)输入变量与输出变量的相关性,甚至说,输入变量的预测能力
(特别是,有一个地方,就是我想过的那个分界线的事情,就是如果某变量掺在一起,而有的没有的那种。)
(这部分我在谷歌上没有搜到,感觉是我的表述没清楚,我感觉这个就是特征选择的部分)!!!找到了,这好像就是我原来看过的判别分析,说的多一点,就是一个特征选择的过程。
转载:https://www.researchgate.net/post/What_is_the_best_way_to_identify_the_most_relevant_sufficient_features_for_classification2
http://www.statsoft.com/Textbook/Discriminant-Function-Analysis
下面这个,我不太理解。
3)注意看各个类别的分布,为后续一些评价做一些先验的知识。
2、针对数据的可视化
按照第一个网址的后续可视化的内容进行操作,当然第二个也能做。
画箱线图
画出来的东西跟网站上的不太一样,我的这个多了一个子图,如果想去的画,应该删除列就可以了。
画直方图
也很不一样。
还有多个变量的那个,按照网站的流程是利用pandas的方法来完成的。
多个变量的这个图,到底能看出来什么,是相关性吗,还是别的什么东西呢???!!!!!!看下面
总结:
以往的时候,我都是利用matplotlib自己去画这些个内容,弄出来的图片,个人感觉不是很好看。从上面这两个网站上可以看到,我可以利用第三方库的方式来。
1)利用pandas的方法。
2)利用seaborn,这个是第二个网站中得到的,还没有用过。
我觉得利用别人的画图方法,目前来讲,应该是完全能满足我的需求的。另外,也提醒我自己,一定不要去造轮子。。。
(但是,其实本事,如果不是偶然的机会,可能我也不知道这样)
总结:这份数据报告,差一些东西,这些东西就是针对他的一些属性的分布进行一些解释。当然,这仅仅是一个比较的统计学上的一些简单报告,如果你从这个角度来想,其实这份报告,就是一个简单的数据初探。
另外,我原本希望的哪些内容,我感觉应该属于后续的切入到数据内部,然后探究输入与输出之间,输入之间的关系,应该是到了后续的特征工程的部分。
2018/10/30
其实比较尴尬的地方就是,我没有从这份报告中得到非常有用的信息。
另外一点我没有注意到,就是一些模型,可能不是所有,他是对这个数据的分布有一定假设的,可能最简单的例子就是线性回归的模型。
2018/10/30
这里有一个地方没有说到,就是我想知道,就是数据分布能给我后续的机器学习增加什么样的益处。
https://www.quora.com/What-is-the-importance-of-understanding-underlying-data-distributions-in-a-data-set-before-applying-any-machine-learning-algorithm-either-a-prediction-or-classification-algorithm
这是谷歌找的一个相近的链接。
2018/10/30
转载:https://www.itl.nist.gov/div898/handbook/eda/section3/scatterb.htm
这个网站是接受数据分析的,其中他提到了这个多变量画图的作用
大致意思,可以看相关性,以及一些异常点。
的却,看了几个网站,都是这么说的。我感觉,还可以用来做密度的一种探究。
(我感觉这里是可以做出来一些事情的,就是的出来一些结论,不然可视化的意义就不在了。)
找到一个转载:https://www.quora.com/What-is-intuitive-meaning-of-scatter-matrix
The diagonal elements represent spread (which is closely related to variance), while the off-diagonal elements represent clustering (closely related to covariance).
对角元素表示扩展(与方差密切相关),而非对角元素表示聚类(与协方差密切相关)。
这是其实本质上还是把相关的东西给弄出来了。
2018/10/31
转载:https://www.kaggle.com/ranjeetjain3/visualization-machine-learning-deep-learning
这是一个网站介绍了iris数据集,包括数据的可视化以及后续的一些算法的实践。
转载:http://www.philipkalinda.com/ds3.html
这个跟上面这个类似,不过图貌似更好看一些。
但是都没有我想要的那个,就是对各个属性,以及输出之间的分析报告。(我是不是想错了。)
这部分数据的分析也就完成了,上面提到的我一直想要的东西,我现在是弄不出来,也没有找到,但是一定要留意这个内容。
2018/12/01
这个东西完全是我自己的一份报告,但实际上,还是觉得在kaggle上看到报告要更好。
2019/01/18
这部分内容还是不够准确,并不是通过自己总结的,很多内容还是别人的文章,没有经过消化。导致我现在重新看的时候,就感觉不能直接就使用了。
2019/05/18
刚刚看了一个完整的机器学习流程,他是利用的房价预测的数据集,其实整体上他的内容没什么新的,但看下来,整体的内容非常整合,适合没事的时候多看看。
https://www.jianshu.com/p/dd64f875a81b