欢迎光临散文网 会员登陆 & 注册

python机器学习-乳腺癌细胞挖掘(三)

2020-07-27 08:10 作者:python_biology  | 我要投稿

python机器学习-乳腺癌细胞挖掘:http://dwz.date/bwey

up主录制

乳腺癌细胞和正常细胞是有显著区别的

癌细胞半径更大,形状更加不规则,凹凸不平。我们可以用科学手段来区分正常细胞和癌细胞吗?答案是可以的,通过机器学习算法,建立分类器,解决二分类问题。

乳腺癌细胞分类器建模

现在我们要用机器学习算法建立分类器,区分细胞为良性细胞或癌细胞。分类器就是解决二分类或多分类问题。

建立分类器算法很多,包括逻辑回归,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

 微信公众号:pythonEducation

@author: 231469242@qq.com

"""

 

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机器学习生物信息学系列课(博主录制):http://dwz.date/b9vw

up主录制


python机器学习-乳腺癌细胞挖掘(三)的评论 (共 条)

分享到微博请遵守国家法律