Python科学工具箱学习教程

Scikit Learn -> 科学工具学习

python scikit learn tutorial

Python的Scikit-learn

Scikit主要使用Python进行开发,其中一些核心算法使用Cython编写以提供更好的性能。Scikit-learn用于构建模型,不建议将其用于读取、操纵和总结数据,因为有其他更适合此目的的框架可用。Scikit是开源软件,并采用BSD许可发布。

安装Scikit Learn

Scikit的前提是您的设备上运行着Python 2.7或更高版本的平台,并具有NumPy(1.8.2及以上版本)和SciPy(0.13.3及以上版本)软件包。一旦我们安装好这些软件包,就可以进行安装了。若要通过pip进行安装,请在终端中运行以下命令。

pip install scikit-learn

如果你喜欢conda,你也可以使用conda进行软件包安装,运行以下命令即可:

conda install scikit-learn

使用Scikit-Learn

安装完成后,您可以将scikit-learn导入您的Python代码中,以便轻松使用。

import sklearn

Scikit Learn 载入数据集

让我们从加载一个数据集开始玩起来。我们加载一个名为Iris的简单数据集。它是关于一朵花的数据集,包含了关于花不同测量值的150个观测结果。我们来看看如何使用scikit-learn加载这个数据集。

# Import scikit learn
from sklearn import datasets
# Load data
iris= datasets.load_iris()
# Print shape of data to confirm data is loaded
print(iris.data.shape)
python scikit dataset load

Scikit Learn SVM – 学习和预测

现在我们已经加载了数据,让我们尝试从中学习并在新数据上进行预测。为了实现这个目的,我们需要创建一个估计器,然后调用其fit方法。

from sklearn import svm
from sklearn import datasets
# Load dataset
iris = datasets.load_iris()
clf = svm.LinearSVC()
# learn from the data
clf.fit(iris.data, iris.target)
# predict for unseen data
clf.predict([[ 5.0,  3.6,  1.3,  0.25]])
# Parameters of model can be changed by using the attributes ending with an underscore
print(clf.coef_ )
Scikit Learn SVM

使用Scikit-Learn进行线性回归

使用scikit-learn创建各种模型相当简单。让我们以一个简单的回归示例开始。

#import the model
from sklearn import linear_model
reg = linear_model.LinearRegression()
# use it to fit a data
reg.fit ([[0, 0], [1, 1], [2, 2]], [0, 1, 2])
# Let's look into the fitted data
print(reg.coef_)
python scikit learn linear regression

k-最近邻分类器

让我们尝试一个简单的分类算法。这个分类器使用基于球树的算法来表示训练样本。

from sklearn import datasets
# Load dataset
iris = datasets.load_iris()
# Create and fit a nearest-neighbor classifier
from sklearn import neighbors
knn = neighbors.KNeighborsClassifier()
knn.fit(iris.data, iris.target)
# Predict and print the result
result=knn.predict([[0.1, 0.2, 0.3, 0.4]])
print(result)
python scikit learn classification

K-means聚类

这是最简单的聚类算法。将集合分成‘k’个簇,并将每个观测分配到一个簇中。这是迭代完成的,直到簇收敛。接下来的程序中我们将创建一个这样的聚类模型。

from sklearn import cluster, datasets
# load data
iris = datasets.load_iris()
# create clusters for k=3
k=3
k_means = cluster.KMeans(k)
# fit data
k_means.fit(iris.data)
# print results
print( k_means.labels_[::10])
print( iris.target[::10])
python scikit learn clustering

结论

在这个教程中,我们已经看到Scikit-Learn使得使用多个机器学习算法变得容易。我们已经看到了回归、分类和聚类的例子。Scikit-Learn仍在开发阶段,并由志愿者继续开发和维护,但在社区中非常受欢迎。去尝试你自己的例子吧。

发表回复 0

Your email address will not be published. Required fields are marked *