《python机器学习实战》阅读记录(一)

《python机器学习实战》阅读

根据自己规划的路线,我需要自学一些有关python机器学习方面的知识,在图书馆兜兜转转,觉得这本书还比较适合我,反正先看着呗,吃着火锅唱着歌,不合适了再换学习资料吧(这书好像是一个公司的产品,不管了。先学着再说)

第一章 python开发环境选择与比较

pycharm: 大多数都接触过,里面提到的版本控制系统还没有用过,可以试一下github的使用
调试的功能没有用到过,以前写c++的时候老是用cout语句输出对应标志和数值以检查当前程序的运行状态,已经非常落后了,想用用加断点调试的方法
测试方面,pycharm支持各大主流的python测试框架,(unittest,doctest,Nosetest),可以直接在IDE里创建、运行和调试测试程序,修改测试配置,查看测试结果
特点:
1、支持先进python开发工具链,包括virtualenv,buildout
2、整合了各大版本控制系统
3、支持google app engine,能到app engine服务器上运行和部署用户的应用,同时确保代码满足沙盒环境需求

jupyter: 这个已经比较熟了,主要是交互式的开发环境,比较适合于草稿和设计阶段的程序开发,还支持markdown,可以作为文档编辑器,可以添加各类元素,包括图片视频链接文档。

sublime text: 这个是我没有用到过的,跨平台的源代码编辑器,最初被设计成一个具有丰富扩展功能的vim,主要特点有:可扩展性强,包含大量使用插件,既支持命令行环境也支持图形界面环境;支持vim模式
vscode: 经常用到,不说了

四种开发环境:没有必要过于纠结,用自己熟悉的就可以了,毕竟只是一个代码编辑器,主要还是要培养自己编码能力

第二章 anaconda介绍

接触过,主要是用来管理各种包会比较简单;

2.2使用conda管理虚拟环境

虚拟环境: Python中的虚拟环境是将一个项目所依赖的库文件独立存放在某个地方的工具。
开发者的电脑中可能只有一套Python环境,但是实际开发过程中,在同时开发的两个项目中可能所依赖的某个包的版本不一样,用虚拟环境就可以解决这样的问题,即为这两个项目分别建立各自独立的虚拟环境,这样开发者电脑上的包目录就可以能够保持干净且便于管理
使用虚拟环境的另一个好处就是在服务器端部署的时候容易控制(docker容器部署方案),当手头维持的项目越来越多,时间跨度很大的时候,用一套环境来适配所有的项目基本不可能,因此通过搭建虚拟环境就非常重要。

一些命令:
创建虚拟环境:

conda create -n xxx python=x.x

(其中,xxx是环境的名称,x.x是所使用的python版本)
列出所有环境:

conda-env list

激活和退出虚拟环境:

activate xxx
deactivate 

安装包:

conda install click

删除虚拟环境:

conda remove xxx --all

激活环境后可以查看虚拟环境的所有配置:

conda list

复制虚拟环境:

conda create --name xxxx --clone xxx

导出环境:

conda-env export -n xxx

看了看目录,突然发现了一个问题:这书前面的东西太多了,估计还要两三天才能接触到机器学习的内容。
不过这样也好,多学一些基础的东西。

第三章 开发规范和方法

这部分是完全没有接触过的东西,可以学一点东西,让自己的代码规范一点
PEP8规范: Python Enhancement Proposals
是用来规范和定义python各种增强和延申功能的技术规范
PEP8是python官方指定的,也是最常用的编码规范,pycharm用的就是PEP8,不符合规范时,编辑器会用波浪线给出提示
python3用UTF-8编码,python2用ASCII编码

版本控制
简单来说,就是在每个岔路口留下一个副本,走错路只需要重新拿回这个副本换条路走,版本控制软件能给我们提供一种更方便高效的版本控制方式
Git是现在最先进的版本控制软件,提供分布式的版本控制。
github网站和bitbucker一样支持对Git库的托管,两者的社区化都做得很好,可以follow你所关注的人和项目,bit更好的一点是支持免费的私有仓库,github则要收费

git基本概念:
版本库repository:理解成一个目录,这个目录里面所有文件都可以被Git管理起来,可以跟踪每个文件的修改和删除,将来某个时刻可以还原
提交commit:Git对用户的修改是存放在缓存区,当一个用户进行一次提交时,会把缓存区的内容真实提交到本地仓库中
推送push:将本地仓库中的代码推送到远端仓库上
分支branch:所有历史提交可以视为一个分支
合并merge:通过merge把两个不同分支合并,Git会自动完成这个功能,如果合并双方的代码存在冲突,会提示这部分冲突
pull request:开发者完成自己的分支开发后通过pull request发起合并请求

Git协作开发流程:Git flow
git flow有两个长期分支,master和develop,master只存放正式对外发布的分支,develop是功能的集成分支。当我们在develop上完成了新版本的功能,最终把所有修改merge到master分支。针对每次master的修改都会打一个Tag作为可发布产品的版本号。

今天上午就学到这里吧,明天从第四章开始学习!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值