首页 最新 热门 推荐

  • 首页
  • 最新
  • 热门
  • 推荐

学 Python 没找对路到底有多惨?| 码书

  • 24-03-05 01:00
  • 4754
  • 6090
blog.csdn.net

640?wx_fmt=gif

640?wx_fmt=jpeg

作者 | 异步图书

责编 | 胡巍巍

本文内容经授权摘自《Python机器学习》

60s测试:你是否适合转型人工智能?

https://edu.csdn.net/topic/ai30?utm_source=cxrs_bw

 

方法不对,努力白费!

多少程序员想转行AI,却倒在了学Python的歧路上?

都知道做AI赚钱多,为何你总是找不对门路?

众所周知,目前机器学习红遍全球。男女老少都在学机器学习模型、分类器、神经网络。

你也想成为一份子吗?但你该如何开始?以及到底该如何定义机器学习?到底什么样的教材,才是真正适合你的?今天的文章一定对你有帮助!

 

640?wx_fmt=png

 

什么是机器学习?

 

从出生的那天起,我们就一直在学习中度过。

随着逐渐的成长,开始学习如何走路;通过倾听周围人的谈话,学习并尝试模仿;通过学习不同单词的意思,使得在需要时懂得该如何进行表达。

同时也开始区分事情的好坏。例如,在第一次靠近火源时,会因灼热而后退,从而明白要与火源保持一定的距离。

那么,现在思考一下计算机的工作原理。

计算机可以在1s内遵循人类的指示处理数百万条指令,并返回结果;它可以执行人类描述的任务,但是却不能自行决定。

而机器学习此时就可以发挥作用了。如果给予计算机像人类一样的思考能力,那会发生什么呢?

可以用计算机能理解的方式,给出每一天的任务令其进行计算,还可以建立一些模型来帮助计算机在将来采取行动。

人类从经验中学习知识,计算机则遵循指令执行任务。然而,其实还可以直接向计算机提供经验让其学习并为行动做准备。

目前我们是以结构化的方式定义经验。因此,我们将计算机从数据(经验)中进行学习的过程称为机器学习(Machine Learning)。

以买香蕉为例。你的母亲需要你去市场上买一些香蕉,同时她告诉你鲜黄色的香蕉很好吃。

你到一个水果商那里,开始按照母亲的建议挑选香蕉。你买了20根香蕉后就回家了,然而回家后你注意到有些香蕉的味道并不像其他的那样好。

事实上,有5根香蕉是坏的。你逐个拿起香蕉并开始作出假设。 20根香蕉中有12根大香蕉和8根小香蕉。

这8根小香蕉都很美味,但是大香蕉就不一样了,在12根大香蕉中有5根味道不如预期。

你已经掌握了挑选香蕉的知识。第二天,当你到达市场时,注意到有个水果商在打折出售香蕉,这些香蕉和昨天的不同,它们的皮带有一些绿色。

从这里买完香蕉回到家后,根据之前的经验将每一根香蕉分为好与坏,会发现大的绿色香蕉很好吃,但是小的绿色香蕉的味道不如其他的好。这样,你就学会了新规则。

你开始将自己看作是香蕉专家。有一天,你不得不去另一个城市参加表亲的婚礼。

现在你惊讶地发现这里所有的香蕉都很小,但是味道却都很好。在这里你了解到来自这个区域的香蕉是畅销商品。

现在你确实已经是一名专家了。但如果你的姐姐很长时间没有回家了,并且她喜欢石榴而讨厌香蕉。你要怎么办呢?为了找到美味的石榴,你需要重新开始你的学习。

现在这个任务就可以由机器学习负责指引计算机完成了。可以使用数据点的形式向计算机提供知识。数据点的属性称为特征(Feature),这里的特征是香蕉的大小(小、中、大)、颜色、产地等。

输出(Output)就是味道(好或者坏)。将这些数据输入到机器学习程序中,就可以让计算机学习如何区分香蕉的好与坏。

机器学习算法是一种根据经验来给予你决策能力的智能算法。

 

640?wx_fmt=png

为什么选择Python

 

Python在数据科学家中是非常受欢迎的编程语言。

  • 第一,它免费且易学,不必为了小任务而浪费大量注意力;

  • 第二,它是面向对象的语言,这也是其被大型开发者社区支持的原因;第三,巨大的开源库支持。 Python具有相当数量的开源库,能够更迅速地实现数据科学和机器学习解决方案,而无须从头开始编写每一个算法。像Pandas、 scikit-learn、 SciPy、 NumPy、 Keras这样的库对于快速实现机器学习算法非常有用。

首先,通过一个例子了解如何使用编程语言来解决现实世界的问题。

假设举办一个聚会。你为每个进入聚会的人分配一个唯一的1~100之间的号码。现在聚会结束了,你宣布了一个消息。

“会从1~200之间获取一个随机数。如果有两个人的号码之和与这个数字相等,就会奖励这两个人。”

现在了解到,已经向x个人分配了号码。如何确定能否给其中两个人奖励呢?

