本文以scikit-learn自身的digits資料集為例,闡釋分類問題
首先利用pca進行降維
然後訓練模型
from sklearn.cross_validation import train_test_split
from sklearn.*****_bayes import gaussiannb
# random state guarantee that we get the same result
x_train, x_test, y_train, y_test = train_test_split(x, y, random_state=0)
clf = gaussiannb()
clf.fit(x_train, y_train)
predicted = clf.predict(x_test)
expected = y_test
# 1st way to calculate the precision
matches = (predicted == expected)
print matches.sum() / float(len(matches))
# output 0.833333333333
# 2nd way to calculate the precision
print clf.score(x_test, y_test)
# output 0.833333333333
# 3rd way to calculate the accuracy
from sklearn.metrics import accuracy_score
print accuracy_score(predicted, expected)
# output 0.833333333333
可以發現,模型達到了83.33%的準確率
我們可以進一步按照類別考察結果並嘗試將部分結果視覺化
分類學習 支援向量機(Scikit learn)
手寫體數字識別 1 手寫體資料讀取 from sklearn.datasets import load digits digits load digits 獲得的手寫體資料儲存在digits變數中 print digits.data.shape 2 資料分割 from sklearn.cross v...
ELI5 和scikit learn文字分類管道
mli5是乙個python庫,允許使用統一api視覺化地除錯各種機器學習模型。它內建了對多個ml框架的支援,並提供了一種解釋黑盒模型的方法。它有助於除錯機器學習分類器並解釋它們的 支援pipeline和featureunion。eli5通過scikit learn了解文字處理實用程式,並可相應地突出...
線性回歸 scikit learn
線性回歸即是我們希望能通過學習來得到乙個各屬性線性組合的函式,函式的各項係數表明了該屬性對於最後結果的重要性,可以用以下公式表達 y x 1 x1 2x2 pxp b線性回歸試圖讓各個點到回歸直線上的距離和最小,即最小化均方誤差。可用以下公式描述 min x y 22 matplotlib inli...