1. 程式人生 > >scikit-learn學習筆記

scikit-learn學習筆記

參考資料:

http://nbviewer.jupyter.org/github/donnemartin/data-science-ipython-notebooks/blob/master/kaggle/titanic.ipynb

https://github.com/Fdevmsy/Image_Classification_with_5_methods

https://github.com/huangchuchuan/SVM-HOG-images-classifier

https://blog.csdn.net/always2015/article/details/47100713

1.KNN的使用

[email protected]:~$ python
Python 2.7.12 (default, Dec  4 2017, 14:50:18) 
[GCC 5.4.0 20160609] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import numpy as np
>>> from sklearn import datasets
>>> from sklearn.cross_validation import train_test_split
/usr/local/lib/python2.7/dist-packages/sklearn/cross_validation.py:41: DeprecationWarning: This module was deprecated in version 0.18 in favor of the model_selection module into which all the refactored classes and functions are moved. Also note that the interface of the new CV iterators are different from that of this module. This module will be removed in 0.20.
  "This module will be removed in 0.20.", DeprecationWarning)
>>> from sklearn.neighbors import KNeighborsClassifier
>>> iris=datasets.load_iris()
>>> iris_X=iris.data
>>> iris_y=iris.target
>>> print(iris_X[:2,:])
[[ 5.1  3.5  1.4  0.2]
 [ 4.9  3.   1.4  0.2]]
>>> print(iris_y)
[0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 2
 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2
 2 2]
>>> X_train,X_test,y_train,y_test=train_test_split(iris_X,iris_y,test_size=0.3)
>>> print(y_train)
[2 1 0 0 0 2 0 0 1 1 2 2 1 1 2 2 2 0 1 0 2 2 1 1 1 1 1 0 1 1 0 2 1 0 0 2 2
 0 0 2 1 0 0 2 1 2 1 2 1 1 1 2 1 2 0 2 0 1 1 2 1 0 1 2 2 0 2 2 1 0 1 1 2 2
 1 0 1 1 2 0 0 1 0 1 0 2 0 1 1 0 2 1 2 0 2 0 2 0 2 1 0 2 0 2 2]
>>> knn=KNeighborsClassifier()
>>> knn.fit()
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: fit() takes exactly 3 arguments (1 given)
>>> knn.fit(X_train,y_train)
KNeighborsClassifier(algorithm='auto', leaf_size=30, metric='minkowski',
           metric_params=None, n_jobs=1, n_neighbors=5, p=2,
           weights='uniform')
>>> print(knn.predict(X_test))
[1 1 2 0 1 1 1 1 2 0 0 2 0 1 0 0 0 1 2 2 2 2 0 1 2 0 1 2 2 0 1 2 0 0 1 0 0
 0 0 1 0 1 1 2 0]
>>> print(y_test)
[1 1 2 0 1 1 1 1 2 0 0 2 0 1 0 0 0 1 2 2 2 2 0 1 2 0 1 2 2 0 2 2 0 0 2 0 0
 0 0 1 0 1 1 2 0]
>>> 

 2.SVC的使用

import pandas as pd
import numpy as np
from sklearn import datasets
from sklearn import svm
from sklearn.model_selection import train_test_split
def load_data():
	iris=datasets.load_iris()
	X_train,X_test,y_train,y_test=train_test_split(
	iris.data,iris.target,test_size=0.10,random_state=0)
	return X_train,X_test,y_train,y_test

def test_LinearSVC(X_train,X_test,y_train,y_test):
	cls=svm.LinearSVC()
	cls.fit(X_train,y_train)
	print('Coefficients:%s, intercept %s'%(cls.coef_,cls.intercept_))
	print('Score: %.2f' %cls.score(X_test,y_test))

if __name__=="__main__":
	X_train,X_test,y_train,y_test=load_data()
	test_LinearSVC(X_train,X_test,y_train,y_test)

 呼叫

