sklearn scikit-learn學習筆記(持續更新)
阿新 • • 發佈:2019-02-08
在最近的課題中,發現了機器學習的神器,sklearn,寫一些簡單的分類器對資料進行分類簡直不要舒服
本部落格是我在學習官方文件的時候的一些個人的筆記,由於我只關注一些自己見過的方法的呼叫,所以本文僅供參考,建議英語過關的還是要自己看官方文件
http://scikit-learn.org/stable/supervised_learning.html#supervised-learning
1.1.1普通最小二乘法(線性迴歸)
此方法學過機器學習課程的都應該很熟悉,入門必備的演算法,基本此項就是對所有的資料集最小化一個引數
sklearn使用方法為:
>>> from sklearn import linear_model >>> reg = linear_model.LinearRegression() >>> reg.fit ([[0, 0], [1, 1], [2, 2]], [0, 1, 2]) LinearRegression(copy_X=True, fit_intercept=True, n_jobs=1, normalize=False) >>> reg.coef_ #輸出迴歸係數 array([ 0.5, 0.5])
例子為:
http://scikit-learn.org/stable/auto_examples/linear_model/plot_ols.html#sphx-glr-auto-examples-linear-model-plot-ols-py
1.1.2 Ridge Regression
嶺迴歸通過對係數大小施加懲罰來解決普通最小二乘法的一些問題。 嶺係數最小化懲罰殘差平方和。區別就在損失函式上
>>> from sklearn import linear_model >>> reg = linear_model.Ridge (alpha = .5) >>> reg.fit ([[0, 0], [0, 0], [1, 1]], [0, .1, 1]) Ridge(alpha=0.5, copy_X=True, fit_intercept=True, max_iter=None, normalize=False, random_state=None, solver='auto', tol=0.001) >>> reg.coef_ array([ 0.34545455, 0.34545455]) >>> reg.intercept_ #輸出迴歸的截距b 0.13636...
1.1.2.2 Ridge Complexity:RidgeCV
用交叉驗證得到一個合適的alpha
>>> from sklearn import linear_model >>> reg = linear_model.RidgeCV(alphas=[0.1, 1.0, 10.0]) >>> reg.fit([[0, 0], [0, 0], [1, 1]], [0, .1, 1]) RidgeCV(alphas=[0.1, 1.0, 10.0], cv=None, fit_intercept=True, scoring=None, normalize=False) >>> reg.alpha_ 0.1
1.1.10:Bayesian Regression