可以尝试使用Python来解决这个问题。首先,从列表中获取输入数据。

 

1numberList = list([43,23,1,67,54,2,34,56,23,65,12,9,87,4,33])

现在选择一个随机数并将其存储在一个变量中。

 

1sumSelector = raw_input()

为了解决这个问题,必须先对数据进行排序。在Python列表中排序很简单,可以通过sort函数来完成。

 

1numberList = numberList.sort()

通过上述语句,将排序后的数字赋值给变量。现在使用两个指针:一个指向开始处(前指针);另一个指向结束处(后指针)。

检查两指针所指变量的和。如果和小于给定值(意味着当前的总和小于所需的总和),前指针向前移动一步并再次检查;

如果和大于给定值(意味着当前的总和大于所需的总和),将后指针向后移动一步并再次检查。

无论在任何位置,如果当前的总和等于要求的总和,便可以说,存在两个人的数值之和与给定的数值相同,需要给予奖励;

如果两个指针相交并且仍然没有达到所需的总和,则可以声称并不存在两个人的数值之和与给定的数值相等。

以下是完整的解决方案。

 

1def isPrizeGiven(numberList,sumSelector):
2
3sumOfTwo = sumSelector
4
5   i=0
6
7   j = len(numberList) -1
8
9   if(i>=j):
10
11       return False
12
13   while(i<=j):
14
15       currentSum = numberList[i]+numberList[j]
16
17       print(i,j,currentSum)
18
19       if(currentSum==sumOfTwo):
20
21           return True
22
23       if(currentSum>sumOfTwo):
24
25           j=j-1
26
27       else:
28
29           i=i+1
30
31   return False

为获得所需答案,必须向函数传递排序列表和给定的数值(即两数值的期望和)。

 

1if (isPrizeGiven(numberList,sumSelector):
2   print("No Escape. Give Prize to Everyone")
3else:
4   print("You Saved Yourself!!")

即使现在不能理解此代码,也不要担心。接下来我们还会对这段代码进行解析,并介绍程序设计语言的基本原理。

本文摘自《Python机器学习》

640?wx_fmt=png

《Python机器学习》

作者:[印]阿布舍克·维贾亚瓦吉亚

ISBN 978-7-115-50135-6/

此书为Python机器学习实用教程,Python 3程序员晋级必备图书,本书提供配套资源可供读者下载。

 

5G之后,中国的人工智能发展趋势如何?

https://edu.csdn.net/topic/ai30?utm_source=cxrs_bw

 

内容提要:

《Python机器学习》通过解释数学原理和展示编程示例对机器学习进行了系统、全面的解析。

《Python机器学习》共分为12章,内容涵盖了机器学习以及Python语言的基础知识、特征工程的概念与操作技术、数据可视化技术的实现、监督学习及无监督学习算法、文本分析、神经网络和深度学习、推荐系统的构建方法以及预测处理时间序列的方法等。

阅读本书能够加深读者对机器学习的认识和理解,从而达到理论与实践相结合、学以致用的目的。 

喜欢这本书吗?

CSDN联合异步图书,

针对CSDN用户推出限时7.5折的优惠价。

买一本书,

不过是两杯咖啡的价格,

但如果掌握了本书的精华,

或可让你升职加薪!

上进的你,

动动手指赶快把新知识纳入囊中吧!

扫码就可购买哦!

640?wx_fmt=png

点击阅读原文,也可秒购《Python机器学习》↓↓↓

程序人生
微信公众号
笑谈开发轶事,品味程序人生。
注:本文转载自blog.csdn.net的CSDN 程序人生的文章"https://blog.csdn.net/csdnsevenn/article/details/88414905"。版权归原作者所有,此博客不拥有其著作权,亦不承担相应法律责任。如有侵权,请联系我们删除。
复制链接
复制链接
相关推荐
发表评论
登录后才能发表评论和回复 注册

/ 登录

评论记录:

未查询到任何数据!
回复评论:

分类栏目

后端 (14832) 前端 (14280) 移动开发 (3760) 编程语言 (3851) Java (3904) Python (3298) 人工智能 (10119) AIGC (2810) 大数据 (3499) 数据库 (3945) 数据结构与算法 (3757) 音视频 (2669) 云原生 (3145) 云平台 (2965) 前沿技术 (2993) 开源 (2160) 小程序 (2860) 运维 (2533) 服务器 (2698) 操作系统 (2325) 硬件开发 (2492) 嵌入式 (2955) 微软技术 (2769) 软件工程 (2056) 测试 (2865) 网络空间安全 (2948) 网络与通信 (2797) 用户体验设计 (2592) 学习和成长 (2593) 搜索 (2744) 开发工具 (7108) 游戏 (2829) HarmonyOS (2935) 区块链 (2782) 数学 (3112) 3C硬件 (2759) 资讯 (2909) Android (4709) iOS (1850) 代码人生 (3043) 阅读 (2841)

热门文章

101
推荐
关于我们 隐私政策 免责声明 联系我们
Copyright © 2020-2025 蚁人论坛 (iYenn.com) All Rights Reserved.
Scroll to Top