[email protected]:~/python_ws$ python svmtest2.py
Coefficients:[[ 0.18424504  0.45123335 -0.80794237 -0.45071267]
 [-0.13381099 -0.75235247  0.57223898 -1.11494325]
 [-0.7943601  -0.95801711  1.31465593  1.8169808 ]], intercept [ 0.10956304  1.86593164 -1.72576407]
Score: 1.00

相關推薦

SciKit-Learn學習筆記】5:核SVM分類和預測乳腺癌資料集

學習《scikit-learn機器學習》時的一些實踐。 常用引數 引數C SVM分類器svm.SVC()中的引數C即SVM所優化的目標函式 a

SciKit-Learn學習筆記】8:k-均值演算法做文字聚類,聚類演算法效能評估

學習《scikit-learn機器學習》時的一些實踐。 原理見K-means和K-means++的演算法原理及sklearn庫中引數解釋、選擇。 sklearn中的KMeans from sklearn.datasets import make_blobs from m

SciKit-Learn學習筆記】7:PCA結合SVM做AT&T資料集人物影象分類

學習《scikit-learn機器學習》時的一些實踐。 原理見PCA及繪製降維與恢復示意圖。 sklearn的PCA sklearn中包裝的PCA也是不帶有歸一化和縮放等預處理操作的,可以用MinMaxScaler()實現並裝在Pipeline裡封裝起來。 from

SciKit-Learn學習筆記】6:樸素貝葉斯做文件分類並繪製混淆矩陣

學習《scikit-learn機器學習》時的一些實踐。 條件獨立 樸素即指的是條件獨立假設,假設n個特徵之間不相關,則可據聯合概率的條件展開式: p

SciKit-Learn學習筆記】4:決策樹擬合泰坦尼克號資料集並提交到Kaggle

