python機器學習-sklearn挖掘乳腺癌細胞(三)
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挖掘乳腺癌細胞(三)