【075】心血管疾病预测KNN和逻辑斯蒂

内容目录

一、项目介绍二、数据探索

            1、查看数据集的基本信息

            2、性别和患病的关系

            3、年龄和患病的关系

            4、身高、体重与患病的关系

      三、建模分析

            1、计算相关性系数

            2、编写预设函数

            3、切分数据集

            4、初步训练逻辑回归模型

            5、数据标准化变换

            6、利用KNN做优化

            7、模型选择

            8、KNN表现

            9、逻辑回归表现

一、项目介绍  

1、背景描述

        数据集包括年龄、性别、收缩压、舒张压等12个特征的患者数据记录7万份。
当患者有心血管疾病时,目标类“cardio”等于1,如果患者健康,则为0。

        原文见公众号:python宝

2、导包导数据

# 导入需要的工具包
import pandas as pd # data processing
import numpy as np
import matplotlib.pyplot as plt
import seaborn as sns  # plot
import pandas_profiling
from sklearn.model_selection import train_test_split
from sklearn.linear_model import LogisticRegression
from sklearn.metrics import classification_report,confusion_matrix
from sklearn.neighbors import KNeighborsClassifier
from sklearn.preprocessing import StandardScaler

warnings.filterwarnings("ignore")
data = pd.read_csv('D:\A\AI-master\py-data\cardio_train.csv',sep=';')
data.head()

   id    age  gender  height  weight  ap_hi  ap_lo  cholesterol  gluc  smoke  alco  active  cardio
0   0  18393       2     168    62.0    110     80            1     1      0     0       1       0
1   1  20228       1     156    85.0    140     90            3     1      0     0       1       1
2   2  18857       1     165    64.0    130     70            3     1      0     0       0       1
3   3  17623       2     169    82.0    150    100            1     1      0     0       1       1
4   4  17474       1     156    56.0    100     60            1     1      0     0       0       0


(70000, 13)

二、数据探索

1、查看数据集的基本信息
#info()函数给出样本数据的相关信息概览 :行数,列数,列索引,列非空值个数,列类型,内存占用
data.info()

#describe()函数直接给出样本数据的一些基本的统计量,包括均值,标准差,最大值,最小值,分位数等。
data.describe()

#pandas-profiling能够使用DataFrame自动生成数据的详细报告,相比describe生成的profile要详细的多。
pandas_profiling.ProfileReport(data)

#导出报告,目前pandas-profiling目前只支持导出html格式的文件。如果想要生成图片,先生成的html文件,使用Chrome的内建截屏功能来生成图片,没错你前面看到结果就是使用这种方式生成的。
pfr = pandas_profiling.ProfileReport(data)
pfr.to_file('report.html')
<class 'pandas.core.frame.DataFrame'>
R
  • 0
    点赞
  • 45
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值