1、安装
依赖库是numpy和scipy,可以直接pip install numpy, pip install scipy 进行安装
然后安装scikit-learn:
Pip install scikit-learn
官网:http://scikit-learn.org/stable/
上面有很多教程
特点是:datasets很牛逼,可以广泛使用到其他各个模块中,比如tensorflow中。
2、Sklearn训练方法三部曲
通用训练方法:
- 准备数据,sklearn有非常多的datasets,可以现成的拿来用
import numpy as np
from sklearn import datasets
from sklearn.cross_validation import train_test_split
from sklearn.neighbors import KNeighborsClassifier
iris = datasets.load_iris()
iris_X = iris.data ##150x4
iris_y = iris.target ##150, 3 kinds of targets, 0,1,2
##训练数据和测试数据拆分,同时打乱训练数据
X_train,X_test,y_train,y_test = train_test_split(iris_X,iris_y,test_size=0.3)
- 创建训练方法类并训练
##训练数据
knn = KNeighborsClassifier()
knn.fit(X_train,y_train)
- 采用训练好的类来预测数据
##输出结果
print(knn.predict(X_test))
print(y_test)
3、Sklearn中的datasets
可以直接load数据,也可以创建虚拟数据用来训练你设计好的model:
网址有:http://scikit-learn.org/stable/modules/classes.html#module-sklearn.datasets
##loaded_data = datasets.load_boston()
##data_X = loaded_data.data
##data_y = loaded_data.target
X,y=datasets.make_regression(n_samples=100,n_features=1,n_targets=1,noise=1)
4、Sklearn的model中的属性和功能
#print(model.predict(data_X[:4,:])) ##预测结果
#print(data_y[:4])
#print(model.coef_) ##输出x的系数
#print(model.intercept_) ##输出y轴的截距
#print(model.get_params()) ##输出model的训练参数,如果没有设置那么是输出默认参数
print(model.score(data_X,data_y)) ##打分函数,针对不同的model有不同的打分模型
5、Sklearn中的各个model
(1)Perceptron模型
from sklearn.linear_model import Perceptron ###原始的感知器模型
##create model and train
ppn = Perceptron(n_iter=40,eta0=0.1,random_state=0)
ppn.fit(X_train_std,y_train)
(2)logisticRegression模型
from sklearn.linear_model import LogisticRegression
lr = LogisticRegression(C=1000.0,random_state=0) ##这里C表示正则化参数
lr.fit(X_train_std,y_train)
>>> lr.predict_proba([X_test_std[0,:]])
array([[ 2.05743774e-11, 6.31620264e-02, 9.36837974e-01]])
(3)SVM
from sklearn.svm import SVC
svm = SVC(kernel='linear',C=1.0,random_state=0)
svm.fit(X_train_std,y_train)
y_pred = svm.predict(X_test_std)
(4)非线性的SVM,通过指定不同的kernel来实现
from sklearn.svm import SVC