热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

机器学习折腾记(0):开启从ScikitLearn入门机器学习算法之旅

到2018年,AI其实都没有这么火了,因为区块链更火,一个是改变生产力,一个是改变生产关系,社区如是说。当然

到2018年,AI其实都没有这么火了,因为区块链更火,一个是改变生产力,一个是改变生产关系,社区如是说。

当然,技术社区从来对去中心化都是特别热衷的,这也就见怪不怪了,2019年,什么技术又会更火?拭目以待。

最近,短视频被降火,这真的是计划没有变化快。

学习机器学习,我的建议是,有空就去看《深度学习》这本书,能够从基础打牢AI相关知识。再了解了解业界最新进展什么的,很多人都不知道机器学习该如何入门,而很多文章一上来就说要学数学,要看大牛们的公开课等等,吓退了一波又一波人。

简单说,机器学习不过是一种计算机算法,只因他是我们认知里的智能有了联系,加上需要大量数据的计算,才让我们觉得有点高大上。实际上,人工智能还有很长的路要走。

后续,我会基于《机器学习系统设计》这本书,分小结来具体实战带你入门机器学习,只要你有一点点基础就行,书名有点高大上,而实际上就是一些算法分章节的介绍而已,不要被名字吓到。

希望你在撸代码的同时,对机器学习能渐渐有更深入的了解,虽然DL4j和TensorFlow对于真实项目来说更好用,但我还是建议你从纯python入门,知其然并知其所以然,而平时有空闲时还能快速用python学习并验证一下,甚至写写别的什么应用,况且TensorFlow就是基于python的。


环境配置

一台电脑(window或mac os)


工具版本

主要工具:
Python 2.7.14(32位,足够)
NumPy 1.14.2
SciPy 1.0.1
Scikit-learn 0.19.1

辅助工具:
Matplotlib: 2.2.2(是Python编程语言及其数值数学扩展包 NumPy的可视化操作界面。它为利用通用的图形用户界面工具包,如Tkinter, wxPython, Qt或GTK+向应用程序嵌入式绘图提供了应用程序接口(API)。此外,matplotlib还有一个基于图像处理库(如开放图形库OpenGL)的pylab接口,其设计与MATLAB非常类似–尽管并不怎么好用。SciPy就是用matplotlib进行图形绘制。所以基本上都是附带引用。)
Ipython:5.6.0(是一种基于Python的交互式解释器。相较于原生的Python Shell,IPython提供了更为强大的编辑和交互功能。)
pandas:0.22.0(是一个开源的库,为Python编程语言提供了高性能,易用的数据结构和数据分析工具。其实就是用来读文件,清洗数据用的。)
Sympy:1.1.1(是一个符号计算的Python库。支持符号计算、高精度计算、模式匹配、绘图、解方程、微积分、组合数学、离散数学、几何学、概率与统计、物理学等方面的功能。)
nose :1.3.7(Python的测试工具框架)


第1步:安装python

双击.exe文件,mac os安装我也不太清楚,请查搜索引擎。


第2步:安装NumPy及SciPy

一句命令就搞定:

python -m pip install --user numpy scipy matplotlib ipython jupyter
pandas sympy nose

第3步:安装Scikit-learn

python -m pip install -U scikit-learn

第4步:安装IDE

推荐使用pycharm,使用Wing也不错(因为曾经很长一段时间项目中都用它,有点个人感情)
用惯了idea,用pycharm会很顺手,界面如下图:
这里写图片描述


小结

今天的文章主要说了配置python的机器学习环境,为了后续的学习先配好基础环境。


闲谈一分钟

很多人之所以觉得编程难学,一方面是学习本身的时间成本,而另一反面就是工具能不能用顺心,再就是大多数人并不重视配置环境而造成的。·

不要小看配置环境的这个过程,不同的版本可能会出现各种各样奇奇怪怪的编译问题,所以能够快速的配置好一个可供学习的编程环境尤其重要,特别对于初学者来说。

过去部署过程中踩过巨坑的人请举手!

个人认为,甚至影响了对学习编程兴趣程度,我过去使用Exclipse,觉得编程好难好难(新版其实好用多了,也有很多人喜欢用),而自从用了idea后,我才发现,原来哪怕只是一步的效率提升都能让感受完全不一样,也可能因为我是个感性重于理性的人才会这样,后来才明白只不过是一个偏好选择问题罢了。

当然python的环境配置比较简单了,而要是让你配置一个AIX下的Oracle RAC呢?而找到一件喜欢的工具,对于学习本身是会起很大作用的。


参考资源:

1、https://scipy.org/install.html
2、https://www.python.org/
3、http://scikit-learn.org/stable/install.html


