机器学习实战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,numpy,scipy,matplotlib的版本及版本更新

查看python,numpy,scipy,matplotlib的版本及版本更新

windows下python2.7版本numpy,Scipy,matplotlib安装

\quad楼主用的是python2.7版本(计算机是win7,64位),虽然3.0以上版本是趋势,但是2.7版本用习惯了,而且还没有要换3.0的必要,所以只讲讲2.7版本的配置。 下面是我安装时用到...
  • q__y__L
  • q__y__L
  • 2016年02月24日 14:44
  • 3215

python实践系列之(一)安装 python/pip/numpy/matplotlib

1.下载并安装Python3.4在官网下载即可:Python官网 图1-1 图1-2 打开Python图形界面: 图1-3 输入 2+3+4+5,回车,出现如图,说明安...

【python深度学习】theano环境搭建/安装

关键词:theano安装,搭建theano环境, python, 深度学习 因为需要安装theano,结果发现这又是一个难以安装的python包…虽然网上教程不少,然而鱼龙混杂,试验了各种方法流程,...
  • churximi
  • churximi
  • 2016年06月10日 16:56
  • 17072

机器学习之Python安装和numpy配置

最近,开始学习斯坦福大学,吴恩达老师的机器学习课程。感觉很有意思,想深入的学一学,无奈,我还只是一个小白。查了查网上的一些资料,准备从视频加机器学习实战入手,从视频中看懂算法的推导。实践中使用Pyth...
  • caobcn
  • caobcn
  • 2015年11月20日 17:14
  • 1483

《机器学习实战》读书笔记1:NumPy的安装及简单用法

我以前学习 machine learning,个人觉得应该算是小打小闹,只是简单地了解了一下基本原理,然后改改现成的 matlab 代码。《机器学习实战》这本书已经入差不多两个多月了,但是因为期末考试...
  • Artprog
  • Artprog
  • 2017年01月27日 18:10
  • 681

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

接着上面的博客写的。 http://blog.csdn.net/xd_senior/article/details/49906023 前一个博客写了python的安装和numpy的安装极应用,还...

机器学习之理解支持向量机SVM

愿分享共成长    点击上方蓝字关注              平时都是直接使用现成的libsvm,虽然对于SVM原理理解有一定的难度,但是仍然试着知其然,亦知其所以然。本文主要是SVM的概念性的分...

我为什么选择Python而不是Matlab和R语言呢?

做数据分析、科学计算等离不开工具、语言的使用,目前最流行的数据语言,无非是MATLAB,R语言,Python这三种语言,但今天大圣众包(www.dashengzb.cn)小编简单总结了python语言...

Python 机器学习的开发环境搭建(numpy,scipy,matplotlib)

一、概述 Numpy :      主要用来做一些科学运算,主要是矩阵的运算。NumPy为Python带来了真正的多维数组功能,并且提供了丰富的函数库处理这些数组。它将常用的数学函数都进行数组化,...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:机器学习实战python环境搭建以及numpy和matplotlib安装遇到的各种问题(一)
举报原因:
原因补充:

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