《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)
还没有任何评论哟~




