实例:使用python实现下背痛数据分析

本案例通过Python对下背痛数据进行分析,运用逻辑回归、knn和决策树建立分类模型。数据预处理过程中,对列名进行了映射并转换为数值类型。模型评估显示,逻辑回归、knn和决策树的AUC分别为0.94、0.9和0.88,表明模型效果良好。
摘要由CSDN通过智能技术生成

实例:使用python实现下背痛数据分析

实例背景

下背痛顾名思义就是指下背部的疼痛,通常是指背部肋骨下缘以下的部分,由于好发于第四和第五腰椎或第五腰椎和第一骶椎间。也有不少人称之为“腰痛”,是现代人主要的文明病之一。1
本案例旨在根据下背痛特征与诊断结果,使用python及相关库进行数据分析,使用逻辑回归、knn和决策树建立分类模型。

提出任务

  • 数据预处理
  • 建立下背痛分类模型

数据预处理

导入相关库及配置:

import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import warnings

warnings.filterwarnings("ignore") # 忽略警告信息
plt.rcParams["font.family"] = "SimHei"  # 字体样式
plt.rcParams["axes.unicode_minus"] = False # 显示坐标轴负号

查看数据:

data = pd.read_csv('dataset_spine.csv')
data.head()

在这里插入图片描述

data.info()

在这里插入图片描述
可以看出数据没有空值,各列名没有具体意义,且最后一列存在较多空值。
首先查看最后一列的数据:

for info in data.iloc[:,-1]:
    if pd.notnull(info):
        print(info)

在这里插入图片描述
根据输出内容可以看出,最后一列的文本为前面各列的说明。包括列名和数据类型。
因此,根据说明,把前面各列与实际代表的内容相对应上:

col_info = [] # 列信息集合
col_info.extend([info for info in data.iloc[:,-1] if pd.notnull(info)])
# col_info
col_name = [] # 列名集合
for attr in col_info[1:-1]: 
	# 将等号右边的列名根据顺序一一对应每一列,同时去掉多余空格并使用小写
    attr = attr.split("=")[1].split("(")[0].replace(" ","").lower()
    col_name.append(attr)
# col_name
col_name.append("state") # 最后一列表示疾病状态
# data.head()
data.drop(data.columns[len(data.columns)-1], axis=1, inplace=True) # 删除原数据最后一列
data.columns = col_name
data.head()

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值