机器学习:
机器学习结论->总结方法,这个过程和人是相反的。
1,监督式学习:e-mail(垃圾邮件的屏蔽)图像识别(实时获取信息)
2,非监督式学习:将用户进行分类,上面是将信息进行分类。
常用黑箱算法:
svm , model_selection(原来是cross_validation但是被弃用了,主要用它的test_split方法来进行一些数据的训练。)
或者直接去 scikit-learn 去 algorithm cheat-sheet
sklearn中digits手写字体数据集介绍在结合svm使用
import matplotlib.pyplot as plt
from sklearn import datasets
from sklearn import svm
num=datasets.load_digits()
#sklearn中digits手写字体数据集介绍
black_box=svm.SVC(gamma=0.001,C=100)
#参数:gamma=0.001,C=100
X,y=num.data[:-888],num.target[:-888]
black_box.fit(X,y)
print(black_box.predict([num.data[-333]]))
plt.imshow(num.images[-333])
plt.show()
gamma和C参数介绍
C是惩罚力度,gamma越大的时候点越远影响越大。
简单的一个线性回归:
# -*- coding: utf-8 -*-
"""
Spyder Editor
This is a temporary script file.
"""
import matplotlib.pyplot as plt
from sklearn import datasets
from matplotlib import style
from sklearn import svm
import numpy as np
style.use('ggplot')
from sklearn import svm
X=np.array([[1,2],[3,4],
[2,2],[10,12],
[11,22],[21,22]])
y=[0,0,0,1,1,1]
black_box=svm.SVC(kernel='linear',C=1.0)
black_box.fit(X,y)
#方法fit的输入参数包含数据和标签。数据是x,标签是y
#print(black_box.predict([[15,17]]))
w=black_box.coef_[0]
#print(w)
a=-w[0]/w[1]
#斜率
xx=np.linspace(0,23)
#等距函数
yy=a*xx-black_box.intercept_[0]/w[1]
#y=k*x-b
#coef 和 intercept 分别是线性回归和逻辑回归
H=plt.plot(xx,yy,'r-')
plt.scatter(X[:,0],X[:,1],c=y)
plt.legend()
plt.show()