Advertisement

基于逻辑回归的癌症分类预测-良/恶性乳腺癌肿瘤预测

阅读量:

简介:逻辑回归是属于机器学习里面的监督学习,它是以回归的思想来解决分类问题的一种非常经典的二分类分类器。

流程分析:

  1. 获取数据
  2. 数据处理模块(处理缺失值)
  3. 数据集划分
  4. 特征工程(标准化)
  5. 逻辑回归预估器
  6. 模型评估

该案例本篇令恶性肿瘤为正例,使用jupyter进行编写。

代码为:

复制代码
 import pandas as pd

    
 import numpy as np
复制代码
 #1.读取数据

    
 path = "https://archive.ics.uci.edu/ml/machine-learning-databases/breast-cancer-wisconsin/breast-cancer-wisconsin.data"
    
 column_name = ['Sample code number', 'Clump Thickness', 'Uniformity of Cell Size', 'Uniformity of Cell Shape',
    
                'Marginal Adhesion', 'Single Epithelial Cell Size', 'Bare Nuclei', 'Bland Chromatin',
    
                'Normal Nucleoli', 'Mitoses', 'Class']
    
 data = pd.read_csv(path,names=column_name)
复制代码
    data.head()
复制代码
 #2.缺失值处理

    
 #1)替换-》np.nan
    
 data = data.replace(to_replace="?",value=np.nan)
    
 #w)删除缺失样本
    
 data.dropna(inplace=True)
复制代码
    data.isnull().any()  #不存在缺失值
复制代码
 #3.划分数据集

    
 from sklearn.model_selection import train_test_split
    
 #筛选特征值和目标值
    
 x = data.iloc[:,1:-1]
    
 y = data["Class"]
    
 x.head()
复制代码
    y.head()
复制代码
 #4.特征工程

    
 from sklearn.preprocessing import StandardScaler
    
 transfer = StandardScaler()
    
 x_train = transfer.fit_transform(x_train)
    
 x_test = transfer.transform(x_test)
复制代码
 from sklearn.linear_model import LogisticRegression

    
 #5.预估器流程
    
 estimator = LogisticRegression()
    
 estimator.fit(x_train,y_train)
复制代码
 #逻辑的模型参数:回归系数和偏置

    
 estimator.coef_
复制代码
    estimator.intercept_
复制代码
 #6.模型评估

    
 #方法1 直接比对真实值和预测值
    
 y_predict = estimator.predict(x_test)
    
 print("y_predict:\n",y_predict)
    
 print("直接比对真实值和预测值:\n",y_test==y_predict)
    
  
    
 #方法2 计算准确率
    
 score = estimator.score(x_test,y_test)
    
 print("准确率为:\n",score)


全部评论 (0)

还没有任何评论哟~