sklearn實戰-基於邏輯回歸的乳腺癌分類診斷

sklearn實戰-基於邏輯回歸的乳腺癌分類診斷

上一篇文章我們初步介紹了sklearn機器學習庫的數據預處理,今天我們來說說調用sklearn機器學習庫的實戰項目-基於邏輯回歸的乳腺癌分析。

邏輯回歸演算法思想:邏輯回歸(LogisticRegression)是當前機器學習演算法比較常用的方法,可以用來回歸分析,也可以用來分類,主要是二分類問題。邏輯回歸分類演算法就是將線性回歸應用在分類場景中,通過曲線擬合與sigmoid函數得到對樣本數據的分類標籤,在二分類問題中得到的分類結果為0/1。

下面我們使用sklearn自帶的乳腺癌數據集來進行我們的實戰學習。整個訓練測試過程僅需5步。仔細看哦!

一、導入庫

from sklearn import datasetsfrom sklearn.cross_validation import train_test_splitfrom sklearn.linear_model import LogisticRegression

導入sklearn中我們需要的庫,其中datasets為sklearn中自帶的數據集,train_test_split為數據劃分訓練集和測試集,LogisticRegression為sklearn中的邏輯回歸模型。

二、載入數據集

cancer =datasets.load_breast_cancer()cancer_X=cancer.dataprint(cancer_X.shape)cancer_y=cancer.targetprint(cancer_y.shape)

通過datasets.load_breast_cancer()載入sklearn中的乳腺癌數據集,其中cancer_X為衡量是否為乳腺癌的各項指標數據,cancer_y為標籤數據。使用shape來查看數據的規模,cancer_X為(569, 30)的數據,且已經進行預處理可以直接使用,cancer_y為(569, 1)的數據。

三、劃分訓練集和測試集

X_train,X_test,y_train, y_test=train_test_split(cancer_X,cancer_y,test_size=0.3)

通過train_test_split()函數將數據集劃分為訓練集和測試集,其中test_size為劃分比例,本次我們設為0.3,即數據集中訓練集為70%,測試集為30%

四、模型構建與訓練

clf = LogisticRegression()clf.fit(X_train,y_train)

sklearn中為我們提供了很多機器學習演算法模型,而且調用起來非常方便,形如上面的形式即可構建邏輯回歸模型並使用訓練集數據進行訓練。如果要使用其它演算法,只需更換演算法模型即可。

五、模型測試

clf_y_predict = clf.predict(X_test)print(clf_y_predict)score=clf.score(X_test,y_test)print(score)

經過第四步模型訓練後,我們使用訓練好的模型來進行數據測試,第一行代碼為數據預測結果,第二行輸出預測結果,第三行為評估模型預測的分數,第四輸出分數。測試結果如下

通過上面測試結果可得模型預測的準確度為98.2%,可見使用邏輯回歸演算法取得較好的效果。

項目完整代碼

from sklearn import datasetsfrom sklearn.cross_validation import train_test_splitfrom sklearn.linear_model import LogisticRegressioncancer =datasets.load_breast_cancer()cancer_X=cancer.dataprint(cancer_X.shape)cancer_y=cancer.targetprint(cancer_y.shape)X_train,X_test,y_train, y_test=train_test_split( cancer_X,cancer_y,test_size=0.3)clf = LogisticRegression()clf.fit(X_train,y_train)clf_y_predict = clf.predict(X_test)print(clf_y_predict)score=clf.score(X_test,y_test)print(score)

可以使用其他模型進行分析來比較那個模型更適合,能取得更好的效果。具體參考官方文檔:

sklearn.apachecn.org/cn

更多機器學習項目歡迎關注公眾號《Python練手項目實戰》,領取機器學習視頻資源後台回復「資源」。


推薦閱讀:

【用Sklearn進行機器學習】第三篇 - 深入監督學習:支持向量機
CountVectorizer介紹
sklearn參數詳解—SVM

TAG:機器學習 | Python | sklearn |