原创:scikit-learn 在Ubuntu上环境的搭建详解

之前一直想在Ubuntu下搭建一个机器学习的框架,由于忙于各种事情一直拖到先在。终于在上周成功的在Ubuntu下搭建了scikit-learn的学习矿机。

首先介绍一下scikit-learn 机器学习框架,他是非常流行的开源机器学习框架,基于Python的机器学习模块,基于BSD开源许可证。这个项目最早由DavidCournapeau 在2007 年发起的,目前也是由社区自愿者进行维护。Scikit-Learn的官方网站是http://scikit-learn.org/stable/,在上面可以找到相关的Scikit-Learn的资源,模块下载,文档,例程等等。

上菜了、、、、、、、、、、、、

(1) 在终端下安装第三方的科学计算包numpy模块,

sudo apt-get install python-numpy

(2) 安装 scipy

sudo apt-get install python-scipy模块

(3) 安装matplotlib模块

sudo apt-get install matplotlib

注意:这儿注意哥哥模块的安装顺序

注意:在安装scipy模块时或许会出现错误,例如 “Ubuntu 无法定位软件口”,关于这个问题至少有这两种方式处理

(a) 将Ubuntu下的软件来源设置为“国内”

(b) 更新软件包》》》》》当时我是通过这种方式解决的

(c) h还有一些其他的方法请在GitHub上查找

(4) 安装c/c++编译器

sudo apt-get install bulid-essential

(5) sudo apt-get install python-dev

(6) sudo apt-get install python-setuptools

(7) sudo apt-get install libatlas-dev

(8) sudo apt-get install libatlas3-base

(9) sudo apt-get install python-pip

(10) sudo apt-get install -U sckit-learn

其实到这儿已经安装完了,但是为了更好地方便使用我在这儿有安装了一个python的环境,也就是文本编辑器vim,功能强大

(11) sudo apt-get install vim-gtk

由于安装后的vim界面不够友好,则需要按照下面的步骤进行蛇者,要是你感觉无所谓也可以不用这一步,但是我们追求完美的用户体验的话还在费点劲吧

首先确定syntax on以保证会进行语法高亮

然后将下列添加到最后面

set nu

set btabstop

set nobackuo

set cursorline

set ruler

set autoindent

OK ,相对安装MongoDB而言还是比较简单的,为此我在这了做了一个机器学习的简单的例子,使用的是scikit-learn 数据库中的例子,具体如下:

print __doc__

# code source: GuoDongwei

#licence: BSD 3 clause

import matplotlib.pyplot as plt

import numpy as np

from sklearn import linear_model, datasets

#Load the diabetes dataset

diabetes = datasets.load_diabetes()

#Use only ane feature

diabetes_x = diabetes.data[:, np.newaxis, 2]

#Split the data into training and testing sets

diabetes_x_train = diabetes_x[:-20]

diabetes_x_test = diabetes_x[-20:]

#Split the target into training and testing set

diabetes_y_trian = diabetes.target[:-20]

diabetes_y_test = diabetes.target[-20:]

#create linear regresison object

regr = linear_model.LinearRegression()

# train the model using the traing set

regr.fit(diabetes_x_train, diabetes_y_trian)

# the coefficients

print 'coefficients:\n', regr.coef_

# the mean squares error

print 'residual sum of squares:%.2f' % np.mean((regr.predict(diabetes_x_test) - diabetes_y_test)**2)

#explained variance score: 1 is the perfect prediction

print 'variance score: %.2f' % regr.score(diabetes_x_test, diabetes_y_test)

#plot output

plt.scatter(diabetes_x_test, diabetes_y_test, color = 'black')

plt.plot(diabetes_x_test, regr.predict(diabetes_x_test), color = 'blue', linewidth = 3)

#plt.xticks(())

#plt.yticks(())

plt.show()

原文发布于微信公众号 - 机器学习算法与Python学习(guodongwei1991)

原文发表时间:2016-06-07

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏大数据架构

超大规模 Spark 集群灰度发布 CI CD

目前主流的代码管理工具有,Github、Gitlab等。本文所介绍的内容中,所有代码均托管于私有的 Gitlab 中。

2433
来自专栏PPV课数据科学社区

数据加学堂:大熊学python3爬虫–scrapy浅探(三)

? 在新手上路(三)贴过一段代码,就是爬取问吧里面的question 问题,answer回答,topic话题标签,source问题来自哪个板块。 有一种有一种...

2987
来自专栏Android机动车

Google 最新模拟器重磅来袭!秒开并还原到之前工作状态!

12月18日,Google 官方Quick Boot博客的发布,给我们带来了最新的Android模拟器,其中最突出的特点技术 快速启动。声称可以在 6 秒之内便...

3652
来自专栏FreeBuf

Black Hat Europe 2017:安全专家发现5款最流行编程语言中的漏洞

没有不漏的锅,如果底层的编程语言如果出现问题,顶层的应用程序还能幸免于难吗? 这周在 Black Hat Europe 2017 安全会议上,一名安全研究员公开...

2368
来自专栏嵌入式程序猿

一张表看懂uIP和lwIP的区别

我们给大家介绍过目前比较流行的开源TCP/IP开源协议栈uIP和lwIP, 这两种都是由瑞典计算机科学研究院开发的,广泛应用于嵌入式系统中。因为全功能的TCP/...

8936
来自专栏恰童鞋骚年

谈谈对于企业级系统架构的理解—李平

原文地址:http://www.cnblogs.com/liping13599168/archive/2011/05/11/2043127.html

1214
来自专栏不止思考

架构设计之「服务隔离」

那什么是「服务隔离」呢? 顾名思义,它是指将系统按照一定的原则划分为若干个服务模块,各个模块之间相对独立,无强依赖。当有故障发生时,能将问题和影响隔离在某个模块...

1493
来自专栏沃趣科技

MySQL 8.0 | CATS调度算法的性能提升

原文地址:https://mysqlserverteam.com/contention-aware-transaction-scheduling-arrivin...

4927
来自专栏Python小屋

Python使用OCR技术识别图片中的文字(入门篇)

首先下载并安装tesseract-ocr软件,然后使用pip install pytesseract和pip install pillow安装扩展库。 接下来准...

4975
来自专栏恰童鞋骚年

谈谈对于企业级系统架构的理解

在我们刚开始学习架构的时候,首先会想到分层的概念,分层架构比较经典的是三层架构,那么,什么是三层架构呢?它包括表现层,业务层,数据访问层;而对于一个新手来说,从...

1352

扫码关注云+社区

领取腾讯云代金券