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

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

流程分析:

  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()

基于逻辑回归的癌症分类预测-良/恶性乳腺癌肿瘤预测_第1张图片

#2.缺失值处理
#1)替换-》np.nan
data = data.replace(to_replace="?",value=np.nan)
#w)删除缺失样本
data.dropna(inplace=True)
data.isnull().any()  #不存在缺失值

基于逻辑回归的癌症分类预测-良/恶性乳腺癌肿瘤预测_第2张图片

#3.划分数据集
from sklearn.model_selection import train_test_split
#筛选特征值和目标值
x = data.iloc[:,1:-1]
y = data["Class"]
x.head()

基于逻辑回归的癌症分类预测-良/恶性乳腺癌肿瘤预测_第3张图片

y.head()

基于逻辑回归的癌症分类预测-良/恶性乳腺癌肿瘤预测_第4张图片

#4.特征工程
from sklearn.preprocessing import StandardScaler
transfer = StandardScaler()
x_train = transfer.fit_transform(x_train)
x_test = transfer.transform(x_test)

基于逻辑回归的癌症分类预测-良/恶性乳腺癌肿瘤预测_第5张图片

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)

基于逻辑回归的癌症分类预测-良/恶性乳腺癌肿瘤预测_第6张图片

基于逻辑回归的癌症分类预测-良/恶性乳腺癌肿瘤预测_第7张图片

 

你可能感兴趣的:(机器学习,逻辑回归,机器学习)