Scikit Learn 股票投资:p11

前言

本视频主要介绍Linear SVC的简单应用, 方便大家了解Machine Learning(机器学习)的运作。

视频

视频出处

视频系列:Scikit-learn Machine Learning with Python and SKlearn

本视频出处:Scikit Learn Machine Learning for investing Tutorial with Python p. 11

哔哩哔哩:Scikit Learn Machine Learning for investing Tutorial with Python p. 11

内容

假设我们有两组数据分别为x 和 y,然后将两组数据画出来。

import numpy as np
import matplotlib.pyplot as plt
from matplotlib import style
style.use("ggplot")

x = [1, 5, 1.5, 8, 1, 9]
y = [2, 8, 1.8, 8, 0.6, 11]
plt.scatter(x,y)
plt.show()

我们该如何区分这两组数据? 最简单的方法就是在中间画一条线。

首先,我们先将数据转换为np.array形式np.array是一种符合展现Machine Learning(机器学习)的数据类型。 然后将X的每组数据对应标记为y。例如,数组X的[1,2]对应为y中[0],X的[5,8]对应y中的[1]。

X = np.array(
  [
    [1,2],
    [5,8],
    [1.5,1.8],
    [8,8],
    [1,0.6],
    [9,11]
  ]
)
y = [0,1,0,1,0,1]

然后,我们建立一个classifier(分类器)。kernel 为linear(线性回归) 。

clf = svm.SVC(kernel='linear', C = 1.0)
clf = svm.SVC(kernel='linear', C = 1.0)

我们设置好线性回归模型之后,我们要训练(fit)之前设置好的数据X, y:

clf.fit(X,y)

到此,我们已经训练好我们的数据,那么我们输入新的数据的时候,电脑就会帮我们进行区分或者预测这组数据究竟是属于0 或者 1.

print(clf.predict([0.58,0.76]))
print(clf.predict([10.58,10.76]))

输出结果分别为:[0] 和 [1]

最后我们将其得出的线性方程画出来:

w = clf.coef_[0] #系数
print(w)
a = -w[0] / w[1]
xx = np.linspace(0,12)
yy = a * xx - clf.intercept_[0] / w[1]
h0 = plt.plot(xx, yy, 'k-', label="non weighted div")
plt.scatter(X[:, 0], X[:, 1], c = y)
plt.legend()
plt.show()

源代码

import numpy as np
import matplotlib.pyplot as plt
from matplotlib import style
style.use("ggplot")
from sklearn import svm

#x = [1, 5, 1.5, 8, 1, 9]
#y = [2, 8, 1.8, 8, 0.6, 11]
#plt.scatter(x,y)
#plt.show()

X = np.array(
  [
    [1,2],
    [5,8],
    [1.5,1.8],
    [8,8],
    [1,0.6],
    [9,11]
  ]
)
y = [0,1,0,1,0,1]
clf = svm.SVC(kernel='linear', C = 1.0)
clf.fit(X,y)
print(clf.predict([0.58,0.76]))
print(clf.predict([10.58,10.76]))
w = clf.coef_[0]
print(w)
a = -w[0] / w[1]
xx = np.linspace(0,12)
yy = a * xx - clf.intercept_[0] / w[1]
h0 = plt.plot(xx, yy, 'k-', label="non weighted div")
plt.scatter(X[:, 0], X[:, 1], c = y)
plt.legend()
plt.show()

总结

其实机器学习的原理很简单,首先将我们fit(训练)已有的数据,电脑从大量数据中区分了X对应的y特征后,电脑就可以’预测’区分我们输入的新数据,这就是机器学习。

最后

虽然分c君_BingWong只是作为一名搬运工,连码农都称不上。 但制作代码中的注释、翻译和搬运都花了很多时间,请各位大侠高抬贵手,在转载时请注明出处。

阅读量: | 柯西君_BingWong | 2017-09-01