大家好,今天小编关注到一个比较有意思的话题,就是关于python交叉学习的问题,于是小编就整理了2个相关介绍python交叉学习的解答,让我们一起看看吧。

  1. 怎样用Windows入门Python?
  2. 如何在Python中从零开始实现随机森林?

怎样用Windows入门Python?

入门python来说,其实很简单,python做为一门面向对象的解释型语言,其设计之处就是面向大众,降低编程入门的门槛,易学易用,现在许多国家和地区的大学都已将python做为编程入门的首选语言,我国有些省份和地区也已开始推荐和普及python,下面我主要介绍一下windows环境下python的环境是如何搭建和怎样入门python,主要内容如下:

python交叉学习-python 交叉分析
(图片来源网络,侵删)

1.首先,搭建python开发环境,这里有两种方法,一种是直接在python***下载python解释器,另一种是到anaconda***下载anaconda,下面我分别介绍一下:

  • 下载python解释器,***地址***s://***.python.org/getit/,直接点击下载就行,这中方法比较简洁,只是一个简单的解释器,没有集成任何第三方包,对于入门来说,可以了,这里我建议下载python3,毕竟是大势所趋:

    python交叉学习-python 交叉分析
    (图片来源网络,侵删)
  • 下载anaconda,anaconda集成了众多第三方库,像scipy,numpy,pandas,matplotlib等,不需要我们在单独进行安装,而且自带了许多开发环境,如jupyter notebook,spyder等,使用起来更方便,我建议初学者可以直接安装这个软件,更方便,***地址***s://***.anaconda***/download/,这里也有anaconda2和anaconda3区分,建议安装anaconda3,如下:

安装的话,这两个软件都是一个exe文件,直接双击就能安装,很简单,这里不再演示。

2.入门的话,网上的资料太多了,***的、pdf等的一大堆,像什么用《用笨办法学python》,《python基础教程》等,也有许多在线的python教程,像慕课网,实验楼等,这里都可以学习,这里需要强调的是一定要一边学习一边练习,多调试代码,多总结经验,不要只看不练,这对于学编程和入门来说是非常不利的,谨记:

python交叉学习-python 交叉分析
(图片来源网络,侵删)

3.入门之后,就要选准一个自己感兴趣并且有前景的方向,不要什么方向都学,python的面涉及的太广了,像深度学习tensorflow,theano,keras,爬虫requests,bs4,scrapy,web框架django,flask,tornado,数据处理numpy,pandas,树莓派,测试等,根本没有精力和时间去一个一个研究深入,找准一个方向就行,而且python第三方库众多,这里的方针就是现学现用,没必要都学:

最后就是,多学多练多总结,相信你一定会很快入门python这门语言的,也会很快喜欢上这门编程语言,加油!

我是七夜菌。自学入门python还是挺简单的,我以前也是断断续续的学习不得要领。现在我来分享下我觉得比较有效的入门办法。


下载安装

推荐安装Python3,其实2和3的差别并不太大,现在大多数常用库也都支持python3。这里我不推荐直接安装anaconda,等有一定基础后再使用。初学就安装官方版本,学习哪个库就安装哪个。


IDE或编辑器

支持python的IDE或者编辑器太多了,比如pycharm、eclipse、sublime text、vscode等等。有时间可以都体验一下,我使用比较顺手的是vscode。


基础知识

推荐过一遍廖雪峰老师的Python教程,教程很短,但是基本的东西都讲解了。我也买过厚厚的书籍,后来感觉看不进去。我感觉基础知识先学习大概就可以了,不需要太精细,后面可以通过做项目慢慢学习,效率更高还不枯燥。


练手项目

刚学习完基础知识,可能感觉很迷茫,不知道能用python干嘛。这个时候,你可以选择自己喜欢的方向,找一个项目进行联系,联系过程加深基本基础的巩固和学习。比如如果你想做一个博客,就开始学习做博客的步骤和需要了解的知识,这个过程你还能学会html、css、js等知识;如果你想学习爬虫,也可以选择一个想爬取的网站,一步步爬取。python能学习的方向非常多,选择你喜欢的想要学习的进行学习,学习过程肯定会遇到各种问题,一个个问题解决就有成就感和加深学习兴趣。


要入门python, 最好安装anaconda,这样Python和众多的必要packages都一次性到位。最关键的是,anaconda环境下添加或更新一个模块,该系统可自动在网上匹配与该模块版本对应的其它模块后安装,无需人工干预。这对新手来尤为重要。

同时anaconda 也可解决了一台机器上多版本Python安装问题,"封装”在该目录下,不会在windows的系统路径path中产生交叉“汚染”,避免安装其它python应用软件后,原本正常运行的代码因系统path的污染python库错配而报错的情形。当然anaconda 还提供多种界面:spyser, jupyter notebook等。

如何在Python中从零开始实现随机森林?

随机森林(Random Forest)属于集成学习(Ensemble Learning)的一种。集成学习,顾名思义,就是众模型之大。类比一下日常生活中的日子,比如给试卷评分,客观题很简单,直接按照标准答案就是了(实际上现在考试客观题基本都通过机器阅卷了),但是主观题就没那么简单了。普通的小测验,一个老师打个分就是了,但重大考试,为了慎重,往往会找多个老师同时打分,然后通过某种算法得出一个最终分,一般而言是平均,但对分差过大的情况会作特殊处理。某种意义上,其实是让多个老师投票投出一个最终得分。再比如,判例法系统中的陪审团,也可以看成是集成学习。(但是各种选秀节目的评委打分就不一定是集成学习了,因为有很多黑箱操作 ;-) 集成学习,也是让多个模型学习同一个问题,然后通过某种投票(voting)机制,得出较优的结果。

(图片来源:KDnuggets)

随机森林,顾名思义,就是找一批决策树来进行决策。用Python代码来表示,就是构建一个决策树的列表,然后让这些决策树“投票”:

trees = [create_tree() for i in range(n)]

predictions = [bagging(trees, sample) for sample in test_data]

其中,create_tree函数用于构建决策树,限于篇幅,具体定义这里省略(可以参考各决策树教程)。

bagging在原数据集的基础上创建多个子数据集,然后分给多棵决策树,让这些决策树分别学习,最后通过某种投票机制(比如平均数、中位数、众数)集成多棵决策树的成果。

比如,通过众数:

predictions = [predict(trees, sample) for sample in test_data]

bagging_prediction = max(set(predictions), key=predictions.count)

好了,随机森林的关键思路就是这些了。详细的代码示例这里就不贴了,可以自行在GitHub等地搜索。

另外,绝大多数情况下,并不需要从零开始实现随机森林,可以直接利用现成的库,比如sklearn.ensemble就提供了RandomForestClassifier。

当然,从零开始实现,对于理解随机森林还是很有帮助的。

到此,以上就是小编对于python交叉学习的问题就介绍到这了,希望介绍关于python交叉学习的2点解答对大家有用。