使用Python進行機器學習入門
在本文中,我們將學習使用Python 3.x(或更早版本)進行機器學習的基礎知識。
首先,我們需要使用現有的庫來設定機器學習環境。
>>> pip install numpy >>> pip install scipy >>> pip install matplotlib >>> pip install scikit-learn
機器學習處理的是對經驗和事實的研究,並根據提供的意圖進行預測。資料庫越大,機器學習模型就越好。
機器學習流程
- 資料清洗
- 饋送資料集
- 模型訓練
- 資料集測試
- 模型實現

現在讓我們確定哪個庫用於什麼目的:
NumPy - 為大型多維列表和矩陣新增支援,以及大量用於對這些輸入陣列進行運算的數學函式。
SciPy - 一個免費的開源Python庫,用於科學/數學計算。它包含用於演算法最佳化、資料整合、插值、一些特殊函式和線性代數的模組。
Matplotlib - 用於建立圖表和圖形的庫。它允許繪製資料,以便更好地瞭解模型。
Scikit-learn - 它具有各種分類、聚類和迴歸演算法,以井然有序的方式分配和組織資料。
現在,讓我們藉助scikit-learn建立一個基本的機器學習模型。在這裡,我們將使用scikit-learn中提供的內建資料集,即iris和digits資料集。
from sklearn import datasets iris = datasets.load_iris() digits = datasets.load_digits()
現在,要檢視資料集中的資料,我們使用
print(digits.data)
[[ 0. 0. 5. ... 0. 0. 0.] [ 0. 0. 0. ... 10. 0. 0.] [ 0. 0. 0. ... 16. 9. 0.] ... [ 0. 0. 1. ... 6. 0. 0.] [ 0. 0. 2. ... 12. 0. 0.] [ 0. 0. 10. ... 12. 1. 0.]]
.target 函式允許我們檢視我們希望模型學習的內容。
digits.target
array([0, 1, 2, ..., 8, 9, 8])
要訪問digits資料集的形狀,我們使用
digits.images[0]
array([[ 0., 0., 5., 13., 9., 1., 0., 0.], [ 0., 0., 13., 15., 10., 15., 5., 0.], [ 0., 3., 15., 2., 0., 11., 8., 0.], [ 0., 4., 12., 0., 0., 8., 8., 0.], [ 0., 5., 8., 0., 0., 9., 8., 0.], [ 0., 4., 11., 0., 1., 12., 7., 0.], [ 0., 2., 14., 5., 10., 12., 0., 0.], [ 0., 0., 6., 13., 10., 0., 0., 0.]])
現在讓我們轉到學習和預測部分。
from sklearn import svm clf = svm.SVC(gamma=0.001, C=100.)
這裡的SVC是支援向量分類,它充當我們模型的內建估計器。
clf.fit(digits.data[:-1], digits.target[:-1]) SVC(C=100.0, cache_size=200, class_weight=None, coef0=0.0, decision_function_shape='ovr', degree=3, gamma=0.001, kernel='rbf', max_iter=-1, probability=False, random_state=None, shrinking=True, tol=0.001, verbose=False)
首先,我們需要使用fit方法將資料集饋送到模型,以便我們的模型可以學習。在這裡,我們將所有影像都作為訓練資料饋送,除了最後一幅影像,我們將將其用於測試。
現在,我們的模型經過訓練後,我們可以使用.predict函式預測測試資料的輸出。
clf.predict(digits.data[-1:]) array([8])
現在,我們的模型經過訓練後,我們可以計算模型的效率和時間週期。
結論
在本文中,我們學習了機器學習的一些基礎知識以及在Python中實現它的一些常用庫。
廣告
資料結構
網路
關係資料庫管理系統 (RDBMS)
作業系統
Java
iOS
HTML
CSS
Android
Python
C語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP