1. 程式人生 > >python機器學習-sklearn挖掘乳腺癌細胞(三)

python機器學習-sklearn挖掘乳腺癌細胞(三)

質量 mat spl tcl pytho 不同 區別 工具 state

python機器學習-sklearn挖掘乳腺癌細胞( 博主親自錄制)

網易雲觀看地址

https://study.163.com/course/introduction.htm?courseId=1005269003&utm_campaign=commission&utm_source=cp-400000000398149&utm_medium=share

技術分享圖片

乳腺癌細胞和正常細胞是有顯著區別的

癌細胞半徑更大,形狀更加不規則,凹凸不平。我們可以用科學手段來區分正常細胞和癌細胞嗎?答案是可以的,通過機器學習算法,建立分類器,解決二分類問題。

技術分享圖片

乳腺癌細胞分類器建模

現在我們要用機器學習算法建立分類器,區分細胞為良性細胞或癌細胞。分類器就是解決二分類或多分類問題。

建立分類器算法很多,包括邏輯回歸,xgboost,svm,神經網絡等等。

今天我要介紹目前開源領域裏最新的算法catboost。

catboost起源於俄羅斯搜索巨頭yandex,準確率高,速度快,調參少,性價比高於xgboost

今天的CatBoost版本是第一個版本,以後將持續更新叠代。catboost三個特點:(1)“減少過度擬合”:這可以幫助你在訓練計劃中取得更好的成果。它基於一種構建模型的專有算法,這種算法與標準的梯度提升方案不同。(2)“類別特征支持”:這將改善你的訓練結果,同時允許你使用非數字因素,“而不必預先處理數據,或花費時間和精力將其轉化為數字。”(3)支持Python或R的API接口來使用CatBoost,包括公式分析和訓練可視化工具。(4)有很多機器學習庫的代碼質量比較差,需要做大量的調優工作,”他說,“而CatBoost只需少量調試,就可以實現良好的性能。這是一個關鍵性的區別

技術分享圖片

catboost建立乳腺癌分類器代碼

# -*- coding: utf-8 -*-
"""
Created on Thu Oct  4 21:07:32 2018

@author: [email protected]
"""

from sklearn.model_selection import train_test_split
import catboost as cb
from sklearn.datasets import load_breast_cancer
cancer=load_breast_cancer()
X, y = cancer.data,cancer.target
train_x, test_x, y_train, y_test=train_test_split(X,y,test_size=0.3,random_state=0)
cb = cb.CatBoostClassifier()
cb.fit(train_x, y_train)
print("accuracy on the training subset:{:.3f}".format(cb.score(train_x,y_train)))
print("accuracy on the test subset:{:.3f}".format(cb.score(test_x,y_test)))

大家可以看到catboost預測準確率非常高,訓練集100%,測試集97.7%

技術分享圖片

掃二維碼,關註博主主頁,學習更多Python知識

技術分享圖片

https://m.study.163.com/user/1135726305.htm?utm_campaign=share&utm_medium=iphoneShare&utm_source=weixin&utm_u=1015941113

python機器學習-sklearn挖掘乳腺癌細胞(三)