NEKO

Python机器学习入门

2018/03/11

简单的贝叶斯demo

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#-*- coding:utf-8 -*-
from sklearn.naive_bayes import GaussianNB
from sklearn.metrics import accuracy_score
import numpy as np

features_train=np.array([[-1,-1],[-2,-2],[-2,-3],[1,1],[2,2],[4,4]]) #特征样本
labels_train=np.array([1,1,1,2,2,2]) #标签样本

features_test=np.array([[-2,-3],[4,3]]) #测试特征
labels_test=np.array([1,2]) #正确的标签
clf=GaussianNB() #创建分类器
clf.fit(features_train,labels_train) #进行训练
pred=clf.predict(features_test) #进行预测
accuracy=accuracy_score(pred,labels_test) #计算预测的准确度
print u'预测的labels为:',pred #预测的结果
print u'准确度为:',accuracy #预测的准确度

运行结果:

1
2
预测的labels为: [1 2]
准确度为: 1.0

简单的SVM(支持向量机)demo

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
from sklearn.svm import SVC
from sklearn.metrics import accuracy_score
import numpy as np

features_train=np.array([[-1,-1],[-2,-2],[-2,-3],[1,1],[2,2],[4,4]]) #特征样本
labels_train=np.array([1,1,1,2,2,2]) #标签样本

features_test=np.array([[-2,-3],[4,3]]) #测试特征
labels_test=np.array([1,2]) #正确的标签
clf=SVC(kernel="linear") #创建分类器,使用线性内核
clf.fit(features_train,labels_train) #进行训练
pred=clf.predict(features_test) #进行预测
accuracy=accuracy_score(pred,labels_test) #计算预测的准确度
print u'预测的labels为:',pred #预测的结果
print u'准确度为:',accuracy #预测的准确度

运行结果:

预测的labels为: [1 2]
准确度为: 1.0

SVC参数说明:http://blog.csdn.net/github_39261590/article/details/75009069
SVC支持的kernel:
默认为‘rbf’

‘linear’:线性核函数

‘poly’:多项式核函数

‘rbf’:径像核函数/高斯核

‘sigmoid’:sigmod核函数

‘precomputed’:核矩阵
SVC的参数C的值越大,匹配的正确的训练点就越多

简单的tree(决策树)demo

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
from sklearn.tree import DecisionTreeClassifier
from sklearn.metrics import accuracy_score
import numpy as np

features_train=np.array([[-1,-1],[-2,-2],[-2,-3],[1,1],[2,2],[4,4]]) #特征样本
labels_train=np.array([1,1,1,2,2,2]) #标签样本

features_test=np.array([[-2,-3],[4,3]]) #测试特征
labels_test=np.array([1,2]) #正确的标签
clf=DecisionTreeClassifier() #创建分类器
clf.fit(features_train,labels_train) #进行训练
pred=clf.predict(features_test) #进行预测
accuracy=accuracy_score(pred,labels_test) #计算预测的准确度
print u'预测的labels为:',pred #预测的结果
print u'准确度为:',accuracy #预测的准确度

运行结果:

预测的labels为: [1 2]
准确度为: 1.0

DecisionTreeClassifier()不加参数会出现过拟合
参数说明:http://blog.csdn.net/li980828298/article/details/51172744
min_samples_split=50 区分一个内部节点需要的最少的样本数

adaboost

1
2
3
4
5
6
7
from sklearn.ensemble import AdaBoostClassifier
from sklearn.metrics import accuracy_score
clf=AdaBoostClassifier()
clf.fit(features_train,labels_train)
pred=clf.predict(features_test)
accuracy=accuracy_score(pred,labels_test)
print accuracy

参考:http://blog.csdn.net/sun_shengyun/article/details/54289955

原文作者: n3k0

发表日期: March 11th 2018, 8:18:17

发出嘶吼: 没有魔夜2玩我要死了

CATALOG
  1. 1. 简单的贝叶斯demo
  2. 2. 简单的SVM(支持向量机)demo
  3. 3. 简单的tree(决策树)demo
  4. 4. adaboost