學習《scikit-learn機器學習》時的一些實踐。 決策樹擬合泰坦尼克號資料集 這裡用繪製引數-score曲線的方式去直觀看出模型引數對模型得分的影響,作者使用了GridSearchCV來自動做k-fold交叉驗證,並且能在多組模型引數中找到最優的一組和最優值(用平均s

SciKit-Learn學習筆記】3:線性迴歸測算波士頓房價,Logistic迴歸預測乳腺癌

學習《scikit-learn機器學習》時的一些實踐。 線性迴歸 這部分和第一篇筆記"繪製隨機波動樣本的學習曲線 "部分基本類似。線性迴歸裡可以加入多項式特徵,以對模型做增強。 線性迴歸增加多項式特徵,擬合sin函式 import numpy as np impor

SciKit-Learn學習筆記】2:kNN分類/迴歸,在糖尿病資料集上的表現

學習《scikit-learn機器學習》時的一些實踐。 kNN分類 在三個點周圍生成聚類樣本,然後做的kNN分類。 這種把標準差取得好(不要太小),得到的就不一定是線性可分的資料了。比如圖上右側有個玫紅點和藍點交錯。 from sklearn.datasets.sa

SciKit-Learn學習筆記】1:SVM預測digits資料集,繪製隨機波動樣本的學習曲線

學習《scikit-learn機器學習》時的一些實踐。 SVM預測digits資料集 sklearn裡的各種模型物件統一了介面,fit()做訓練,predit()做預測,用score()獲得對模型測試結果的打分。 這裡的打分不是acc,應該是決定係數。 檢視資料形式

ML:Scikit-Learn 學習筆記(3) --- Nearest Neighbors 最近鄰 迴歸及相關演算法

1 最近鄰迴歸 最近鄰迴歸是用在標籤值是連續取值的場景智商的,而不是離散取值,而是用最近鄰迴歸進行查詢的點,最後得到的結果是其所有最近鄰居的平均值。 scikit-learn 在迴歸部分,同樣實現了兩種迴歸演算法,和之前的一樣,和KNN思想近似的KNeigh

[機器學習]Scikit-Learn學習筆記03——Scikit-Learn資料模型

Scikit-Learn提供了比較全的資料集,主要分為以下幾類 1. 自帶的小資料集(packaged dataset) 2. 線上下載的資料集(Downloaded Dataset) 3. 生成的資料集(Generated Dataset) 4. svm

Python scikit-learn 學習筆記—鳶尾花模型

  鳶尾花資料是一個簡易有趣的資料集。這個資料集來源於科學家在一島上找到一種花的三種不同亞類別,分別叫做setosa,versicolor,virginica。但是這三個種類並不是很好分辯,所以他們又從花萼長度,花萼寬度,花瓣長度,花瓣寬度這四個角度測量不同的種類用於定量分

scikit-learn學習筆記(四)Ridge Regression ( 嶺迴歸 )

嶺迴歸通過對係數的大小施加懲罰來解決 普通最小二乘 的一些問題。 ridge coefficients ( 嶺係數 ) 最小化了懲罰的殘差平方和, 這裡,  是控制收縮量的複雜度引數:  值越大,收縮量越大,因此係數變得對共線性變得更加魯棒。 與其他線性模型一樣,Ridg

scikit-learn學習筆記

參考資料: http://nbviewer.jupyter.org/github/donnemartin/data-science-ipython-notebooks/blob/master/kaggle/titanic.ipynb https://gith

scikit-learn 學習筆記(一)

其實前一陣一直在看《機器學習系統設計》,但是發現書上程式碼不全,不好復現,而且書針對的主要是文字的處理,正好是我最不關心的方向,所以看到一半忍痛棄坑。那麼我們開始scikit-learn文件學習的旅程吧。 1. 線性模型 我對於線性模型的理解就是,將一系列的已知點回歸到一個

sklearn scikit-learn學習筆記(持續更新)

在最近的課題中,發現了機器學習的神器,sklearn,寫一些簡單的分類器對資料進行分類簡直不要舒服本部落格是我在學習官方文件的時候的一些個人的筆記,由於我只關注一些自己見過的方法的呼叫,所以本文僅供參考,建議英語過關的還是要自己看官方文件http://scikit-learn

Scikit-Learn學習筆記——模型驗證與超引數網格搜尋

超引數與模型驗證 模型驗證就是在選擇模型和超引數之後,通過對訓練資料進行學習,對比模型對已知資料的預測值與實際值的差異。模型驗證的正確方法是使用留出集評估模型效能,即先從訓練模型中的資料中留出一部分,然後用這部分留出來的資料檢驗模型效能。 但是

Scikit-Learn學習筆記——k-means聚類:影象識別、色彩壓縮

k-means聚類 k-means是一種無監督學習模型——聚類演算法的一種演算法。k-means演算法可以在不帶標籤的多維資料集中尋找確定數量的簇。 最優的聚類結果需要符合一下兩個假設 “簇中心點“是屬於該簇的所有資料點座標的算術平

scikit-learn學習LDA主題模型

大小 href 房子 鏈接 size 目標 文本 訓練樣本 papers     在LDA模型原理篇我們總結了LDA主題模型的原理,這裏我們就從應用的角度來使用scikit-learn來學習LDA主題模型。除了scikit-learn, 還有spark MLlib和gen

windows下使用scikit-learn學習機器學習——安裝和配置

style weight 這一 策略 學習資料 scipy 錯誤 erl pycharm   環境搭建過程挺麻煩...但終於是弄好了,先給一些過程中參考的比較重要的資料(找微軟的機器學習資料是個人摸索經驗,無任何借鑒):     1.如果嫌網上各種numpy、scipy等

Scikit-learn學習

ted als kit was val ida port from pre scikit-learn是構建在Numpy,Matplotlib等工具之上的一套完整的機器學習工具庫。TensorFlow的接口封裝仿照其進行了設計 樣本劃分問題 使用交叉驗證集劃分樣本,代碼: f