Python數據分析及可視化實例之手寫體數字識別

系列文章總目錄:Python數據分析及可視化實例目錄


Talk is cheap , show U the code.

該源碼注釋比較全面,需要對SKlearn有一定的了解,

當然,你也可以把它視作黑箱,做個調包俠也是大俠。

手寫體數字識別 MNIST 數據集

基於線性假設的支持向量機分類器LinearSVC

# coding: utf-8nn# In[1]:nn# 從sklearn.datasets里導入手寫體數字載入器。nfrom sklearn.datasets import load_digitsn# 從通過數據載入器獲得手寫體數字的數碼圖像數據並儲存在digits變數中。ndigits = load_digits()n# 檢視數據規模和特徵維度。ndigits.data.shapennn# In[2]:nn# 從sklearn.cross_validation中導入train_test_split用於數據分割。nfrom sklearn.model_selection import train_test_splitn# 隨機選取75%的數據作為訓練樣本;其餘25%的數據作為測試樣本。nX_train, X_test, y_train, y_test = train_test_split(digits.data, digits.target, test_size=0.25, random_state=33)nnn# In[3]:nny_train.shapennn# In[4]:nny_test.shapennn# In[5]:nn# 從sklearn.preprocessing里導入數據標準化模塊。nfrom sklearn.preprocessing import StandardScalern# 從sklearn.svm里導入基於線性假設的支持向量機分類器LinearSVC。nfrom sklearn.svm import LinearSVCn# 從仍然需要對訓練和測試的特徵數據進行標準化。nss = StandardScaler()nX_train = ss.fit_transform(X_train)nX_test = ss.transform(X_test)n# 初始化線性假設的支持向量機分類器LinearSVC。nlsvc = LinearSVC()n#進行模型訓練nlsvc.fit(X_train, y_train)n# 利用訓練好的模型對測試樣本的數字類別進行預測,預測結果儲存在變數y_predict中。ny_predict = lsvc.predict(X_test)nnn# In[6]:nn# 使用模型自帶的評估函數進行準確性測評。nThe Accuracy of Linear SVC is, lsvc.score(X_test, y_test)nnn# In[7]:nn# 依然使用sklearn.metrics裡面的classification_report模塊對預測結果做更加詳細的分析。nfrom sklearn.metrics import classification_reportnprint(classification_report(y_test, y_predict, target_names=digits.target_names.astype(str)))n

新手可查閱歷史文章:

Python數據分析及可視化實例目錄

也可以到下面報到,邀請您哦,進群請說明來自知乎yeayee專欄

Scikit-learn(sklearn) 0.19 中文文檔校驗邀請函

推薦閱讀:

ECharts+Python 給你的數據做「美顏」
Python數據分析及可視化實例之疾病預測(分類)
打開股票量化的黑箱(自己動手寫一個印鈔機) 第六章
Quantmod Tutorial:圖形分析(三)
不經意間又發現了一個有趣又炫酷的包~

TAG:Python | 数据分析 | 数据可视化 |