推荐阅读
  • 掌握PHP编程必备知识与技巧——全面教程在当今的PHP开发中,了解并运用最新的技术和最佳实践至关重要。本教程将详细介绍PHP编程的核心知识与实用技巧。首先,确保你正在使用PHP 5.3或更高版本,最好是最新版本,以充分利用其性能优化和新特性。此外,我们还将探讨代码结构、安全性和性能优化等方面的内容,帮助你成为一名更高效的PHP开发者。 ... [详细]
  • 投融资周报 | Circle 达成 4 亿美元融资协议,唯一艺术平台 A 轮融资超千万美元 ... [详细]
  • 应用链时代,详解 Avalanche 与 Cosmos 的差异 ... [详细]
  • 本文回顾了作者初次接触Unicode编码时的经历,并详细探讨了ASCII、ANSI、GB2312、UNICODE以及UTF-8和UTF-16编码的区别和应用场景。通过实例分析,帮助读者更好地理解和使用这些编码。 ... [详细]
  • 单片微机原理P3:80C51外部拓展系统
      外部拓展其实是个相对来说很好玩的章节,可以真正开始用单片机写程序了,比较重要的是外部存储器拓展,81C55拓展,矩阵键盘,动态显示,DAC和ADC。0.IO接口电路概念与存 ... [详细]
  • 解决Bootstrap DataTable Ajax请求重复问题
    在最近的一个项目中,我们使用了JQuery DataTable进行数据展示,虽然使用起来非常方便,但在测试过程中发现了一个问题:当查询条件改变时,有时查询结果的数据不正确。通过FireBug调试发现,点击搜索按钮时,会发送两次Ajax请求,一次是原条件的请求,一次是新条件的请求。 ... [详细]
  • Python 3 Scrapy 框架执行流程详解
    本文详细介绍了如何在 Python 3 环境下安装和使用 Scrapy 框架,包括常用命令和执行流程。Scrapy 是一个强大的 Web 抓取框架,适用于数据挖掘、监控和自动化测试等多种场景。 ... [详细]
  • 在《Cocos2d-x学习笔记:基础概念解析与内存管理机制深入探讨》中,详细介绍了Cocos2d-x的基础概念,并深入分析了其内存管理机制。特别是针对Boost库引入的智能指针管理方法进行了详细的讲解,例如在处理鱼的运动过程中,可以通过编写自定义函数来动态计算角度变化,利用CallFunc回调机制实现高效的游戏逻辑控制。此外,文章还探讨了如何通过智能指针优化资源管理和避免内存泄漏,为开发者提供了实用的编程技巧和最佳实践。 ... [详细]
  • 浏览器作为我们日常不可或缺的软件工具,其背后的运作机制却鲜为人知。本文将深入探讨浏览器内核及其版本的演变历程,帮助读者更好地理解这一关键技术组件,揭示其内部运作的奥秘。 ... [详细]
  • OpenAI首席执行官Sam Altman展望:人工智能的未来发展方向与挑战
    OpenAI首席执行官Sam Altman展望:人工智能的未来发展方向与挑战 ... [详细]
  • 在探讨 MySQL 正则表达式 REGEXP 的功能与应用之前,我们先通过一个小实验来对比 REGEXP 和 LIKE 的性能。通过具体的代码示例,我们将评估这两种查询方式的效率,以确定 REGEXP 是否值得深入研究。实验结果将为后续的详细解析提供基础。 ... [详细]
  • 在使用 SQL Server 时,连接故障是用户最常见的问题之一。通常,连接 SQL Server 的方法有两种:一种是通过 SQL Server 自带的客户端工具,例如 SQL Server Management Studio;另一种是通过第三方应用程序或开发工具进行连接。本文将详细分析导致连接故障的常见原因,并提供相应的解决策略,帮助用户有效排除连接问题。 ... [详细]
  • 本文介绍了在 Java 编程中遇到的一个常见错误:对象无法转换为 long 类型,并提供了详细的解决方案。 ... [详细]
  • 深入解析国内AEB应用:摄像头和毫米波雷达融合技术的现状与前景
    本文作者程建伟,武汉极目智能技术有限公司CEO,入选武汉市“光谷3551人才计划”。文章详细探讨了国内自动紧急制动(AEB)系统中摄像头与毫米波雷达融合技术的现状及未来前景。通过分析当前技术的应用情况、存在的挑战以及潜在的解决方案,作者指出,随着传感器技术的不断进步和算法优化,AEB系统的性能将大幅提升,为交通安全带来显著改善。 ... [详细]
  • Python错误重试让多少开发者头疼?高效解决方案出炉
    ### 优化后的摘要在处理 Python 开发中的错误重试问题时,许多开发者常常感到困扰。为了应对这一挑战,`tenacity` 库提供了一种高效的解决方案。首先,通过 `pip install tenacity` 安装该库。使用时,可以通过简单的规则配置重试策略。例如,可以设置多个重试条件,使用 `|`(或)和 `&`(与)操作符组合不同的参数,从而实现灵活的错误重试机制。此外,`tenacity` 还支持自定义等待时间、重试次数和异常处理,为开发者提供了强大的工具来提高代码的健壮性和可靠性。 ... [详细]
author-avatar
蓝星星空
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有