Scikit-learn进行机器学习

1、安装

依赖库是numpy和scipy,可以直接pip install numpy, pip install scipy 进行安装

 

然后安装scikit-learn:

Pip install scikit-learn

 

官网:http://scikit-learn.org/stable/

上面有很多教程

特点是:datasets很牛逼,可以广泛使用到其他各个模块中,比如tensorflow中。

 

2、Sklearn训练方法三部曲

通用训练方法:

  1. 准备数据,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)

  1. 创建训练方法类并训练

##训练数据

knn = KNeighborsClassifier()

knn.fit(X_train,y_train)

  1. 采用训练好的类来预测数据

##输出结果

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值