概述
scikit-learn 是机器学习领域非常热门的一个开源库,基于Python 语言写成。可以免费使用。 而且使用非常的简单,文档感人,非常值得去学习。
下面是一张scikit-learn的图谱:
我们可以看到,机器学习分为四大块,分别是 classification (分类), clustering (聚类), regression (回归), dimensionality reduction (降维)。
安装scikit-learn
如果使用的是ubuntu
则非常的简单,直接sudo apt-get install scikit-learn
即可,这里可能会有要你安装别的依赖,也是同样的安装方法,如果是别的linux
版本,可使用pip
等工具进行安装。
测试:
# 不报错则表示安装成功
>>> import sklearn
>>>
安装XGBDT
本质上还是GBDT,只是对GBDT进行了一些更改,叫X (Extreme) GBoosted,它把速度和效率做到了极致。在scikit-learn目前还没有这个分类器,因此要进行单独的安装。
这里对linux的安装进行说明,其余操作系统见:
http://xgboost.readthedocs.io/en/latest/build.html
# 拉取源码包
git clone --recursive https://github.com/dmlc/xgboost
cd xgboost
# 编译
make -j4
# python包的安装
# 首先安装工具
sudo apt-get install python-setuptools
# 进入目录,安装
cd python-package
sudo python setup.py install
# 测试不报错,成功
>>> import xgboost
>>>
scikit-learn测试
测试的数据为,美国一个区域的糖尿病的情况,具有以下的信息:
Attribute Information:
1. Number of times pregnant
2. Plasma glucose concentration a 2 hours in an oral glucose tolerance test
3. Diastolic blood pressure (mm Hg)
4. Triceps skin fold thickness (mm)
5. 2-Hour serum insulin (mu U/ml)
6. Body mass index (weight in kg/(height in m)^2)
7. Diabetes pedigree function
8. Age (years)
9. Class variable (0 or 1)
第9个是标签,即我们要预测的情况,0表示没有患病,1表示患病,数据集下载地址:
https://archive.ics.uci.edu/ml/datasets/Pima+Indians+Diabetes
完整代码如下,可以进行一键测试多个算法:
#!usr/bin/env python
#-*- coding: utf-8 -*-
import time
from sklearn import metrics
import numpy as np
from numpy import *
from sklearn import cross_validation
# Multinomial Naive Bayes Classifier
def naive_bayes_classifier(train_x, train