Python是一種高級編程語言,具有簡潔、易讀、易用等特點,近年來在數據科學、人工智能等領域中廣泛應用。在分類學習領域中,Python的scikit-learn庫提供了許多分類模型和評估指標,可以很方便地入門分類學習。
首先,讓我們導入一些必要的庫。
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
from sklearn.datasets import load_iris
from sklearn.model_selection import train_test_split
from sklearn.tree import DecisionTreeClassifier
from sklearn.neighbors import KNeighborsClassifier
from sklearn.metrics import accuracy_score
接下來,我們以鳶尾花數據集為例簡單介紹分類入門的流程。
Step1. 加載數據集。
iris = load_iris()
X = iris['data']
y = iris['target']
feature_names = iris['feature_names']
target_names = iris['target_names']
Step2. 數據集劃分。
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)
Step3. 選擇分類算法并訓練模型。
# 決策樹
dt = DecisionTreeClassifier(max_depth=3, random_state=42)
dt.fit(X_train, y_train)
# k近鄰
knn = KNeighborsClassifier(n_neighbors=5)
knn.fit(X_train, y_train)
Step4. 預測并評估模型表現。
# 決策樹
y_pred_dt = dt.predict(X_test)
print('DT accuracy: {:.2f}%'.format(accuracy_score(y_test, y_pred_dt)*100))
# k近鄰
y_pred_knn = knn.predict(X_test)
print('KNN accuracy: {:.2f}%'.format(accuracy_score(y_test, y_pred_knn)*100))
最后,我們可以通過可視化決策樹的方法來更好地理解分類過程。
from sklearn.tree import plot_tree
plt.figure(figsize=(12,8))
plot_tree(dt,
feature_names=feature_names,
class_names=target_names,
filled=True);
以上就是一個簡單的分類入門流程。除此之外,我們還可以探索更多的模型以及對模型進行調參等進一步優化,來提升模型表現。在此過程中,Python和scikit-learn庫都是非常方便的利器。