Scikit-learn學習
numpy 庫
import numpy as np
1、random
用法:產生偽隨機數
樣例:
np.random.seed(0) //產生以0為種子的偽隨機數生成器
order_arr = np.random.permutation(100) //返回100個偽隨機數,返回值是一個array
2、mgrid
用法:返回多維結構,常見的如2D圖形,3D圖形。對比np.meshgrid,在處理大資料時速度更快,且能處理多維(np.meshgrid只能處理2維)
ret = np.mgrid[ 第1維,第2維 ,第3維 , …]
返回多值,以多個矩陣的形式返回,第1返回值為第1維資料在最終結構中的分佈,第2返回值為第2維資料在最終結構中的分佈,以此類推。(分佈以矩陣形式呈現)
例如np.mgrid[X , Y]
樣本(i,j)的座標為 (X[i,j] ,Y[i,j]),X代表第1維,Y代表第2維,在此例中分別為橫縱座標。
例如1D結構(array),如下:
>>> pp = np.mgrid[-5:5:5j]
>>> pp
array([-5. , -2.5, 0. , 2.5, 5. ])
- 1
例如2D結構 (2D矩陣),如下:
>>> pp = np.mgrid[-1:1:2j,-2:2:3j]
>>> x , y = pp
>>> x
array([[-1., -1., -1.],
[ 1., 1., 1.]])
>>> y
array([[-2., 0., 2.],
[-2., 0., 2.]])
- 1
例如3D結構 (3D立方體),如下:
>>> pp = np.mgrid[-1:1:2j,-2:2:3j,-3:3:5j]
>>> print pp
[[[[-1. -1. -1. -1. -1. ]
[-1. -1. -1. -1. -1. ]
[-1. -1. -1. -1. -1. ]]
[[ 1. 1. 1. 1. 1. ]
[ 1. 1. 1. 1. 1. ]
[ 1. 1. 1. 1. 1. ]]]
[[[-2. -2. -2. -2. -2. ]
[ 0. 0. 0. 0. 0. ]
[ 2. 2. 2. 2. 2. ]]
[[-2. -2. -2. -2. -2. ]
[ 0. 0. 0. 0. 0. ]
[ 2. 2. 2. 2. 2. ]]]
[[[-3. -1.5 0. 1.5 3. ]
[-3. -1.5 0. 1.5 3. ]
[-3. -1.5 0. 1.5 3. ]]
[[-3. -1.5 0. 1.5 3. ]
[-3. -1.5 0. 1.5 3. ]
[-3. -1.5 0. 1.5 3. ]]]]
- 1
3、np.r_ , np.c_
用法:concatenation function
np.r_按row來組合array,
np.c_按colunm來組合array
>>> a = np.array([1,2,3])
>>> b = np.array([5,2,5])
>>> //測試 np.r_
>>> np.r_[a,b]
array([1, 2, 3, 5, 2, 5])
>>>
>>> //測試 np.c_
>>> np.c_[a,b]
array([[1, 5],
[2, 2],
[3, 5]])
>>> np.c_[a,[0,0,0],b]
array([[1, 0, 5],
[2, 0, 2],
[3, 0, 5]])
- 1
matplotlib.pyplot 庫
import matplotlib.pyplot as plt
1、scatter
用來畫散點圖的,對樣本點著色。如下:X為一個n*2的矩陣,代表n個2維樣本點,且每個樣本點對應一個label y,用y來對顏色變數c賦值來區分顏色,按照cmap來佈局。
plt.scatter(X[:, 0], X[:, 1], c=y, zorder=10, cmap=plt.cm.Paired)
2、axis
用法:設定佈局策略
例如: plt.axis(‘tight’) ,表明採用緊緻方案,需要將樣本的邊緣作為畫布的邊緣。
3、pcolormesh
用法:類似np.pcolor ,是對座標點著色。
np.pcolormesh(X, Y, C, **kwargs)
例如有樣本點(X[i,j] , Y[i,j]),對樣本週圍(包括樣本所在座標)的四個座標點進行著色,C代表著色方案,kwargs裡可以設定著色配置。
(X[i, j], Y[i, j]),
(X[i, j+1], Y[i, j+1]),
(X[i+1, j], Y[i+1, j]),
(X[i+1, j+1], Y[i+1, j+1]).
- 1
樣例:plt.pcolormesh(XX, YY, Z>0, cmap=plt.cm.Paired)
4、contour
用法:畫輪廓
樣例:plt.contour(XX, YY, Z, colors=[‘k’, ‘k’, ‘k’], linestyles=[‘–’, ‘-‘, ‘–’],levels=[-.5, 0, .5])
程式碼例子
"""
=========================================================
SVM-Kernels
=========================================================
Three different types of SVM-Kernels are displayed below.
The polynomial and RBF are especially useful when the
data-points are not linearly separable.
"""
print(__doc__)
# Code source: Gaël Varoquaux
# License: BSD 3 clause
import numpy as np
import matplotlib.pyplot as plt
from sklearn import svm
# Our dataset and targets
X = np.c_[(.4, -.7),
(-1.5, -1),
(-1.4, -.9),
(-1.3, -1.2),
(-1.1, -.2),
(-1.2, -.4),
(-.5, 1.2),
(-1.5, 2.1),
(1, 1),
# --
(1.3, .8),
(1.2, .5),
(.2, -2),
(.5, -2.4),
(.2, -2.3),
(0, -2.7),
(1.3, 2.1)].T
Y = [0] * 8 + [1] * 8
# figure number
fignum = 1
# fit the model
for kernel in ('linear', 'poly', 'rbf'):
clf = svm.SVC(kernel=kernel, gamma=2)
clf.fit(X, Y)
# plot the line, the points, and the nearest vectors to the plane
plt.figure(fignum, figsize=(4, 3))
plt.clf()
plt.scatter(clf.support_vectors_[:, 0], clf.support_vectors_[:, 1], s=80,
facecolors='none', zorder=10, edgecolors='k')
plt.scatter(X[:, 0], X[:, 1], c=Y, zorder=10, cmap=plt.cm.Paired,
edgecolors='k')
plt.axis('tight')
x_min = -3
x_max = 3
y_min = -3
y_max = 3
XX, YY = np.mgrid[x_min:x_max:200j, y_min:y_max:200j]
Z = clf.decision_function(np.c_[XX.ravel(), YY.ravel()])
# Put the result into a color plot
Z = Z.reshape(XX.shape)
plt.figure(fignum, figsize=(4, 3))
plt.pcolormesh(XX, YY, Z > 0, cmap=plt.cm.Paired)
plt.contour(XX, YY, Z, colors=['k', 'k', 'k'], linestyles=['--', '-', '--'],
levels=[-.5, 0, .5])
plt.xlim(x_min, x_max)
plt.ylim(y_min, y_max)
plt.xticks(())
plt.yticks(())
fignum = fignum + 1
plt.show()
相關文章
- 用scikit-learn學習DBSCAN聚類聚類
- 用scikit-learn學習BIRCH聚類聚類
- 用scikit-learn學習譜聚類聚類
- 用scikit-learn學習LDA主題模型LDA模型
- 用scikit-learn學習主成分分析(PCA)PCA
- Scikit-learn可擴充套件學習簡介套件
- 用scikit-learn和pandas學習線性迴歸
- 用scikit-learn和pandas學習Ridge迴歸
- 用 Scikit-Learn 和 Pandas 學習線性迴歸
- scikit-learn學習之決策樹演算法演算法
- Scikit-learn的六大功能!Python學習Python
- 【scikit-learn基礎】--『監督學習』之 嶺迴歸
- 【scikit-learn基礎】--『監督學習』之 LASSO迴歸
- (資料科學學習手札138)使用sklearnex大幅加速scikit-learn運算資料科學
- 監督學習,無監督學習常用演算法集合總結,引用scikit-learn庫(監督篇)演算法
- scikit-learn: 使用conda安裝scikit-learn
- Scikit-Learn 與 TensorFlow 機器學習實用指南學習筆記2 — 機器學習的主要挑戰機器學習筆記
- Scikit-Learn 與 TensorFlow 機器學習實用指南學習筆記 3 —— 資料獲取與清洗機器學習筆記
- Scikit-Learn 與 TensorFlow 機器學習實用指南學習筆記1 — 機器學習基礎知識簡介機器學習筆記
- scikit-learn介紹
- Scikit-learn SVM 實現
- Scikit-Learn 與 TensorFlow 機器學習實用指南學習筆記 5 —— 如何為機器學習演算法準備資料?機器學習筆記演算法
- 如何將 Scikit-learn Python 庫用於資料科學專案Python資料科學
- 學習學習再學習
- Scikit-Learn 與 TensorFlow 機器學習實用指南學習筆記 4 —— 資料探索與視覺化、發現規律機器學習筆記視覺化
- 《scikit-learn機器學習實戰》簡介機器學習
- 深度學習——學習目錄——學習中……深度學習
- [Scikit-learn教程] 02.05 綜合實踐
- 用scikit-learn進行LDA降維LDA
- Scikit-learn從入門到放棄
- 深度學習(一)深度學習學習資料深度學習
- 深度學習學習框架深度學習框架
- 強化學習-學習筆記3 | 策略學習強化學習筆記
- 學習產品快報09 | “CSDN學習”:增加學習提醒,提示學習不忘記
- 【強化學習】強化學習/增強學習/再勵學習介紹強化學習
- 學習ThinkPHP,學習OneThinkPHP
- 前端學習之Bootstrap學習前端boot
- 學而習之,成就學習