机器学习实战python环境搭建以及numpy和matplotlib安装遇到的各种问题(一)

原创 2015年11月18日 13:42:33

第一次在大神云集的CSDN写博客,以前都是在新浪上随便写一写,当作平时的遇到的一些问题的总结。
自己从这里学到了很多知识,也解决了很多问题。
自学的时候会遇到很多问题,由于没有时间系统的学习知识,都是遇到什么问题就查什么,所以多去动手查资料还是很重要的。
学习的过程就是需要不断的去发现问题,解决问题。

再次声明自己也是新手,遇到的一些问题在大牛看来都不值一提,所以在网上也经常找不到解决的办法,其实这样也锻炼我们自己动手思考的能力,凡事都有好坏,我写这个大部分还是记录自己思考的进程,也请大家多指教。

废话不多说,开始切入正题。
python的开发环境搭建,网上已经有很多教程什么的了,而且基本上都是可行的。我个人还是推荐:http://www.liaoxuefeng.com/wiki/0014316089557264a6b348958f449949df42a6d3a2e542c000
廖雪峰的博客,环境搭建和一些基本知识都有。大概看一遍,了解一下,动手去做的时候,遗忘的再回去看。

下面我主要介绍下,我学习《机器学习实战》这本书遇到的一些问题和解决办法。
首先是安装numpy。
我的python版本是2.7.10一开始装的numpy版本是numpy—1.5,后来装matplotlib的时候提示版本太低,后来又陆续装了1.6,1.7,1.8,还好1.8可以正常使用了。
http://sourceforge.net/projects/numpy/files/NumPy/这里各个版本的都有。
下载的exe的直接运行就可以。安装numpy
直接下一步下一步完成就可以了,还可以通过pip install **.whl来安装,但是不知道为什么我安装别的都行就是安装不了numpy,现在不管它了,反正可以通过其他办法安装。
需要注意的是我的电脑是64位的但是安装numpy的时候是选择的32位的安装的。
哎 本人也是新手有好多不懂的,要是大神看到了也帮我回答下。
最后import numpy 没问题就行了!

装上numpy后,我也是迫不及待的想跑一下程序试试,就把程序清单2.0(其实没有2.0,它也算不得一个程序,因为在2.1之前,就称它为清单2.0吧)我遇到了第一的问题,直接导入(import kNN)提示找不到这个文件。原因是没有指明路径,python不知道你的这个文件在哪。
解决的办法有两个(就我目前知道的):一个是把kNN.py保存到python的安装目录下,这样的话可以直接运行。
第二个是实用sys命令添加一个目录。

>>> import sys
>>> sys.path.append('D:\Komodospace')
>>> import Text
Hello World

这样就可以在python自带的python GUI中导入模板了。


>>> import kNN
>>> group,labels = kNN.createDataSet()
>>> group
array([[ 1. ,  1.1],
       [ 1. ,  1. ],
       [ 0. ,  0. ],
       [ 0. ,  0.1]])
>>> labels
['A', 'A', 'B', 'B']

刚开始就会遇到很多问题,一些函数不知道是做什么的,最后发王道,尽管它是英文的。
python 2.7.10函数文档
想程序清单2.1中的shape,tile(在numpy文档里面),sorted函数等等。
numpy官方文档下载
程序2.1亲测可行!!

>>> import kNN
>>> group,labels = kNN.createDataSet()
>>> group
array([[ 1. ,  1.1],
       [ 1. ,  1. ],
       [ 0. ,  0. ],
       [ 0. ,  0.1]])
>>> labels
['A', 'A', 'B', 'B']
>>> kNN.classify0([0,0],group,labels,3)
'B'
>>> kNN.classify0([1,1],group,labels,3)
'A'

正如书中所说,这些代码只是测试用的,实际没有任何意义,不过自己测试成功还是很开心的。接下来的程序2.2就是需要导入数据,为接下来的kNN算法实战做准备了。
程序2.2有点小问题,就是numpy.zeros生成的数据不能接受字符串赋值,没有太好解决的办法,网上有位大牛做了简单的修改,我贴出来大家也指导我下,因为我不知道为什么。

def file2matrix(filename):
    fr = open(filename)
    numberOfLines = len(fr.readlines())         #get the number of lines in the file
    returnMat = zeros((numberOfLines,3))        #prepare matrix to return
    classLabelVector = []                       #prepare labels return   
    fr = open(filename)
    index = 0
    for line in fr.readlines():
        line = line.strip()
        listFromLine = line.split('\t')
        returnMat[index,:] = listFromLine[0:3]
        classLabelVector.append(int(listFromLine[-1]))
        index += 1
    return returnMat,classLabelVector

