pythonamazon
⑴ 有哪些 python 经典书籍
《深度学习入门》([ 日] 斋藤康毅)电子书网盘下载免费在线阅读
资源链接:
链接: https://pan..com/s/1ddnvGv-r9PxjwMLpN0ZQIQ
书名:深度学习入门
作者:[ 日] 斋藤康毅
译者:陆宇杰
豆瓣评分:9.4
出版社:人民邮电出版社
出版年份:2018-7
页数:285
内容简介:本书是深度学习真正意义上的入门书,深入浅出地剖析了深度学习的原理和相关技术。书中使用Python3,尽量不依赖外部库或工具,从基本的数学知识出发,带领读者从零创建一个经典的深度学习网络,使读者在此过程中逐步理解深度学习。书中不仅介绍了深度学习和神经网络的概念、特征等基础知识,对误差反向传播法、卷积神经网络等也有深入讲解,此外还介绍了深度学习相关的实用技巧,自动驾驶、图像生成、强化学习等方面的应用,以及为什么加深层可以提高识别精度等“为什么”的问题。
作者简介:
斋藤康毅
东京工业大学毕业,并完成东京大学研究生院课程。现从事计算机视觉与机器学习相关的研究和开发工作。是Introcing Python、Python in Practice、The Elements of Computing Systems、Building Machine Learning Systems with Python的日文版译者。
译者简介:
陆宇杰
众安科技NLP算法工程师。主要研究方向为自然语言处理及其应用,对图像识别、机器学习、深度学习等领域有密切关注。Python爱好者。
⑵ python如何统计字符串
判断特定词出现很容易,统计出现次数也很容易。但是处于多个特定词之后的每一个非特定词归哪个特定词?还有,后出现的关键词不需要作为先出现的关键词的子项吧?
我觉得用hash表比较方便表示。另外,关键词放到一个列表里。['cnn.com','amazon.com',...]
然后构建一个hash表Map 【键就是关键词,值是一个hash表,每项是 词:计数的形式 】
{ {'cnn.com': { 'a.com':1 },... },'amazon.com':{ 'bb.com':1,...},... }
这个表是处理过程中逐步建立起来的
然后每次遇到一次词X,比较是否在关键词列表中,如果是 并且hash表中没有,加到hash表中,Map[X]={},否则不添加;
如果不是关键词,那么在Map表中每个项记上一笔【当然,如果不在一个关键词的值hash表中噢,新增一项,否则增加计数】。
最后,遍历关键词hash表,并对值按照逆序输出。就是你要求的格式。
⑶ Python入门书籍推荐
来源:酷瓜书单
1. 《Python基础教程》 豆瓣评分:8
python最快的入门是直接看 docs.python.org/tutorial/, 系统学习的话,这本书不错。
2. 《Python学习手册》 豆瓣评分:8
非常全的一个工具书。建议先大致的看完,然后再根据实际使用去某个章节细读。
3. 《Python 3程序开发指南》 豆瓣评分:8
此书深入浅出,适合python初学者学习。书中的内容包含了进行python编程的所有知识,实例经典
4. 《Python源码剖析》 豆瓣评分:8
国内称得上“着”的书不多,这本书不但是着,而是着得不错。
5. 《Python编程(第三版·英文影印版)》 豆瓣评分:8
大而全的一本书,但是个人觉得它的选题很广,但是都不深入;虽然读起来很轻松,但是废话较多;还有就是GUI的篇幅太多,而我又基本不用GUI... 总体来说,和以前读Core Java的感觉比较接近,适合初学者循序渐进。
⑷ 有没有会python网络爬虫的,求手把手教,RMB报酬,可以商量,在线等
使用 urllib,urllib2 等python模块也可以,只是...
最近在学习python 的 Scrapy 框架。
只是安装Scrapy框架可能有点麻烦...
使用 Scrapy 创建个项目,然后编辑下面文件
配置 items.py 文件
#-*-coding:utf-8-*-
#
#
#Seedocumentationin:
#http://doc.scrapy.org/en/latest/topics/items.html
fromscrapyimportItem,Field
classPadItem(Item):
sno=Field()
price=Field()
接着在,spiders文件夹下面创建 pad_spider.py 文件
#-*-coding:utf-8-*-
fromscrapyimportSpider,Selector
fromscrapy.httpimportRequest
fromamazon.itemsimportPadItem
classPadSpider(Spider):
name="pad"
allowed_domains=["amazon.com"]
start_urls=[]
u1='http://www.amazon.cn/s/ref=sr_pg_'
u2='?rh=n%3A2016116051%2Cn%3A!2016117051%2Cn%3A888465051%2Cn%3A106200071&page='
u3='&ie=UTF8&qid=1408641827'
foriinrange(181):
url=u1+str(i+1)+u2+str(i+1)+u3
start_urls.append(url)
defparse(self,response):
sel=Selector(response)
sites=sel.xpath('//div[@class="rsltGridprodcelwidget"]')
items=[]
forsiteinsites:
item=PadItem()
item['sno']=site.xpath('@name').extract()[0]
try:
item['price']=site.xpath('ul/li/div/a/span/text()').extract()[0]
#索引异常,说明是新品
exceptIndexError:
item['price']=site.xpath('ul/li/a/span/text()').extract()[0]
items.append(item)
returnitems
这里面使用的是 XPath 选择器选择html标签的。
然后在,配置一下 settings.py
#-*-coding:utf-8-*-
#
#
#Forsimplicity,
#default.:
#
#http://doc.scrapy.org/en/latest/topics/settings.html
#
BOT_NAME='amazon'
SPIDER_MODULES=['amazon.spiders']
NEWSPIDER_MODULE='amazon.spiders'
#(andyourwebsite)ontheuser-agent
#USER_AGENT='amazon(+http://www.yourdomain.com)'
USER_AGENT='Mozilla/5.0(Macintosh;IntelMacOSX10_8_3)AppleWebKit/536.5(KHTML,likeGecko)Chrome/19.0.1084.54Safari/536.5'
FEED_URI='pad.xml'
FEED_FORMAT='xml'
然后就可以运行了:
dizzy@dizzy-pc:~/Python/spit/amazon$scrapycrawlpad
2014-08-2203:18:09+0800[scrapy]INFO:Scrapy0.24.4started(bot:amazon)
2014-08-2203:18:09+0800[scrapy]INFO:Optionalfeaturesavailable:ssl,http11,django
2014-08-2203:18:09+0800[scrapy]INFO:Overriddensettings:{'NEWSPIDER_MODULE':'amazon.spiders','FEED_URI':'pad.xml','SPIDER_MODULES':['amazon.spiders'],'BOT_NAME':'amazon','USER_AGENT':'Mozilla/5.0(Macintosh;IntelMacOSX10_8_3)AppleWebKit/536.5(KHTML,likeGecko)Chrome/19.0.1084.54Safari/536.5','FEED_FORMAT':'xml'}
2014-08-2203:18:10+0800[scrapy]INFO:Enabledextensions:FeedExporter,LogStats,TelnetConsole,CloseSpider,WebService,CoreStats,SpiderState
2014-08-2203:18:10+0800[scrapy]INFO:Enableddownloadermiddlewares:HttpAuthMiddleware,DownloadTimeoutMiddleware,UserAgentMiddleware,RetryMiddleware,DefaultHeadersMiddleware,MetaRefreshMiddleware,HttpCompressionMiddleware,RedirectMiddleware,CookiesMiddleware,ChunkedTransferMiddleware,DownloaderStats
2014-08-2203:18:10+0800[scrapy]INFO:Enabledspidermiddlewares:HttpErrorMiddleware,OffsiteMiddleware,RefererMiddleware,UrlLengthMiddleware,DepthMiddleware
2014-08-2203:18:10+0800[scrapy]INFO:Enableditempipelines:
2014-08-2203:18:10+0800[pad]INFO:Spideropened
2014-08-2203:18:10+0800[pad]INFO:Crawled0pages(at0pages/min),scraped0items(at0items/min)
2014-08-2203:18:10+0800[scrapy]DEBUG:Telnetconsolelisteningon127.0.0.1:6024
2014-08-2203:18:10+0800[scrapy]DEBUG:Webservicelisteningon127.0.0.1:6081
2014-08-2203:18:13+0800[pad]DEBUG:Crawled(200)<GEThttp://www.amazon.cn/s/ref=sr_pg_2?rh=n%3A2016116051%2Cn%3A!2016117051%2Cn%3A888465051%2Cn%3A106200071&page=2&ie=UTF8&qid=1408641827>(referer:None)
2014-08-2203:18:13+0800[pad]DEBUG:Crawled(200)<GEThttp://www.amazon.cn/s/ref=sr_pg_6?rh=n%3A2016116051%2Cn%3A!2016117051%2Cn%3A888465051%2Cn%3A106200071&page=6&ie=UTF8&qid=1408641827>(referer:None)
2014-08-2203:18:13+0800[pad]DEBUG:Scrapedfrom<200http://www.amazon.cn/s/ref=sr_pg_2?rh=n%3A2016116051%2Cn%3A!2016117051%2Cn%3A888465051%2Cn%3A106200071&page=2&ie=UTF8&qid=1408641827>
{'price':u'uffe53399.00','sno':u'B00DH9UZCO'}
2014-08-2203:18:13+0800[pad]DEBUG:Scrapedfrom<200http://www.amazon.cn/s/ref=sr_pg_2?rh=n%3A2016116051%2Cn%3A!2016117051%2Cn%3A888465051%2Cn%3A106200071&page=2&ie=UTF8&qid=1408641827>
{'price':u'uffe54299.00','sno':u'B00IMXIB9E'}
2014-08-2203:18:13+0800[pad]DEBUG:Scrapedfrom<200http://www.amazon.cn/s/ref=sr_pg_2?rh=n%3A2016116051%2Cn%3A!2016117051%2Cn%3A888465051%2Cn%3A106200071&page=2&ie=UTF8&qid=1408641827>
结果,如下
<?xmlversion="1.0"encoding="utf-8"?>
<items>
<item>
<sno>B00JWCIJ78</sno>
<price>¥3199.00</price>
</item>
<item>
<sno>B00E907DKM</sno>
<price>¥3079.00</price>
</item>
<item>
<sno>B00L8R7HKA</sno>
<price>¥3679.00</price>
</item>
<item>
<sno>B00IZ8W4F8</sno>
<price>¥3399.00</price>
</item>
<item>
<sno>B00MJMW4BU</sno>
<price>¥4399.00</price>
</item>
<item>
<sno>B00HV7KAMI</sno>
<price>¥3799.00</price>
</item>
<item>
<sno>B00M2G1NF6</sno>
<price>¥5949.00</price>
</item>
<item>
<sno>B00L8H9QYK</sno>
<price>¥1899.00</price>
</item>
<item>
<sno>B00LE7WZ74</sno>
<price>¥8800.00</price>
</item>
<item>
<sno>B00LO5C0M6</sno>
<price>¥7799.00</price>
</item>
<item>
<sno>B00LY38U0O</sno>
<price>¥7649.00</price>
</item>
<item>
<sno>B00LO5C3JG</sno>
<price>¥6996.00</price>
</item>
<item>
<sno>B00L8R6FA8</sno>
<price>¥2099.00</price>
</item>
<item>
<sno>B00LO5BMNE</sno>
<price>¥6398.00</price>
</item>
<item>
<sno>B00L0YQ914</sno>
<price>¥7751.00</price>
</item>
...
</items>
⑸ 如何正确学习数据科学中的 python
作者 | skura
来源 | AI开发者
大多数有抱负的数据科学家是通过学习为开发人员开设的编程课程开始认识 python 的,他们也开始解决类似 leetcode 网站上的 python 编程难题。他们认为在开始使用 python 分析数据之前,必须熟悉编程概念。
资深数据分析师 Manu Jeevan 认为,这是一个巨大的错误,因为数据科学家使用 python 来对数据进行检索、清洗、可视化和构建模型,而不是开发软件应用程序。实际上,为了完成这些任务,你必须将大部分时间集中在饥肢学习 python 中的模块和库上。他认为,学习数据科学的正确姿势应该如下文,AI 开发者进行了编译整理。
请按照下面这个步骤来学习数据科学的 python。
配置编程环境
Jupyter Notebook 是开发和展示数据科学项目的强大编程环境。
在电脑上安装 Jupyter Notebook 最简单的方法是通过 Anaconda 进行安装。Anaconda 是数据科学中使用最广泛的 python 工具,它预装了所有最流行的库。
你可以浏览标题为“A Beginner’s Guide to Installing Jupyter Notebook Using Anaconda Distribution”的博客文章(https://medium.com/better-programming/beginners-quick-guide-for-handling-issues-launching-jupyter-notebook-for-python-using-anaconda-8be3d57a209b),了解如何安装 Anaconda。安装 Anaconda 时,请选择最新的 python 3 版本。
安装完 Anaconda 后,请阅读 Code Academy 的这篇文章(https://www.codecademy.com/articles/how-to-use-jupyter-notebooks),了解如何使用 Jupyter Notebook。
只学习 python 的基础知识
Code Academy 有一门关于 python 的优秀课程,大约需要 20 个小时才能完成。你不必升级到 pro 版本,因为你的目标只是熟悉 python 编程语言的基础知识。课程地址:https://www.codecademy.com/learn/learn-python-3
NumPy 和 Pandas,学习的绝佳闭陵资源
在处理计算量大的算法和大量数据时,python 速度较慢。你可能会问,既然如此那为什么 python 是数据科学最流行的编程语言?
答案是,在 python 中,很容易以 C 或 Fortran 扩展的形式将数字处理任务转移到底层。这正是 NumPy 和 Pandas 所做的事情。
首先,你应该学会 NumPy。它是用 python 进行科学计算的最基本的模块。NumPy 支持高度优化的多维数组,这是大多数机器学习算法最基本的数据结构。
接下来,你应该学习 Pandas。数据科学家花费大部分时间清洗数据,这也被称为数据整。
Pandas 是操作数据最流行的 python 库。Pandas 是 NumPy 的延伸。Pandas 的底层代码广泛使用 NumPy 库。Pandas 的主要数据结构称为数据帧。
Pandas 的创造者 Wes McKinney 写了一本很棒的书,叫做《Python for Data Analysis》(https://www.amazon.com/Python-Data-Analysis-Wrangling-IPython-ebook/dp/B075X4LT6K)。在书中的第 4、5、7、8 和 10 章可以学习 Pandas 和 NumPy。这些章节涵盖了最常用的 NumPy 和 Pandas 特性来处理数据。
学习使用 Matplotlib 可视化数据
Matplotlib 是用于创建基本可视化图形的基本 python 包。你必须学习如何使用 Matplotlib 创建一些最常见的图表,如折线图轿肢戚、条形图、散点图、柱状图和方框图。
另一个建立在 Matplotlib 之上并与 Pandas 紧密结合的好的绘图库是 Seaborn。在这个阶段,我建议你快速学习如何在 Matplotlib 中创建基本图表,而不是专注于 Seaborn。
我写了一个关于如何使用 Matplotlib 开发基本图的教程,该教程由四个部分组成。
第一部分:Matplotlib 绘制基本图(http://nbviewer.ipython.org/gist/manujeevanprakash/138c66c44533391a5af1) 第二部分:如何控制图形的样式和颜色,如标记、线条粗细、线条图案和使用颜色映射(https://nbviewer.jupyter.org/gist/manujeevanprakash/7dc56e7906ee83e0bbe6) 第三部分:注释、控制轴范围、纵横比和坐标系(https://nbviewer.jupyter.org/gist/manujeevanprakash/7cdf7d659cd69d0c22b2) 第四部分:处理复杂图形(https://nbviewer.jupyter.org/gist/manujeevanprakash/7d8a9860f8e43f6237cc)你可以通过这些教程来掌握 Matplotlib 的基本知识。
简而言之,你不必花太多时间学习 Matplotlib,因为现在公司已经开始采用 Tableau 和 Qlik 等工具来创建交互式可视化。
如何使用 sql 和 python
数据有组织地驻留在数据库中。因此,你需要知道如何使用 SQL 检索数据,并使用 python 在 Jupyter Notebook 中执行分析。
数据科学家使用 SQL 和 Pandas 来操纵数据。有一些数据操作任务使用 SQL 就可以很容易地执行,并且有一些任务可以使用 Pandas 高效地完成。我个人喜欢使用 SQL 来检索数据并在 Pandas 中进行操作。
如今,公司使用 Mode Analytics 和 Databricks 等分析平台来轻松地使用 python 和 SQL。
所以,你应该知道如何一起有效地使用 SQL 和 python。要了解这一点,你可以在计算机上安装 SQLite 数据库,并在其中存储一个 CSV 文件,然后使用 python 和 SQL 对其进行分析。
这里有一篇精彩的博客文章,向你展示了如何做到这一点:Programming with Databases in Python using SQLite(https://medium.com/analytics-vidhya/programming-with-databases-in-python-using-sqlite-4cecbef51ab9)。
在浏览上述博客文章之前,你应该了解 SQL 的基础知识。Mode Analytics 上有一个很好的关于 SQL 的教程:Introction to SQL(https://medium.com/analytics-vidhya/programming-with-databases-in-python-using-sqlite-4cecbef51ab9)。通过他们的基本 SQL 部分,了解 SQL 的基本知识,每个数据科学家都应该知道如何使用 SQL 有效地检索数据。
学习和 python 相关的基本统计学知识
多数有抱负的数据科学家在不学习统计学的基础知识的情况下,就直接跳到机器学习知识的学习中。
不要犯这个错误,因为统计学是数据科学的支柱。而且,很多数据科学家学习统计学只是学习理论概念,而不是学习实践概念。
我的意思是,通过实践概念,你应该知道什么样的问题可以用统计学来解决,了解使用统计数据可以解决哪些挑战。
以下是你应该了解的一些基本统计概念:
抽样、频率分布、平均值、中位数、模式、变异性度量、概率基础、显着性检验、标准差、z 评分、置信区间和假设检验(包括 A/B 检验)
要学习这些知识,有一本很好的书可以看看:《Practical Statistics for Data Scientists: 50 Essential Concepts》(https://www.amazon.com/Practical-Statistics-Data-Scientists-Essential/dp/9352135652)。不幸的是,本书中的代码示例是用 R 编写的,但是很多人包括我自己在内使用的是 Python。
我建议你阅读本书的前四章。阅读本书的前 4 章,了解我前面提到的基本统计概念,你可以忽略代码示例,只了解这些概念。本书的其余章节主要集中在机器学习上。我将在下一部分讨论如何学习机器学习。
大多数人建议使用 Think Stats (https://www.amazon.com/Think-Stats-Allen-B-Downey/dp/1449307116)来学习 python 的统计知识,但这本书的作者教授了自己的自定义函数,而不是使用标准的 python 库来进行统计知识讲解。因此,我不推荐这本书。
接下来,你的目标是实现在 Python 中学习的基本概念。StatsModels 是一个流行的 python 库,用于在 python 中构建统计模型。StatsModels 网站提供了关于如何使用 Python 实现统计概念的优秀教程。
或者,你也可以观看 Ga?l Varoquaux 的视频。他向你展示了如何使用 Pandas 和统计模型进行推理和探索性统计。
使用 Scikit-Learn 进行机器学习
Scikit-Learn 是 Python 中最流行的机器学习库之一。你的目标是学习如何使用 Scikit Learn 实现一些最常见的机器学习算法。
你应该像下面这样做。
首先,观看 Andrew Ng 在 Coursera 上的机器学习课程(https://www.coursera.org/learn/machine-learning)的第 1、2、 3、6,、7 和第 8 周视频。我跳过了关于神经网络的部分,因为作为初学者,你必须关注最通用的机器学习技术。
完成后,阅读“Hands-On Machine Learning with Scikit-Learn and TensorFlow”一书(https://www.amazon.com/Hands-Machine-Learning-Scikit-Learn-TensorFlow/dp/1491962291)。你只需浏览这本书的第一部分(大约 300 页),它是最实用的机器学习书籍之一。
通过完成本书中的编码练习,你将学习如何使用 python 实现你在 Andrew Ng 课程中学习到的理论概念。
结论
最后一步是做一个涵盖上述所有步骤的数据科学项目。你可以找到你喜欢的数据集,然后提出有趣的业务问题,再通过分析来回答这些问题。但是,请不要选择像泰坦尼克号这样的通用数据集。你可以阅读“19 places to find free data sets for your data science project”来查找合适的数据集(https://www.dataquest.io/blog/free-datasets-for-projects/)。
另一种方法是将数据科学应用到你感兴趣的领域。例如,如果你想预测股票市场价格,那么你可以从 Yahoo Finance (https://www.scrapehero.com/scrape-yahoo-finance-stock-market-data/)中获取实时数据,并将其存储在 SQL 数据库中,然后使用机器学习来预测股票价格。
如果你希望从其它行业转行到数据科学,我建议你完成一个利用你的领域专业知识的项目。关于这些,我在以前的博客文章"A Step-by-Step Guide to Transitioning your Career to Data Science – Part 1"(https://www.kdnuggets.com/2019/05/guide-transitioning-career-data-science-part-1.html) 和"A Step-by-Step Guide to Transitioning your Career to Data Science – Part 2"(https://www.kdnuggets.com/2019/06/guide-transitioning-career-data-science-part-2.html)中有提到过。