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:圖形分析(三)
※不經意間又發現了一個有趣又炫酷的包~