Advertisement

《python机器学习及实战》学习笔记ch1之良/恶性乳腺癌肿瘤预测

阅读量:

文章说明

本系列文章都是自己学习《python机器学习及实战》这本书时所做的一些笔记而已,仅为学习作参考。

2.数据集地址:

数据地址是书中给出的数据下载地址:

https://pan.baidu.com/s/1dENAUTr#list/path=%2F&parentPath=%2FPython机器学习及实践

3.良/恶性乳腺癌肿瘤预测学习

3.1获取数据

复制代码
>     import as #获取数据
>  
>     #获取训练数据
>     r"../Datasets/Breast-Cancer/breast-cancer-train.csv"# print(df_train.head(5))#查看训练数据前5行
>     """
>        Unnamed: 0  Clump Thickness  Cell Size  Type
>     0         163                1          1     0
>     1         286               10         10     1
>     2         612               10         10     1
>     3         517                1          1     0
>     4         464                1          1     0
>     """
>     #获取测试数据
>     r"../Datasets/Breast-Cancer/breast-cancer-test.csv"# print(df_test.head(5)) #查看测试数据前5行
>     """
>        Unnamed: 0  Clump Thickness  Cell Size  Type
>     0         158                1          2     0
>     1         499                1          1     0
>     2         396                1          1     0
>     3         155                5          5     1
>     4         321                1          1     0
>     """

3.2选取特征,构建测试集中的正负分类样本

复制代码
>     #选取‘Clump Thickness’和‘Cell Size’作为特征,构建测试集的正负分类样本
>     'Type'0'Clump Thickness','Cell Size'# print(df_test_negative.head(5))
>     """
>        Clump Thickness  Cell Size
>     0                1          2
>     1                1          1
>     2                1          1
>     4                1          1
>     5                1          1
>     """
>     'Type'1'Clump Thickness','Cell Size'# print(df_test_positive.head(5))
>     """
>         Clump Thickness  Cell Size
>     3                 5          5
>     7                 6          6
>     8                 4         10
>     9                 3          3
>     11               10          3
>  
>     """

3.3绘图

复制代码
>     #绘制良性肿瘤样本点,标记为红色的圈
>     'Clump Thickness','Cell Size',marker'o',s200,c'red'#绘制恶性肿瘤样本点,标记为黑色的×
>     'Clump Thickness','Cell Size',marker'x',s150,c'black'#设置x轴的标签
>     'Clump Thickness'#设置y轴的标签
>     'Cell Size'

图片如下所示:

3.4为上图添加一条随机直线

复制代码
>     import as #随机采样直线的截距
>     1# print(intercept)
>     """
>     [0.61438353]
>     """
>     #随机采样直线的系数
>     2# print(coef)
>     """
>     [0.92360088 0.98457231]
>     """
>     #x的值
>     0,12#直线表达式
>     01#绘制上面的产生的随机直线
>     ,,c'yellow'#绘制良性肿瘤样本点,标记为红色的圈
>     'Clump Thickness','Cell Size',marker'o',s200,c'red'#绘制恶性肿瘤样本点,标记为黑色的×
>     'Clump Thickness','Cell Size',marker'x',s150,c'black'#设置x轴的标签
>     'Clump Thickness'#设置y轴的标签
>     'Cell Size'#显示图片
>

图片如下所示:

3.5采用sklearn的逻辑斯蒂回归分类器学习模型

模型使用方法

3.5.1使用前10条训练样本学习直线的系数和截距并绘图

复制代码
>>>     from import #使用前10条训练样本学习直线的系数和截距

>>>     'Clump Thickness','Cell Size'10,'Type'10# print('Testing accuracy (10 training samples):',lr.score(df_test[['Clump Thickness','Cell Size']],df_test['Type']))

>>>     """

>>>     Testing accuracy (10 training samples): 0.8685714285714285

>>>     """

>>>     #训练后的截距

>>>     # print(intercept)

>>>     """

>>>     [-1.51522787]

>>>     """

>>>     #训练后的斜率

>>>     # print(coef)

>>>     """

>>>     [[-0.10721332  0.48314152]]

>>>     """

>>>     #分类平面为lx * coef[0] + ly * coef[1] + intercept = 0,映射到2维平面上的直线如下

>>>     0001,,c'green'#绘制良性肿瘤样本点,标记为红色的圈

>>>     'Clump Thickness','Cell Size',marker'o',s200,c'red'#绘制恶性肿瘤样本点,标记为黑色的×

>>>     'Clump Thickness','Cell Size',marker'x',s150,c'black'#设置x轴的标签

>>>     'Clump Thickness'#设置y轴的标签

>>>     'Cell Size'#显示图片

>>>

图片结果如下:

3.5.2使用所有训练样本学习直线的系数和截距并绘图

复制代码
>>>     #使用所有的训练样本学习直线的系数和截距

>>>     'Clump Thickness','Cell Size','Type'print'Testing accuracy (all training samples):','Clump Thickness','Cell Size','Type'"""

>>>     Testing accuracy (all training samples): 0.9371428571428572

>>>     """

>>>     #训练后的截距

>>>     print"""

>>>     [-4.67611309]

>>>     """

>>>     #训练后的斜率

>>>     0,print"""

>>>     [0.59071861 0.7498354 ]

>>>     """

>>>     #分类平面为lx * coef[0] + ly * coef[1] + intercept = 0,映射到2维平面上的直线如下

>>>     01,,c'blue'#绘制良性肿瘤样本点,标记为红色的圈

>>>     'Clump Thickness','Cell Size',marker'o',s200,c'red'#绘制恶性肿瘤样本点,标记为黑色的×

>>>     'Clump Thickness','Cell Size',marker'x',s150,c'black'#设置x轴的标签

>>>     'Clump Thickness'#设置y轴的标签

>>>     'Cell Size'#显示图片

>>>

图片结果如下:

全部评论 (0)

还没有任何评论哟~