python的基本语法还是比较重要的,否则读起程序来还是很费劲的。
列表,元组的迭代,赋值以及别的一些特性,还有对字典的排序都需要自己提前学习下。
程序中用到的代码和数据,网上的大神也给了,我就分享下。
[《机器学习实战》源代码](http://pan.baidu.com/s/13G55O

>>> datingDataMat,datingLabels = kNN.file2matrix('datingTestSet2.txt')
>>> datingDataMat
array([[  4.09200000e+04,   8.32697600e+00,   9.53952000e-01],
       [  1.44880000e+04,   7.15346900e+00,   1.67390400e+00],
       [  2.60520000e+04,   1.44187100e+00,   8.05124000e-01],
       ..., 
       [  2.65750000e+04,   1.06501020e+01,   8.66627000e-01],
       [  4.81110000e+04,   9.13452800e+00,   7.28045000e-01],
       [  4.37570000e+04,   7.88260100e+00,   1.33244600e+00]])
>>> datingLabels[0:20]
[3, 2, 1, 1, 1, 1, 3, 3, 1, 3, 1, 1, 2, 1, 1, 1, 1, 1, 2, 3]

程序2.2亲测可行
今天先写到这,欢迎大家指教,后续还会有自己对机器学习实战和python的学习总结。

Python——解决Matplotlib安装问题

matplotlib是python最著名的绘图库,它提供了一整套和matlab相似的命令API,适合交互式地进行制图。我的Python版本是Python 2.7.12,默认安装时没有matplotli...
  • u010480899
  • u010480899
  • 2016年09月28日 21:47
  • 1828

《机器学习实战》书中python2.7与3.6的区别-持续更新

《机器学习实战》书中使用的是python2.7,而对于现在新接触python的同学来说都是上手python3.6版本。 由于本渣渣也正在学习此书,将陆续列出遇到的不同于现实编码的困难与解决方法(如果能...
  • u011094454
  • u011094454
  • 2017年07月27日 15:23
  • 1994

python 安装matplotlib后运行图表时提示错误numpy版本不对的解决方法

python3.6,安装了Matplotlib 2.2版本,运行图表时提示以下错误: ImportError:  Importing the multiarray numpy extension m...
  • daisylong
  • daisylong
  • 2017年07月16日 16:46
  • 451

Python 2.7(3.x)以及numpy、matplotlib和scipy库三种方法实战安装

Python 2.7(3.x)以及numpy、matplotlib和scipy库三种方法实战安装 Python是目前十分流行的跨平台编程语言。Ubuntu下python和其比较常用的库,比如nump...
  • zhaofrjx
  • zhaofrjx
  • 2015年07月08日 10:09
  • 3686

python matplotlib 安装 和错误处理

python matplotlib 安装 和错误处理 ,错误处理亲测十分有效。
  • huruzun
  • huruzun
  • 2014年09月19日 11:03
  • 13063

机器学习之numpy和matplotlib学习(八)

今天来学习第四种画子图的方法。 也就是plt.subplots( ).注意区别于plt.subplot( )函数。 先来看看代码:#!/usr/bin/env python # -*- codin...
  • qq_33094993
  • qq_33094993
  • 2017年06月29日 21:58
  • 107

用matplotlib注解绘制决策树,机器学习实战第三章

这段代码纠结了很久,也调了很久,算是弄懂了,感觉还是应该写下来,以后可以看看,也方便有同样疑惑的同学节省时间首先贴上treePlotter.py的代码,这个自定义模块实现了所有的函数用于画决策树imp...
  • qq_25974431
  • qq_25974431
  • 2018年01月17日 16:00
  • 93

机器学习实战python版本matplotlib安装遇到的各种问题和代码演示

接着上面的博客写的。 http://blog.csdn.net/xd_senior/article/details/49906023 前一个博客写了python的安装和numpy的安装极应用,还...
  • XD_Senior
  • XD_Senior
  • 2015年11月19日 20:39
  • 2948

大数据/数据挖掘/推荐系统/机器学习相关资源

书籍 各种书~各种ppt~更新中~ http://pan.baidu.com/s/1EaLnZ 机器学习经典书籍小结 http://www.cnblogs.com/snake-ha...
  • bff1022
  • bff1022
  • 2015年12月28日 13:55
  • 1273

《机器学习实战》第三章 3.2在python 中使用matplotlib注解绘制树形图

《机器学习实战》系列博客主要是实现并理解书中的代码,相当于读书笔记了。毕竟实战不能光看书。动手就能遇到许多奇奇怪怪的问题。博文比较粗糙,需结合书本。博主边查边学,水平有限,有问题的地方评论区请多指教。...
  • csdn_lzw
  • csdn_lzw
  • 2017年02月24日 11:16
  • 2973
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:机器学习实战python环境搭建以及numpy和matplotlib安装遇到的各种问题(一)
举报原因:
原因补充:

(最多只允许输入30个字)