网站性能检测评分
注:本网站页面html检测工具扫描网站中存在的基本问题,仅供参考。
pythonstats
这可能是数据科学今年最好的20个Python库 推广视频课程
来源 | AI科技大本营(公众号ID:rgznai100)
Python在解决数据科学任务和挑战方面继续处于领先地位。去年,我们曾发表一篇博客文章 Top 15 Python Libraries for Data Science in 2017,概述了当时业已证明最有帮助的Python库。今年,我们扩展了这个清单,增加了新的 Python 库,并重新审视了去年已经讨论过的 Python 库,重点关注了这一年来的更新。
我们的选择实际上包含了 20 多个库,因为其中一些库是相互替代的,可以解决相同的问题。因此,我们将它们放在同一个分组。
▌核心库和统计数据
1. NumPy (Commits: 17911, Contributors: 641)
官网:http://numpy.org/
NumPy 是科学应用程序库的主要软件包之一,用于处理大型多维数组和矩阵,它大量的高级数学函数集合和实现方法使得这些对象执行操作成为可能。
2. SciPy (Commits: 19150, Contributors: 608)
官网:https://scipy.org/scipylib/
科学计算的另一个核心库是 SciPy。它基于 NumPy,其功能也因此得到了扩展。SciPy 主数据结构又是一个多维数组,由 Numpy 实现。这个软件包包含了帮助解决线性代数、概率论、积分计算和许多其他任务的工具。此外,SciPy 还封装了许多新的 BLAS 和 LAPACK 函数。
3. Pandas (Commits: 17144, Contributors: 1165)
官网:https://pandas.pydata.org/
Pandas 是一个 Python 库,提供高级的数据结构和各种各样的分析工具。这个软件包的主要特点是能够将相当复杂的数据操作转换为一两个命令。Pandas包含许多用于分组、过滤和组合数据的内置方法,以及时间序列功能。
4. StatsModels (Commits: 10067, Contributors: 153)
官网:http://statsmodels.org/devel/
Statsmodels 是一个 Python 模块,它为统计数据分析提供了许多机会,例如统计模型估计、执行统计测试等。在它的帮助下,你可以实现许多机器学习方法并探索不同的绘图可能性。
Python 库不断发展,不断丰富新的机遇。因此,今年出现了时间序列的改进和新的计数模型,即 GeneralizedPoisson、零膨胀模型(zero inflated models)和 NegativeBinomialP,以及新的多元方法:因子分析、多元方差分析以及方差分析中的重复测量。
▌可视化
5. Matplotlib (Commits: 25747, Contributors: 725)
官网:https://matplotlib.org/index.html
Matplotlib 是一个用于创建二维图和图形的底层库。藉由它的帮助,你可以构建各种不同的图标,从直方图和散点图到费笛卡尔坐标图。此外,有许多流行的绘图库被设计为与matplotlib结合使用。
6. Seaborn (Commits: 2044, Contributors: 83)
官网:https://seaborn.pydata.org/
Seaborn 本质上是一个基于 matplotlib 库的高级 API。它包含更适合处理图表的默认设置。此外,还有丰富的可视化库,包括一些复杂类型,如时间序列、联合分布图(jointplots)和小提琴图(violin diagrams)。
7. Plotly (Commits: 2906, Contributors: 48)
官网:https://plot.ly/python/
Plotly 是一个流行的库,它可以让你轻松构建复杂的图形。该软件包适用于交互式 Web 应用程,可实现轮廓图、三元图和三维图等视觉效果。
8. Bokeh (Commits: 16983, Contributors: 294)
官网:https://bokeh.pydata.org/en/latest/
Bokeh 库使用 JavaScript 小部件在浏览器中创建交互式和可缩放的可视化。该库提供了多种图表集合,样式可能性(styling possibilities),链接图、添加小部件和定义回调等形式的交互能力,以及许多更有用的特性。
9. Pydot (Commits: 169, Contributors: 12)
官网:https://pypi.org/project/pydot/
Pydot 是一个用于生成复杂的定向图和无向图的库。它是用纯 Python 编写的Graphviz 接口。在它的帮助下,可以显示图形的结构,这在构建神经网络和基于决策树的算法时经常用到。
▌机器学习
10. Scikit-learn (Commits: 22753, Contributors: 1084)
官网:http://scikit-learn.org/stable/
这个基于 NumPy 和 SciPy 的 Python 模块是处理数据的最佳库之一。它为许多标准的机器学习和数据挖掘任务提供算法,如聚类、回归、分类、降维和模型选择。
利用 Data Science School 提高你的技能
Data Science School:http://datascience-school/
11. XGBoost / LightGBM / CatBoost (Commits: 3277 / 1083 / 1509, Contributors: 280 / 79 / 61)
官网:
http://xgboost.readthedocs.io/en/latest/
http://lightgbm.readthedocs.io/en/latest/Python-Intro.html
https://github/catboost/catboost
梯度增强算法是最流行的机器学习算法之一,它是建立一个不断改进的基本模型,即决策树。因此,为了快速、方便地实现这个方法而设计了专门库。就是说,我们认为 XGBoost、LightGBM 和 CatBoost 值得特别关注。它们都是解决常见问题的竞争者,并且使用方式几乎相同。这些库提供了高度优化的、可扩展的、快速的梯度增强实现,这使得它们在数据科学家和 Kaggle 竞争对手中非常流行,因为在这些算法的帮助下赢得了许多比赛。
12. Eli5 (Commits: 922, Contributors: 6)
官网:https://eli5.readthedocs.io/en/latest/
通常情况下,机器学习模型预测的结果并不完全清楚,这正是 Eli5 帮助应对的挑战。它是一个用于可视化和调试机器学习模型并逐步跟踪算法工作的软件包,为 scikit-learn、XGBoost、LightGBM、lightning 和 sklearn-crfsuite 库提供支持,并为每个库执行不同的任务。
▌深度学习
13. TensorFlow (Commits: 33339, Contributors: 1469)
官网:https://tensorflow.org/
TensorFlow 是一个流行的深度学习和机器学习框架,由 Google Brain 开发。它提供了使用具有多个数据集的人工神经网络的能力。在最流行的 TensorFlow应用中有目标识别、语音识别等。在常规的 TensorFlow 上也有不同的 leyer-helper,如 tflearn、tf-slim、skflow 等。
14. PyTorch (Commits: 11306, Contributors: 635)
官网:https://pytorch.org/
PyTorch 是一个大型框架,它允许使用 GPU 加速执行张量计算,创建动态计算图并自动计算梯度。在此之上,PyTorch 为解决与神经网络相关的应用程序提供了丰富的 API。该库基于 Torch,是用 C 实现的开源深度学习库。
15. Keras (Commits: 4539, Contributors: 671)
官网:https://keras.io/
Keras 是一个用于处理神经网络的高级库,运行在 TensorFlow、Theano 之上,现在由于新版本的发布,还可以使用 CNTK 和 MxNet 作为后端。它简化了许多特定的任务,并且大大减少了单调代码的数量。然而,它可能不适合某些复杂的任务。
▌分布式深度学习
16. Dist-keras / elephas / spark-deep-learning (Commits: 1125 / 170 / 67, Contributors: 5 / 13 / 11)
官网:
http://joerihermans/work/distributed-keras/
https://pypi.org/project/elephas/
https://databricks.github.io/spark-deep-learning/site/index.html
随着越来越多的用例需要花费大量的精力和时间,深度学习问题变得越来越重要。然而,使用像 Apache Spark 这样的分布式计算系统,处理如此多的数据要容易得多,这再次扩展了深入学习的可能性。因此,dist-keras、elephas 和 spark-deep-learning 都在迅速流行和发展,而且很难挑出一个库,因为它们都是为解决共同的任务而设计的。这些包允许你在 Apache Spark 的帮助下直接训练基于 Keras 库的神经网络。Spark-deep-learning 还提供了使用 Python 神经网络创建管道的工具。
▌自然语言处理
17. NLTK (Commits: 13041, Contributors: 236)
官网:https://nltk.org/
NLTK 是一组库,一个用于自然语言处理的完整平台。在 NLTK 的帮助下,你可以以各种方式处理和分析文本,对文本进行标记和标记,提取信息等。NLTK 也用于原型设计和建立研究系统。
18. SpaCy (Commits: 8623, Contributors: 215)
官网:https://spacy.io/
SpaCy 是一个具有优秀示例、API 文档和演示应用程序的自然语言处理库。这个库是用 Cython 语言编写的,Cython 是 Python 的 C 扩展。它支持近 30 种语言,提供了简单的深度学习集成,保证了健壮性和高准确率。SpaCy 的另一个重要特性是专为整个文档处理设计的体系结构,无须将文档分解成短语。
19. Gensim (Commits: 3603, Contributors: 273)
官网:https://radimrehurek/gensim/
Gensim 是一个用于健壮语义分析、主题建模和向量空间建模的 Python 库,构建在Numpy和Scipy之上。它提供了流行的NLP算法的实现,如 word2vec。尽管 gensim 有自己的 models.wrappers.fasttext实现,但 fasttext 库也可以用来高效学习词语表示。
▌数据采集
20. Scrapy (Commits: 6625, Contributors: 281)
官网:https://scrapy.org/
Scrapy 是一个用来创建网络爬虫,扫描网页和收集结构化数据的库。此外,Scrapy 可以从 API 中提取数据。由于该库的可扩展性和可移植性,使得它用起来非常方便。
▌结论
本文上述所列就是我们在 2018 年为数据科学领域中丰富的 Python 库集合。与上一年相比,一些新的现代库越来越受欢迎,而那些已经成为经典的数据科学任务的库也在不断改进。
下表显示了 GitHub 活动的详细统计数据:
原文链接:https://activewizards/blog/top-20-python-libraries-for-data-science-in-2018/
——【完】——
- DataCastle -
干货 | 请收下这份2018学习清单:150个最好的机器学习,NLP和Python教程 行业视频课程
本文英文出处:Robbie Allen
翻译/雷锋网字幕组 吴楚
校对/ 雷锋网 田晋阳
机器学习的发展可以追溯到1959年,有着丰富的历史。这个领域也正在以前所未有的速度进化。在之前的一篇文章(https://unsupervisedmethods/why-artificial-intelligence-is-different-from-previous-technology-waves-764d7710df8b)中,我们讨论过为什么通用人工智能领域即将要爆发。有兴趣入坑ML的小伙伴不要拖延了,时不我待!
在今年秋季开始准备博士项目的时候,我已经精选了一些有关机器学习和NLP的优质网络资源。一般我会找一个有意思的教程或者视频,再由此找到三四个,甚至更多的教程或者视频。猛回头,发现标收藏夹又多了20个资源待我学习(推荐提升效率工具Tab Bundler)。
找到超过25个有关ML的“小抄”后,我写一篇博文(https://unsupervisedmethods/cheat-sheet-of-machine-learning-and-python-and-math-cheat-sheets-a4afe4e791b6),里面的资源都有超链接。
为了帮助也在经历类似探索过程的童鞋,我把至今发现的最好的教程汇总了一个列表。当然这不是网络上有关ML的最全集合,而且其中有一部分内容很普通。我的目标是要找到最好的有关机器学习子方向和NLP的教程。
我引用了能简洁介绍概念的基础内容。我已经回避包含一些大部头书的章节,和对理解概念没有帮助的科研论文。那为什么不买一本书呢? 因为教程能更好地帮助你学一技之长或者打开新视野。
我把这博文分成四个部分,机器学习,NLP,Python,和数学基础。在每一小节我会随机引入一些问题。由于这方面学习材料太丰富了,本文并未涵括所有内容。
机器学习
1、机器学习就是这么好玩!(medium/@ageitgey)
机器学习速成课程(Berkeley的ML):
Part I:https://ml.berkeley.edu/blog/2016/11/06/tutorial-1/
Part II:https://ml.berkeley.edu/blog/2016/12/24/tutorial-2/
Part III:https://ml.berkeley.edu/blog/2017/02/04/tutorial-3/
机器学习入门与应用:实例图解(toptal)
https://toptal/machine-learning/machine-learning-theory-an-introductory-primer
机器学习的简易指南 (monkeylearn)
https://monkeylearn/blog/a-gentle-guide-to-machine-learning/
如何选择机器学习算法?(sas)
https://blogs.sas/content/subconsciousmusings/2017/04/12/machine-learning-algorithm-use/
2、Activation and Loss Functions
激活函数与损失函数
sigmoid 神经元 (neuralnetworksanddeeplearning)
http://neuralnetworksanddeeplearning/chap1.html#sigmoid_neurons
激活函数在神经网络中有什么作用?(quora)
https://quora/What-is-the-role-of-the-activation-function-in-a-neural-network
神经网络的激活函数大全及其优劣 (stats.stackexchange)
https://stats.stackexchange/questions/115258/comprehensive-list-of-activation-functions-in-neural-networks-with-pros-cons
激活函数及其分类比较(medium)
https://medium/towards-data-science/activation-functions-and-its-types-which-is-better-a9a5310cc8f
理解对数损失 (exegetic.biz)
http://exegetic.biz/blog/2015/12/making-sense-logarithmic-loss/
损失函数(Stanford CS231n)
http://cs231n.github.io/neural-networks-2/#losses
损失函数L1 与L2 比较(rishy.github.io)
http://rishy.github.io/ml/2015/07/28/l1-vs-l2-loss/
交叉熵损失函数(neuralnetworksanddeeplearning)
http://neuralnetworksanddeeplearning/chap3.html#the_cross-entropy_cost_function
3、偏差(Bias)
神经网络中的偏差的作用(stackoverflow)
https://stackoverflow/questions/2480650/role-of-bias-in-neural-networks/2499936#2499936
神经网络中的偏差节点(makeyourownneuralnetwork.blogspot)
http://makeyourownneuralnetwork.blogspot/2016/06/bias-nodes-in-neural-networks.html
什么是人工神经网络中的偏差 (quora)
https://quora/What-is-bias-in-artificial-neural-network
4、感知器(Perceptron)
感知器模型(neuralnetworksanddeeplearning)
http://neuralnetworksanddeeplearning/chap1.html#perceptrons
感知器(natureofcode)
http://natureofcode/book/chapter-10-neural-networks/#chapter10_figure3
一层的神经网络(感知器模型)(dcu.ie)
http://computing.dcu.ie/~humphrys/Notes/Neural/single.neural.html
从感知器模型到深度网络(toptal)
https://toptal/machine-learning/an-introduction-to-deep-learning-from-perceptrons-to-deep-networks
5、回归算法
线性回归分析简介(duke.edu)
http://people.duke.edu/~rnau/regintro.htm
线性回归 (ufldl.stanford.edu)
http://ufldl.stanford.edu/tutorial/supervised/LinearRegression/
线性回归 (readthedocs.io)
http://ml-cheatsheet.readthedocs.io/en/latest/linear_regression.html
逻辑斯特回归 (readthedocs.io)
http://ml-cheatsheet.readthedocs.io/en/latest/logistic_regression.html
机器学习之简单线性回归教程(machinelearningmastery)
http://machinelearningmastery/simple-linear-regression-tutorial-for-machine-learning/
机器学习之逻辑斯特回归教程(machinelearningmastery)
http://machinelearningmastery/logistic-regression-tutorial-for-machine-learning/
softmax 回归(ufldl.stanford.edu)
http://ufldl.stanford.edu/tutorial/supervised/SoftmaxRegression/
6、梯度下降
基于梯度下降的学习 (neuralnetworksanddeeplearning)
http://neuralnetworksanddeeplearning/chap1.html#learning_with_gradient_descent
梯度下降(iamtrask.github.io)
http://iamtrask.github.io/2015/07/27/python-network-part2/
如何理解梯度下降算法?(kdnuggets)
http://kdnuggets/2017/04/simple-understand-gradient-descent-algorithm.html
梯度下降优化算法概览(sebastianruder)
http://sebastianruder/optimizing-gradient-descent/
优化算法:随机梯度下降算法 (Stanford CS231n)
http://cs231n.github.io/optimization-1/
7、生成学习
生成学习算法 (Stanford CS229)
http://cs229.stanford.edu/notes/cs229-notes2.pdf
贝叶斯分类算法之实例解析(monkeylearn)
https://monkeylearn/blog/practical-explanation-naive-bayes-classifier/
8、支持向量机
支持向量机(SVM)入门(monkeylearn)
https://monkeylearn/blog/introduction-to-support-vector-machines-svm/
支持向量机(Stanford CS229)
http://cs229.stanford.edu/notes/cs229-notes3.pdf
线性分类:支持向量机,Softmax (Stanford 231n)
http://cs231n.github.io/linear-classify/
9、后向传播算法(Backpropagation)
后向传播算法必知(medium/@karpathy)
https://medium/@karpathy/yes-you-should-understand-backprop-e2f06eab496b
来,给我图解一下神经网络后向传播算法?(github/rasbt)
https://github/rasbt/python-machine-learning-book/blob/master/faq/visual-backpropagation.md
后向传播算法是如何运行的?(neuralnetworksanddeeplearning)
http://neuralnetworksanddeeplearning/chap2.html
沿时后向传播算法与梯度消失(wildml)
http://wildml/2015/10/recurrent-neural-networks-tutorial-part-3-backpropagation-through-time-and-vanishing-gradients/
简易入门沿时后向传播算法(machinelearningmastery)
http://machinelearningmastery/gentle-introduction-backpropagation-time/
奔跑吧,后向传播算法!(Stanford CS231n)
http://cs231n.github.io/optimization-2/
10、深度学习
果壳里的深度学习(nikhilbuduma)
http://nikhilbuduma/2014/12/29/deep-learning-in-a-nutshell/
深度学习教程 (Quoc V. Le)
http://ai.stanford.edu/~quocle/tutorial1.pdf
深度学习,什么鬼?(machinelearningmastery)
http://machinelearningmastery/what-is-deep-learning/
什么是人工智能,机器学习,深度学习之间的区别? (nvidia)
https://blogs.nvidia/blog/2016/07/29/whats-difference-artificial-intelligence-machine-learning-deep-learning-ai/
11、优化算法与降维算法
数据降维的七招炼金术(knime.org)
https://knime.org/blog/seven-techniques-for-data-dimensionality-reduction
主成分分析(Stanford CS229)
http://cs229.stanford.edu/notes/cs229-notes10.pdf
Dropout: 改进神经网络的一个简单方法(Hinton @ NIPS 2012)
http://videolectures/site/normal_dl/tag=741100/nips2012_hinton_networks_01.pdf
如何溜你们家的深度神经网络?(rishy.github.io)
http://rishy.github.io/ml/2017/01/05/how-to-train-your-dnn/
12、长短期记忆(LSTM)
老司机带你简易入门长短期神经网络(machinelearningmastery)
http://machinelearningmastery/gentle-introduction-long-short-term-memory-networks-experts/
理解LSTM网络(colah.github.io)
http://colah.github.io/posts/2015-08-Understanding-LSTMs/
漫谈LSTM模型(echen.me)
http://blog.echen.me/2017/05/30/exploring-lstms/
小学生看完这教程都可以用Python实现一个LSTM-RNN (iamtrask.github.io)
http://iamtrask.github.io/2015/11/15/anyone-can-code-lstm/
13、卷积神经网络(CNNs)
卷积网络入门(neuralnetworksanddeeplearning)
http://neuralnetworksanddeeplearning/chap6.html#introducing_convolutional_networks
深度学习与卷积神经网络模型(medium/@ageitgey)
https://medium/@ageitgey/machine-learning-is-fun-part-3-deep-learning-and-convolutional-neural-networks-f40359318721
拆解卷积网络模型(colah.github.io)
http://colah.github.io/posts/2014-07-Conv-Nets-Modular/
理解卷积网络(colah.github.io)
http://colah.github.io/posts/2014-07-Understanding-Convolutions/
14、递归神经网络(RNNs)
递归神经网络教程 (wildml)
http://wildml/2015/09/recurrent-neural-networks-tutorial-part-1-introduction-to-rnns/
注意力模型与增强型递归神经网络(distill.pub)
http://distill.pub/2016/augmented-rnns/
这么不科学的递归神经网络模型(karpathy.github.io)
http://karpathy.github.io/2015/05/21/rnn-effectiveness/
深入递归神经网络模型(nikhilbuduma)
http://nikhilbuduma/2015/01/11/a-deep-pe-into-recurrent-neural-networks/
15、强化学习
给小白看的强化学习及其实现指南 (analyticsvidhya)
https://analyticsvidhya/blog/2017/01/introduction-to-reinforcement-learning-implementation/
强化学习教程(mst.edu)
https://web.mst.edu/~gosavia/tutorial.pdf
强化学习,你学了么?(wildml)
http://wildml/2016/10/learning-reinforcement-learning/
深度强化学习:开挂玩Pong (karpathy.github.io)
http://karpathy.github.io/2016/05/31/rl/
16、对抗式生成网络模型(GANs)
什么是对抗式生成网络模型?(nvidia)
https://blogs.nvidia/blog/2017/05/17/generative-adversarial-network/
用对抗式生成网络创造8个像素的艺术(medium/@ageitgey)
https://medium/@ageitgey/abusing-generative-adversarial-networks-to-make-8-bit-pixel-art-e45d9b96cee7
对抗式生成网络入门(TensorFlow)(aylien)
http://blog.aylien/introduction-generative-adversarial-networks-code-tensorflow/
《对抗式生成网络》(小学一年级~上册)(oreilly)
https://oreilly/learning/generative-adversarial-networks-for-beginners
17、多任务学习
深度神经网络中的多任务学习概述(sebastianruder)
http://sebastianruder/multi-task/index.html
NLP
1、NLP
《基于神经网络模型的自然语言处理》(小学一年级~上册)(Yoav Goldberg)
http://u.cs.biu.ac.il/~yogo/nnlp.pdf
自然语言处理权威指南(monkeylearn)
https://monkeylearn/blog/the-definitive-guide-to-natural-language-processing/
自然语言处理入门(algorithmia)
https://blog.algorithmia/introduction-natural-language-processing-nlp/
自然语言处理教程 (vikparuchuri)
http://vikparuchuri/blog/natural-language-processing-tutorial/
Natural Language Processing (almost) from Scratch (arxiv.org)
初高中生课程:自然语言处理 (arxiv.org)
https://arxiv.org/pdf/1103.0398.pdf
2、深度学习和 NLP
基于深度学习的NLP应用(arxiv.org)
https://arxiv.org/pdf/1703.03091.pdf
基于深度学习的NLP(Richard Socher)
https://nlp.stanford.edu/courses/NAACL2013/NAACL2013-Socher-Manning-DeepLearning.pdf
理解卷积神经网络在NLP中的应用(wildml)
http://wildml/2015/11/understanding-convolutional-neural-networks-for-nlp/
深度学习,NLP,表示学习(colah.github.io)
http://colah.github.io/posts/2014-07-NLP-RNNs-Representations/
嵌入表示,编码,注意力,预测 : 新一代深度学习因NLP的精妙而存在(explosion.ai)
https://explosion.ai/blog/deep-learning-formula-nlp
理解基于神经网络的自然语言处理(Torch实现) (nvidia)
https://devblogs.nvidia/parallelforall/understanding-natural-language-deep-neural-networks-using-torch/
深度学习在NLP中的应用(Pytorch实现) (pytorich.org)
http://pytorch.org/tutorials/beginner/deep_learning_nlp_tutorial.html
3、词向量(Word Vectors)
词袋法遇到感知器装袋法(kaggle)
https://kaggle/c/word2vec-nlp-tutorial
学习单词嵌入表示法(sebastianruder)
Part I:http://sebastianruder/word-embeddings-1/index.html
Part II:http://sebastianruder/word-embeddings-softmax/index.html
Part III:http://sebastianruder/secret-word2vec/index.html
单词嵌入表示的神奇力量(acolyer.org)
https://blog.acolyer.org/2016/04/21/the-amazing-power-of-word-vectors/
解释word2vec 的参数学习(arxiv.org)
https://arxiv.org/pdf/1411.2738.pdf
word2vec教...
使用python开扒自己的微信 营销视频课程
上一篇文章大家都知道了python有了强大的第三方库 今天我们就来介绍其中的一个微信库 wxpy 使用他我们可以轻松的制造微信机器人 导出自己微信的数据 获得自己微信的好友统计信息,得到好友的具体信息(如微信号,签名,性别,省份等)通过这些数据制作词云 让我们一起来感受下站在巨人的肩膀上是什么感觉吧!
我们先来登陆微信
代码
'''from wxpy import *
robot = Bot()'''
接下来获取好友,群,公众号信息
'''data = robot.chats
print(data)'''
获取好友统计信息也是相当简单 两行代码
'''information = robot.friends()
print(information.stats_text())'''
获取关注的公众号信息统计
'''wx = robot.mps()
print(wx.stats_text())'''
群聊
'''Groups = robot.groups()
for group in Groups:
print(group)'''
wxpy 还有其他诸多用处 大家可以自己多多研究 安装方法也特别简单 命令行pip3 install wxpy 至于聊天机器人 词云 咱们下次在聊!
python数据分析之线性回归,各种检验和解决方法! 互联网视频课程
线性回归
(1)线性回归的主要内容:
有兴趣可以玩一下这个游戏:是猜相关系数的,给你一些散点图,猜相关系数,很难猜对,说明看图说明相关性不靠谱!
(2)线性回归怎么做?数学公式
一个简单线性回归的例子:
ols:
拟合优度:
(3) 假设检验
线性回归这位老师用的是statsmodels做的。
这就是用线性回归拟合出来的模型!
使用这个函数可以直接得到模型的一些结果,会得到这些表!
这个是预测的函数:predict(x)。这是这个包的函数!
二、多元线性回归
也可以用向量的方式。
参数是迭代计算的,此处不讲了。
模型的检验
只用与 模型的选择 调整的r方。避免的样本量的影响,预防过拟合!
python中的实现 试用stats model 多个变量用+连一起!
模型的一些值
变量的筛选,除了常规的,就是使用相前,向后还有逐步,还有全子集的方法。
不多介绍,上篇也讲过。
python需要自己写来实现,当然我不会,这里可以用spss去实现
这是python代码
跳过。。。
回归的假设。
线性
强影响点筛选,然后直接删除
强烈建议用spss进行多元线性回归建模。不过为了熟悉python明天打算用python更着去实现。
自己整理一下,多元线性回归的检验方法:
整体显著性检验:回归模型出来时候,可以之间看整体的F检验的p值
拟合优度检验:最简单的就看R方和调整的R方
系数检验:T检验结果,可以直接看P值
自相关检验:dw检验用得最多
异方差检验:Goldfeld - Quandt 检验法,这个方法挺好的的。其实还有其他检验方法,解决办法是建议取对数
共线性检验:vif值
不够细,明日具体操作的时候会细点!
手把手 | 数据科学速成课:给Python新手的实操指南 新手视频课程
大数据文摘作品
编译:王梦泽、丁慧、笪洁琼、Aileen
数据科学团队在持续稳定的发展壮大,这也意味着经常会有新的数据科学家和实习生加入团队。我们聘用的每个数据科学家都具有不同的技能,但他们都具备较强的分析背景和在真正的业务案例中运用此背景的能力。例如,团队中大多数人都曾研究计量经济学,这为概率论及统计学提供了坚实的基础。
典型的数据科学家需要处理大量的数据,因此良好的编程技能是必不可少的。然而,我们的新数据科学家的背景往往是各不相同的。编程环境五花八门,因此新的数据科学家的编程语言背景涵盖了R, MatLab, Java, Python, STATA, SPSS, SAS, SQL, Delphi, PHP to C# 和 C++。了解许多不同的编程语言在有些时候确实很有必要,然而我们更希望使用一种编程语言来完成大多数的项目,这样我们可以在项目上更容易的进行合作。由于无人知晓一切,一种首选的编程语言让我们有机会互相学习。
我们公司更倾向于使用Python。在开源社区的大力支持下,Python已经成为了处理数据科学强有力的工具。Python容易使用的语法,强大的数据处理能力和极好的开源统计库,例如Numpy, Pandas, Scikit-learn, Statsmodels等,使我们可以完成各种各样的任务,范围从探索性分析到构建可伸缩的大数据管道和机器学习算法。只有对那些较宽松的统计模型我们有时会将Python和R结合使用,其中Python执行大量的数据处理工作和R进行统计建模。
我的理念是通过实践来学习,因此为了帮助新数据科学家使用Python进行数据科学研究,我们创建了Python数据科学(速成)课(Python Data Science (Crash) Course)。这门课的目标是使我们的新员工(也包括其他部门的同事)以互动的方式和自己的节奏来学习解决实际的业务问题。与此同时,更有经验的数据科学家可以回答任何问题,但也不要小看从StackOverflow或者图书馆的文档中寻找答案的的技能,我们也当然愿意向新数据科学家传授这项技能!
在文章中,我们会按阶段来介绍这个实践课程。
阶段一:学习Python的基础知识
显而易见,第一步是学习Python这个软件,即学习Python语法及基本操作。幸运的是,如果你能处理好代码缩进的话,Python语法就不没那么难了。我在使用Java编程语言时无需考虑注意缩进问题,然而当我之后开始使用Python时在缩进上容易出错。
因此,如何开始学习Python?由于我们更喜欢通过实践来学习的方式,所以我们总是让新员工从Codecademy Python课程开始。Codecademy提供了交互式的Python课程体验,无需担心安装软件会麻烦,可以在浏览器中直接学习使用Python。
Codecademy Python课程用时大约13个小时,完成之后,你应该能够在Python中进行简单的操作。
提示:数据科学家还可以在Codecademy上学习SQL,这门课程也十分重要。
阶段二:在Anaconda环境下本地安装Python
在结束了Codecademy课程后,我们显然会想去开始编写自己的代码,然而因为我们不继续在浏览器中运行Python,需要在我们本地电脑上安装Python。
Python是开源的,并可通过python.org.免费下载。然而官方版本只包含了标准的Python库,标准库中包含文本文件、日期时间和基本算术运算之类的函数。Python标准库不够全面,无法进行多样化的数据科学分析,但开源社区已经创建出了很棒的库来扩展Python的功能,使其能够进行数据科学研究。
为了避免单独下载安装所有的库,我建议使用Anaconda Python发行版。Anaconda实际上是与大量的库结合在一起的Python,因此你不需要手动安装它们。此外,Anaconda附带了一个简单的命令行工具,在必要时安装新的或更新现有的库。
提示:尽管默认情况下Anaconda几乎涵盖了所有很棒的库,但还有一些没有包含在内。你可以通过conda install package_name or pip install package_name语句来安装新的包。例如,我们经常在项目中使用进度条库 tqdm。因此,我们需要先执行pip install tqdm语句来完成Anaconda的新安装。
阶段三:使用PyCharm进行简单的编码
安装了Python之后,我们可以在本地电脑上运行Python代码。打开编辑器写下Python代码,打开命令行并运行新创建的Python文件,路径为python C:\Users\thom\new_file.py。
为了使事情变得简单一些,我更喜欢在Pychanm环境中编写Python代码。PyCharm是一种所谓的集成开发环境,对开发人员编写代码时提供支持。它可以处理常规任务,例如通过提供一个简单的运行脚本按钮来运行程序,此外它还可以通过提供自动完成功能和实时错误检查来提高效率。如果忘记了某处的空格或使用了未被定义的变量名称,PyCharm会发出警告提示。想要使用版本控制系统例如Git来进行项目合作?PyCharm会帮助你。不管怎样,使用Pycham可以在编写Python程序时节省大量的时间,charm名副其实。
阶段四:解决一个模拟的业务问题
定义研究的问题
假设现在经理提出了一个他面对的业务问题,他希望能够预测用户在公司网站上进行首次点击/参与(例如订阅简报)的概率。在给出了一些想法后,我们提出可以基于用户的页面浏览量来预测订阅转换概率,此外,你构建了以下假设:更多的页面浏览量会导致用户首次订阅的概率增大。
为了检验假设是否成立,我们需要从网络分析师处获得两个数据集:
Session数据集 包含所有用户的所有页面浏览量。
1. user_id: 用户标识符
2. session_number: 会话数量(升序排列)
3. session_start_date: 会话的开始日期时间
4. unix_timestamp: 会话的开始unix时间标记
5. campaign_id: 将用户带到网站的活动的ID
6. domain: 用户在会话中访问的(子)域
7. entry: 会话的进入页面
8. referral: 推荐网站,例如:google
9. pageviews: 会话期间的页面访问量
10. transactions: 会话期间的交易量
Engagement数据集 包含所有用户的所有参与活动。
1. user_id:唯一的用户标识符
2. site_id: 产生参与活动的网站ID
3. engagement_unix_timestamp: 发生参与活动的unix时间标记
4. engagement_type: 参与活动的类型,例如订阅简报
5. custom_properties: 参与活动的其他属性
不幸的是,我们有两个单独的数据集,因为它们来自不同的系统。然而,两个数据集可以通过唯一用户标识符user_id来匹配。我已经在GitHub上放置了我用来解决业务问题的最终代码 ,然而我强烈建议你仅在自己解决了这个问题后再去查看代码。此外,你还可以找到创建两个虚构数据集的代码。
代码链接:
https://github/thomhopmans/themarketingtechnologist/tree/master/7_data_science_in_python
使用Pandas进行简单的数据处理
无论我们应用任何统计模型解决问题,都需要预先清洗和处理数据。例如,我们需要为会话数据集中的每个用户找到其首次活动的数据(如果有的话)。这就要求在user_id上加入两个数据集,并删除首次活动后的其他所有活动数据。
Codecademy Python课程已经告诉你如何逐行阅读文本文件。Python非常适合数据管理和预处理,但不适用于数据分析和建模。
Python的Pandas库克服了这个问题。Pandas提供了(数值)表和时间序列的数据结构和操作。因此,Pandas让Python数据科学工作变得更加简单!
使用pd.read_csv()读取数据集
我们的Python代码中的第一步是加载Python中的两个数据集。Pandas提供了一个简单易用的函数来读取.csv文件:read_csv()。本着学习的原则,我们建议您自己找出如何读取这两个数据集。最后,你应该建立两个独立的DataFrames,每个数据集都需要有一个。
小贴士:在这两个文件中,我们都有不同的分隔符。此外,请务必查看read_csv()中的date_parser选项,将UNIX时间标记转换为正常的日期时间格式。
过滤无用数据
任何(大)数据问题中的下一步是减少问题规模的大小。在我们的例子中,有很多与我们问题无关的列,例如会话的媒介/来源。因此,我们在Dataframes上应用索引和选择只保留相关的列,比如user_id(必需加入这两个DataFrames),每个会话和活动的日期(在此之前搜索首次活动和会话)以及页面访问量(假设验证的必要条件)。
另外,我们会筛选出DataFrame中所有非首次的活动。可以通过查找每个user_id的最早日期来完成。具体怎样做呢?使用GroupBy:split-apply-combine逻辑!
Pandas最强大的操作之一是合并,连接和序列化表格。它允许我们执行任何从简单的左连接和合并到复杂的外部连接。因此,可根据用户的唯一标识符结合会话和首次活动的DataFrames。
删除首次活动后的所有会话
在上一步中使用简单的合并,我们为每个会话添加了首次活动的时间标记。通过比较会话时间标记与首次活动时间标记,你应该能够过滤掉无用的数据并缩小问题的规模。
添加因变量y:参与/订阅活动转换
如上所述,我们希望预测页面访问量对转换(即首次活动)概率的影响。因此,我们的因变量y是一个二进制变量,用它表示会话内是否发生了转换。由于我们做了上面的过滤(即在首次活动后删除所有非首次活动和会话),所以这种转换按照定义在每个用户的最近一次会话中进行。同样,使用GroupBy:split-apply-combine逻辑,我们可以创建一个包含观察值的新列,如果它是用户的最后一个会话,观察值将为1,否则为0。
添加自变量X:访问量的累计总和
我们的自变量是页面访问量。但是,我们不能简单地将会话中的页面访问量计算在内,因为早期会话中的页面访问会影响转换概率。因此,我们创建一个新的列,用来计算用户页面访问量的累计总和。这才是我们的自变量X。
使用StatsModels拟合逻辑回归
通过Pandas库我们最终得到了一个包含单个离散X列和单个二进制Y列的小型DataFrame。并用(二元)逻辑回归模型来估计基于一个或多个独立变量的因变量的二元响应概率。StatsModels是Python的统计和计量经济学库,提供了参数估计和统计测试工具。因此,它包含逻辑回归函数也就不足为奇了。那么,如何通过StatsModels来拟合逻辑回归模型呢?请自行百度...
技巧1:不要忘记给逻辑回归添加一个常数。
技巧2:另一个非常棒的拟合统计模型(如逻辑回归)库是scikit-learn。
使用Matplotlib或Seaborn进行可视化
在拟合逻辑回归模型之后,我们可以预测每个累计访问量的转换概率。但是,我们不能仅仅通过交付一些原始数据来将我们最新发现的结果传达给管理层。因此,数据科学家的重要任务之一就是要清晰有效地展示他的成果。在大多数情况下,这意味着提供我们的可视化结果,因为众所周知,一图胜千言...
Python包含几个非常棒的可视化库,其中MatplotLib是最知名的。而Seaborn是建立在MatplotLib上的另一个很棒的库。
MatplotLib的语法大概是以前使用过MatLab的用户所熟知的。但是,我们倾向选择Seaborn,是因为它提供更漂亮的图表而且外观很重要。
我们通过Seaborn得到了模型拟合的可视化结果,如下所示:
我们可以很好地利用这个可视化结果来证明我们的假设是否成立。
验证假设
最后一步是就验证我们提出的假设是否成立。回想一下,我们认为更多的网页访问量导致首次活动的可能性更高。
首先,我们从以前的可视化结果中可以看出,假设是成立的。不然,预测的概率也不会单调递增。尽管如此,我们还是可以从拟合的模型总结中得出同样的结论,如下所示。
Logit Regression Results ==============================================================================Dep. Variable: is_conversion No. Observations: 12420Model: Logit Df Residuals: 12418Method: MLE Df Model: 1Date: Tue, 27 Sep 2016 Pseudo R-squ.: 0.3207Time: 21:44:57 Log-Likelihood: -5057.6converged: True LL-Null: -7445.5 LLR p-value: 0.000==================================================================================== coef std err z P>|z| [95.0% Conf. Int.]------------------------------------------------------------------------------------const -3.8989 0.066 -59.459 0.000 -4.027 -3.770pageviews_cumsum 0.2069 0.004 52.749 0.000 0.199 0.215====================================================================================
我们看到,统计结果中,pagesviews_cumsum系数在显著性水平为1%时显示为正。因此,这足以表明我们的假设成立,加油!此外,您刚刚已经完成了第一个Python数据科学分析工作!:)
是不是感觉很棒?快上手试试吧!
原文链接:
https://themarketingtech...
干货 | 请收下这份2018学习清单:150个最好的机器学习,NLP和Python教程 行业视频课程
本文英文出处:Robbie Allen
翻译/雷锋网字幕组 吴楚
校对/ 雷锋网 田晋阳
机器学习的发展可以追溯到1959年,有着丰富的历史。这个领域也正在以前所未有的速度进化。在之前的一篇文章(https://unsupervisedmethods/why-artificial-intelligence-is-different-from-previous-technology-waves-764d7710df8b)中,我们讨论过为什么通用人工智能领域即将要爆发。有兴趣入坑ML的小伙伴不要拖延了,时不我待!
在今年秋季开始准备博士项目的时候,我已经精选了一些有关机器学习和NLP的优质网络资源。一般我会找一个有意思的教程或者视频,再由此找到三四个,甚至更多的教程或者视频。猛回头,发现标收藏夹又多了20个资源待我学习(推荐提升效率工具Tab Bundler)。
找到超过25个有关ML的“小抄”后,我写一篇博文(https://unsupervisedmethods/cheat-sheet-of-machine-learning-and-python-and-math-cheat-sheets-a4afe4e791b6),里面的资源都有超链接。
为了帮助也在经历类似探索过程的童鞋,我把至今发现的最好的教程汇总了一个列表。当然这不是网络上有关ML的最全集合,而且其中有一部分内容很普通。我的目标是要找到最好的有关机器学习子方向和NLP的教程。
我引用了能简洁介绍概念的基础内容。我已经回避包含一些大部头书的章节,和对理解概念没有帮助的科研论文。那为什么不买一本书呢? 因为教程能更好地帮助你学一技之长或者打开新视野。
我把这博文分成四个部分,机器学习,NLP,Python,和数学基础。在每一小节我会随机引入一些问题。由于这方面学习材料太丰富了,本文并未涵括所有内容。
机器学习
1、机器学习就是这么好玩!(medium/@ageitgey)
机器学习速成课程(Berkeley的ML):
Part I:https://ml.berkeley.edu/blog/2016/11/06/tutorial-1/
Part II:https://ml.berkeley.edu/blog/2016/12/24/tutorial-2/
Part III:https://ml.berkeley.edu/blog/2017/02/04/tutorial-3/
机器学习入门与应用:实例图解(toptal)
https://toptal/machine-learning/machine-learning-theory-an-introductory-primer
机器学习的简易指南 (monkeylearn)
https://monkeylearn/blog/a-gentle-guide-to-machine-learning/
如何选择机器学习算法?(sas)
https://blogs.sas/content/subconsciousmusings/2017/04/12/machine-learning-algorithm-use/
2、Activation and Loss Functions
激活函数与损失函数
sigmoid 神经元 (neuralnetworksanddeeplearning)
http://neuralnetworksanddeeplearning/chap1.html#sigmoid_neurons
激活函数在神经网络中有什么作用?(quora)
https://quora/What-is-the-role-of-the-activation-function-in-a-neural-network
神经网络的激活函数大全及其优劣 (stats.stackexchange)
https://stats.stackexchange/questions/115258/comprehensive-list-of-activation-functions-in-neural-networks-with-pros-cons
激活函数及其分类比较(medium)
https://medium/towards-data-science/activation-functions-and-its-types-which-is-better-a9a5310cc8f
理解对数损失 (exegetic.biz)
http://exegetic.biz/blog/2015/12/making-sense-logarithmic-loss/
损失函数(Stanford CS231n)
http://cs231n.github.io/neural-networks-2/#losses
损失函数L1 与L2 比较(rishy.github.io)
http://rishy.github.io/ml/2015/07/28/l1-vs-l2-loss/
交叉熵损失函数(neuralnetworksanddeeplearning)
http://neuralnetworksanddeeplearning/chap3.html#the_cross-entropy_cost_function
3、偏差(Bias)
神经网络中的偏差的作用(stackoverflow)
https://stackoverflow/questions/2480650/role-of-bias-in-neural-networks/2499936#2499936
神经网络中的偏差节点(makeyourownneuralnetwork.blogspot)
http://makeyourownneuralnetwork.blogspot/2016/06/bias-nodes-in-neural-networks.html
什么是人工神经网络中的偏差 (quora)
https://quora/What-is-bias-in-artificial-neural-network
4、感知器(Perceptron)
感知器模型(neuralnetworksanddeeplearning)
http://neuralnetworksanddeeplearning/chap1.html#perceptrons
感知器(natureofcode)
http://natureofcode/book/chapter-10-neural-networks/#chapter10_figure3
一层的神经网络(感知器模型)(dcu.ie)
http://computing.dcu.ie/~humphrys/Notes/Neural/single.neural.html
从感知器模型到深度网络(toptal)
https://toptal/machine-learning/an-introduction-to-deep-learning-from-perceptrons-to-deep-networks
5、回归算法
线性回归分析简介(duke.edu)
http://people.duke.edu/~rnau/regintro.htm
线性回归 (ufldl.stanford.edu)
http://ufldl.stanford.edu/tutorial/supervised/LinearRegression/
线性回归 (readthedocs.io)
http://ml-cheatsheet.readthedocs.io/en/latest/linear_regression.html
逻辑斯特回归 (readthedocs.io)
http://ml-cheatsheet.readthedocs.io/en/latest/logistic_regression.html
机器学习之简单线性回归教程(machinelearningmastery)
http://machinelearningmastery/simple-linear-regression-tutorial-for-machine-learning/
机器学习之逻辑斯特回归教程(machinelearningmastery)
http://machinelearningmastery/logistic-regression-tutorial-for-machine-learning/
softmax 回归(ufldl.stanford.edu)
http://ufldl.stanford.edu/tutorial/supervised/SoftmaxRegression/
6、梯度下降
基于梯度下降的学习 (neuralnetworksanddeeplearning)
http://neuralnetworksanddeeplearning/chap1.html#learning_with_gradient_descent
梯度下降(iamtrask.github.io)
http://iamtrask.github.io/2015/07/27/python-network-part2/
如何理解梯度下降算法?(kdnuggets)
http://kdnuggets/2017/04/simple-understand-gradient-descent-algorithm.html
梯度下降优化算法概览(sebastianruder)
http://sebastianruder/optimizing-gradient-descent/
优化算法:随机梯度下降算法 (Stanford CS231n)
http://cs231n.github.io/optimization-1/
7、生成学习
生成学习算法 (Stanford CS229)
http://cs229.stanford.edu/notes/cs229-notes2.pdf
贝叶斯分类算法之实例解析(monkeylearn)
https://monkeylearn/blog/practical-explanation-naive-bayes-classifier/
8、支持向量机
支持向量机(SVM)入门(monkeylearn)
https://monkeylearn/blog/introduction-to-support-vector-machines-svm/
支持向量机(Stanford CS229)
http://cs229.stanford.edu/notes/cs229-notes3.pdf
线性分类:支持向量机,Softmax (Stanford 231n)
http://cs231n.github.io/linear-classify/
9、后向传播算法(Backpropagation)
后向传播算法必知(medium/@karpathy)
https://medium/@karpathy/yes-you-should-understand-backprop-e2f06eab496b
来,给我图解一下神经网络后向传播算法?(github/rasbt)
https://github/rasbt/python-machine-learning-book/blob/master/faq/visual-backpropagation.md
后向传播算法是如何运行的?(neuralnetworksanddeeplearning)
http://neuralnetworksanddeeplearning/chap2.html
沿时后向传播算法与梯度消失(wildml)
http://wildml/2015/10/recurrent-neural-networks-tutorial-part-3-backpropagation-through-time-and-vanishing-gradients/
简易入门沿时后向传播算法(machinelearningmastery)
http://machinelearningmastery/gentle-introduction-backpropagation-time/
奔跑吧,后向传播算法!(Stanford CS231n)
http://cs231n.github.io/optimization-2/
10、深度学习
果壳里的深度学习(nikhilbuduma)
http://nikhilbuduma/2014/12/29/deep-learning-in-a-nutshell/
深度学习教程 (Quoc V. Le)
http://ai.stanford.edu/~quocle/tutorial1.pdf
深度学习,什么鬼?(machinelearningmastery)
http://machinelearningmastery/what-is-deep-learning/
什么是人工智能,机器学习,深度学习之间的区别? (nvidia)
https://blogs.nvidia/blog/2016/07/29/whats-difference-artificial-intelligence-machine-learning-deep-learning-ai/
11、优化算法与降维算法
数据降维的七招炼金术(knime.org)
https://knime.org/blog/seven-techniques-for-data-dimensionality-reduction
主成分分析(Stanford CS229)
http://cs229.stanford.edu/notes/cs229-notes10.pdf
Dropout: 改进神经网络的一个简单方法(Hinton @ NIPS 2012)
http://videolectures/site/normal_dl/tag=741100/nips2012_hinton_networks_01.pdf
如何溜你们家的深度神经网络?(rishy.github.io)
http://rishy.github.io/ml/2017/01/05/how-to-train-your-dnn/
12、长短期记忆(LSTM)
老司机带你简易入门长短期神经网络(machinelearningmastery)
http://machinelearningmastery/gentle-introduction-long-short-term-memory-networks-experts/
理解LSTM网络(colah.github.io)
http://colah.github.io/posts/2015-08-Understanding-LSTMs/
漫谈LSTM模型(echen.me)
http://blog.echen.me/2017/05/30/exploring-lstms/
小学生看完这教程都可以用Python实现一个LSTM-RNN (iamtrask.github.io)
http://iamtrask.github.io/2015/11/15/anyone-can-code-lstm/
13、卷积神经网络(CNNs)
卷积网络入门(neuralnetworksanddeeplearning)
http://neuralnetworksanddeeplearning/chap6.html#introducing_convolutional_networks
深度学习与卷积神经网络模型(medium/@ageitgey)
https://medium/@ageitgey/machine-learning-is-fun-part-3-deep-learning-and-convolutional-neural-networks-f40359318721
拆解卷积网络模型(colah.github.io)
http://colah.github.io/posts/2014-07-Conv-Nets-Modular/
理解卷积网络(colah.github.io)
http://colah.github.io/posts/2014-07-Understanding-Convolutions/
14、递归神经网络(RNNs)
递归神经网络教程 (wildml)
http://wildml/2015/09/recurrent-neural-networks-tutorial-part-1-introduction-to-rnns/
注意力模型与增强型递归神经网络(distill.pub)
http://distill.pub/2016/augmented-rnns/
这么不科学的递归神经网络模型(karpathy.github.io)
http://karpathy.github.io/2015/05/21/rnn-effectiveness/
深入递归神经网络模型(nikhilbuduma)
http://nikhilbuduma/2015/01/11/a-deep-pe-into-recurrent-neural-networks/
15、强化学习
给小白看的强化学习及其实现指南 (analyticsvidhya)
https://analyticsvidhya/blog/2017/01/introduction-to-reinforcement-learning-implementation/
强化学习教程(mst.edu)
https://web.mst.edu/~gosavia/tutorial.pdf
强化学习,你学了么?(wildml)
http://wildml/2016/10/learning-reinforcement-learning/
深度强化学习:开挂玩Pong (karpathy.github.io)
http://karpathy.github.io/2016/05/31/rl/
16、对抗式生成网络模型(GANs)
什么是对抗式生成网络模型?(nvidia)
https://blogs.nvidia/blog/2017/05/17/generative-adversarial-network/
用对抗式生成网络创造8个像素的艺术(medium/@ageitgey)
https://medium/@ageitgey/abusing-generative-adversarial-networks-to-make-8-bit-pixel-art-e45d9b96cee7
对抗式生成网络入门(TensorFlow)(aylien)
http://blog.aylien/introduction-generative-adversarial-networks-code-tensorflow/
《对抗式生成网络》(小学一年级~上册)(oreilly)
https://oreilly/learning/generative-adversarial-networks-for-beginners
17、多任务学习
深度神经网络中的多任务学习概述(sebastianruder)
http://sebastianruder/multi-task/index.html
NLP
1、NLP
《基于神经网络模型的自然语言处理》(小学一年级~上册)(Yoav Goldberg)
http://u.cs.biu.ac.il/~yogo/nnlp.pdf
自然语言处理权威指南(monkeylearn)
https://monkeylearn/blog/the-definitive-guide-to-natural-language-processing/
自然语言处理入门(algorithmia)
https://blog.algorithmia/introduction-natural-language-processing-nlp/
自然语言处理教程 (vikparuchuri)
http://vikparuchuri/blog/natural-language-processing-tutorial/
Natural Language Processing (almost) from Scratch (arxiv.org)
初高中生课程:自然语言处理 (arxiv.org)
https://arxiv.org/pdf/1103.0398.pdf
2、深度学习和 NLP
基于深度学习的NLP应用(arxiv.org)
https://arxiv.org/pdf/1703.03091.pdf
基于深度学习的NLP(Richard Socher)
https://nlp.stanford.edu/courses/NAACL2013/NAACL2013-Socher-Manning-DeepLearning.pdf
理解卷积神经网络在NLP中的应用(wildml)
http://wildml/2015/11/understanding-convolutional-neural-networks-for-nlp/
深度学习,NLP,表示学习(colah.github.io)
http://colah.github.io/posts/2014-07-NLP-RNNs-Representations/
嵌入表示,编码,注意力,预测 : 新一代深度学习因NLP的精妙而存在(explosion.ai)
https://explosion.ai/blog/deep-learning-formula-nlp
理解基于神经网络的自然语言处理(Torch实现) (nvidia)
https://devblogs.nvidia/parallelforall/understanding-natural-language-deep-neural-networks-using-torch/
深度学习在NLP中的应用(Pytorch实现) (pytorich.org)
http://pytorch.org/tutorials/beginner/deep_learning_nlp_tutorial.html
3、词向量(Word Vectors)
词袋法遇到感知器装袋法(kaggle)
https://kaggle/c/word2vec-nlp-tutorial
学习单词嵌入表示法(sebastianruder)
Part I:http://sebastianruder/word-embeddings-1/index.html
Part II:http://sebastianruder/word-embeddings-softmax/index.html
Part III:http://sebastianruder/secret-word2vec/index.html
单词嵌入表示的神奇力量(acolyer.org)
https://blog.acolyer.org/2016/04/21/the-amazing-power-of-word-vectors/
解释word2vec 的参数学习(arxiv.org)
https://arxiv.org/pdf/1411.2738.pdf
word2vec教...
python数据分析之线性回归,各种检验和解决方法! 企业视频课程
线性回归
(1)线性回归的主要内容:
有兴趣可以玩一下这个游戏:是猜相关系数的,给你一些散点图,猜相关系数,很难猜对,说明看图说明相关性不靠谱!
(2)线性回归怎么做?数学公式
一个简单线性回归的例子:
ols:
拟合优度:
(3) 假设检验
线性回归这位老师用的是statsmodels做的。
这就是用线性回归拟合出来的模型!
使用这个函数可以直接得到模型的一些结果,会得到这些表!
这个是预测的函数:predict(x)。这是这个包的函数!
二、多元线性回归
也可以用向量的方式。
参数是迭代计算的,此处不讲了。
模型的检验
只用与 模型的选择 调整的r方。避免的样本量的影响,预防过拟合!
python中的实现 试用stats model 多个变量用+连一起!
模型的一些值
变量的筛选,除了常规的,就是使用相前,向后还有逐步,还有全子集的方法。
不多介绍,上篇也讲过。
python需要自己写来实现,当然我不会,这里可以用spss去实现
这是python代码
跳过。。。
回归的假设。
线性
强影响点筛选,然后直接删除
强烈建议用spss进行多元线性回归建模。不过为了熟悉python明天打算用python更着去实现。
自己整理一下,多元线性回归的检验方法:
整体显著性检验:回归模型出来时候,可以之间看整体的F检验的p值
拟合优度检验:最简单的就看R方和调整的R方
系数检验:T检验结果,可以直接看P值
自相关检验:dw检验用得最多
异方差检验:Goldfeld - Quandt 检验法,这个方法挺好的的。其实还有其他检验方法,解决办法是建议取对数
共线性检验:vif值
不够细,明日具体操作的时候会细点!