共计 2608 个字符,预计需要花费 7 分钟才能阅读完成。
你晓得 Python 是被称为 全能编程语言 的吗?是的,它的确是,尽管不应该在每个我的项目中都应用它。你能够应用它来创立桌面应用程序、游戏、挪动应用程序、网站和系统软件。它甚至是最适宜用于实现 人工智能 和 机器学习 算法的语言。因而,在过来的几周里,我为 Python 开发人员收集了一些独特的我的项目构想。这些我的项目构想很有可能会让你对这门神奇的语言产生趣味。最棒的是,你能够通过这些乏味但也具备挑战性的我的项目来加强你的 Python 编程技能。让咱们来一一看下。
1. 应用语音命令创立软件 GUI
交互示例——原图来自 Unsplash
现在,桌面利用程序开发畛域曾经获得了巨大进步。你能看到许多拖拽式 GUI 构建器和语音辨认库。那么,为什么不能将它们联合在一起,通过与计算机对话来创立一个用户界面呢? 这是一个全新的概念,通过一番钻研,我发现还没有人尝试这样做。因而,它可能比上面提到的那些更具挑战性。上面是应用 Python 开始这个我的项目的一些阐明。首先,你须要用到如下的包:
- 语音辨认库
- PAGE ——拖拽式 GUI 构建器
- PAGE 的文档
- PAGE 是如何工作的视频
- 应用 PAGE 创立登录窗口
当初,咱们的想法是对一些语音命令进行硬编码,例如:
你明确我的意思了吧?能够十分简单明了地增加更多这样的命令。因为这将是一个 最小可行性产品 (Minimum Viable Product,MVP)。所以,如果你必须硬编码许多条件语句(例如,if…else),这是齐全能够的。设置完这些根本命令后,就能够测试代码了。当初,你能够尝试在窗口中构建一个十分根本的登录表单。这一想法的次要灵活性在于它能够用于游戏开发、网站和挪动应用程序。即便是应用不同的编程语言也能够。
2. AI 博彩机器人
网球较量——图片来自 Unsplash
博彩是一种人们预测后果的流动,如果他们猜对了,就会失去回报。在过来几年中,人工智能或机器学习畛域呈现了许多技术提高。例如,你可能据说过像 AlphaGo Master、AlphaGo Zero 和 AlphaZero 这样的程序,它们能够比任何业余的人类玩家都能更好地玩 Go(游戏)。你甚至能够取得相似 Leela Zero 这样程序的 源码。我想表白的一点是,人工智能正在变得比咱们更聪慧。这意味着它能够通过思考所有的可能性并从过来的教训中学习来更好地预测一些事件。让咱们在 Python 中利用一些有监督学习的概念创立一个 AI 博彩机器人吧。要开始本我的项目,这里有一些你须要应用到的库。
- pandas——数据分析
- NumPy——多维数组、矩阵和数学函数
- scikit-learn ——机器学习
- XGBoost —— 梯度晋升(Gradient Boosting)
- Matplotlib ——绘图
- seaborn ——统计数据可视化
- pickle ——Python 对象序列化
首先,你须要抉择一种较量(例如网球、足球等)来预测后果。当初搜寻可用于训练模型的历史匹配后果数据。例如,.csv 格局的网球较量数据能够从 tennis-data.co.uk 网站上下载。如果你对博彩不理解,上面是它的工作原理。
- 你能够在 Roger Federer 身上以 1.3 的赔率押 10 美元。
- 如果他获胜,你将取得 10 美元(理论金额),外加 3 美元(利润)。
- 如果他输了,你也会输掉你的钱(例如,10 美元)。
训练完模型后,咱们必须计算每个预测的置信水平(Confidence Level),通过查看预测正确的次数来理解机器人的体现,最初还要关注投资回报率(ROI)。能够下载由 Edouard Thomas 开发的一个相似的 开源 AI 博彩机器人我的项目(https://github.com/edouardtho…)。
3. 交易机器人
交易——图片来自 Unsplash
交易机器人与上一个我的项目十分类似,因为它也须要 AI 来进行预测。当初的问题是,AI 是否能够正确地预测股价的稳定?当然,答案是必定的。在开始之前,咱们须要一些数据来开发一个交易机器人。
- Yahoo Finance —— 获取股票数据
- Alpha Vantage —— 用于金融数据的实时 API
这些来自投资百科(Investopedia)的资源可能有助于训练机器人。
- 初学者的交易策略
- 只有通过了这五步测试能力进行交易
读完这两篇文章后,你会对什么时候买股票,什么时候卖股票有一个更好的了解。这些常识能够很容易地转换为 Python 程序,从而主动地为咱们做出决策。你也能够参考这个名为 freqtrade(https://github.com/freqtrade/…)的开源交易机器人。它应用 Python 构建,并实现了多种机器学习算法。
4. 钢铁侠 Jarvis(基于 AI 的虚构助手)
AI 助手界面——图片来自 Unsplash
这个想法取材于好莱坞电影《钢铁侠》系列。这部电影围绕着科技、机器人和 AI 开展。在这里,钢铁侠用人工智能为本人打造了一个虚构助手。该程序被称为 Jarvis,能够帮忙钢铁侠实现日常工作。钢铁侠应用简略的英语向 Jarvis 收回指令,Jarvis 也用英语回应。这意味着咱们的程序须要语音辨认以及文本转语音的性能。倡议应用这些库:
- 语音辨认
- 文字转语音 (TTS)
当初,你能够对语音命令进行硬编码,例如:
你还能够应用 Jarvis 执行其余很多工作,例如:
- 设置手机闹钟。
- 不停地查看家里的监控摄像头,并告知是否有人在里面等着。你能够增加更多的性能,如人脸检测和辨认。它能够帮忙你理解里面有哪些人或者有多少人。
- 关上 / 敞开房间的窗户。
- 关上 / 敞开灯。
- 主动回复电子邮件。
- 安顿工作。
甚至连 Facebook 的创始人“马克·扎克伯格”(Mark Zuckerberg)都将 Jarvis 作为一个辅助我的项目。
5. 监控某个网站以理解行将举办的艺术家演唱会
门票——图片来自 Unsplash
Songkick 是一项十分受欢迎的服务,它能够提供无关行将举办的音乐会的信息。其 API 可用于通过以下形式搜寻行将举办的音乐会:
- 艺术家
- 地位
- 会场
- 日期和工夫
你能够创立一个 Python 脚本,应用 Songkick 的 API 每天查看某个特定的音乐会。最初,只有有音乐会,就给本人发一封电子邮件。有时 Songkick 甚至会在其网站上显示“购票”链接。然而,这个链接能够针对不同的音乐会转到不同的网站上。这意味着即便咱们利用网络抓取,也很难主动购票。相同,咱们能够简略地显示“购票”链接,就像它在咱们的应用程序中一样,以便进行手动操作。