最全模型实战Pima印第安人数据集上的机器学习-分类算法(逻辑回归、朴素贝叶斯、K近邻、决。。。

最全模型实战Pima印第安⼈数据集上的机器学习-分类算法(逻辑回归、朴素贝
叶斯、K近邻、决。。。
本⽂主要参考⾃
爱吃串串的瘦⼦
易悠
对部分内容进⾏了修正
最全模型实战Pima印第安⼈数据集上的机器学习-分类算法(逻辑回归、朴素贝叶斯、K近邻、决策树、⽀持
向量机、xgboost、lightgbm
1.数据集简介
该数据集最初来⾃国家糖尿病/消化/肾脏疾病研究所。数据集的⽬标是基于数据集中包含的某些诊断测量来诊断性的预测患者是否患有糖尿病。
从较⼤的数据库中选择这些实例有⼏个约束条件。尤其是,这⾥的所有患者都是Pima印第安⾄少21岁的⼥性。
数据集由多个医学预测变量和⼀个⽬标变量组成Outcome。预测变量包括患者的怀孕次数、BMI、胰岛素⽔平、年龄等。
import sys
塞林格九故事import pandas as pd # 数据科学计算⼯具
import numpy as np # 数值计算⼯具
import matplotlib.pyplot as plt # 可视化
import seaborn as sns # matplotlib的⾼级API
import warnings
warnings.filterwarnings('ignore')
2
【1】Pregnancies:怀孕次数
【2】Glucose:葡萄糖
【3】BloodPressure:⾎压 (mm Hg)
【4】SkinThickness:⽪层厚度 (mm)
【5】Insulin:胰岛素 2⼩时⾎清胰岛素(mu U / ml
【6】BMI:体重指数(体重/⾝⾼)^2
【7】DiabetesPedigreeFunction:糖尿病谱系功能
【8】Age:年龄(岁)
【9】Outcome:类标变量(0或1)
pima = pd.read_csv("D:\\xgbtest\\pima-indians-diabetes.csv")
pima.head()
Pregnancies Glucose BloodPressure SkinThickness Insulin BMI DiabetesPedigreeFunction Age Outcome
061487235033.60.627501
11856629026.60.351310
28183640023.30.672321
318966239428.10.167210
40137403516843.12.288331
pima.shape
(768, 9)
pima.describe()
Pregnancies Glucose BloodPressure SkinThickness Insulin BMI DiabetesPedigreeFunction Age Outcome
count768.000000768.000000768.000000768.000000768.000000768.000000768.000000768.000000768.000000
mean3.845052120.89453169.10546920.53645879.79947931.9925780.47187633.2408850.348958
std  3.36957831.97261819.35580715.952218115.2440027.8841600.33132911.7602320.476951
min0.0000000.0000000.0000000.0000000.0000000.0000000.07800021.0000000.000000
25%  1.00000099.00000062.0000000.0000000.00000027.3000000.24375024.0000000.000000
50%  3.000000117.00000072.00000023.00000030.50000032.0000000.37250029.0000000.000000
75%  6.000000140.25000080.00000032.000000127.25000036.6000000.62625041.000000  1.000000
2013全国初中数学竞赛max17.000000199.000000122.00000099.000000846.00000067.100000  2.42000081.000000  1.000
000
Data Visualization -
1.
pima.hist(figsize=(16,14)) #查看每个字段的数据分布;figsize的参数显⽰的是每个⼦图的长和宽
pima.hist(figsize=(16,14))
array([[<matplotlib.axes._subplots.AxesSubplot object at 0x0000022FB6DD9348>,
<matplotlib.axes._subplots.AxesSubplot object at 0x0000022FB6DE32C8>,
<matplotlib.axes._subplots.AxesSubplot object at 0x0000022FB6DA6448>],
[<matplotlib.axes._subplots.AxesSubplot object at 0x0000022FBFF3A608>,
<matplotlib.axes._subplots.AxesSubplot object at 0x0000022FB6E0C348>,
<matplotlib.axes._subplots.AxesSubplot object at 0x0000022FBFF70788>],
[<matplotlib.axes._subplots.AxesSubplot object at 0x0000022FBFF9CFC8>,
<matplotlib.axes._subplots.AxesSubplot object at 0x0000022FBFFD6848>,
<matplotlib.axes._subplots.AxesSubplot object at 0x0000022FBFFDD608>]],
dtype=object)
2.
sns.pairplot(pima,hue='Outcome')
黄金龟甲虫
<seaborn.axisgrid.PairGrid at 0x22fc073d188>
seaborn
【1】set_style()是⽤来设置主题的,Seaborn有5个预设好的主题:darkgrid、whitegrid、dark、white、ticks,默认为darkgrid 【2】set()通过设置参数可以⽤来设置背景,调⾊板等,更加常⽤
【3】displot()为hist加强版
【4】kdeplot()为密度曲线图
【5】boxplot()为箱图
【6】joinplot()联合分布图
【7】heatmap()热点图
【8】pairplot()多变量图,可以⽀持各种类型的变量分析,是特征分析很好⽤的⼯具
3.
pandas.plot作图:数据分为Series 和 DataFrame两种类型;现释义数据为DataFrame
【0】data:DataFrame
【1】x:label or position,default None 指数据框列的标签或位置参数
【2】y:label or position,default None 指数据框列的标签或位置参数
【3】kind:str(line折线图、bar条形图、barh横向条形图、hist柱状图、
box箱线图、kde Kernel的密度估计图,主要对柱状图添加Kernel概率密度线、
density same as “kde”、area区域图、pie饼图、scatter散点图、hexbin)
【4】subplots:boolean,default False,为每⼀列单独画⼀个⼦图
【5】sharex:boolean,default True if ax is None else False
【6】sharey:boolean,default False
【7】loglog:boolean,default False,x轴/y轴同时使⽤log刻度
pima.plot(kind='box', subplots=True, layout=(3,3), sharex=False,sharey=False, figsize=(16,14))
马天尼Pregnancies                    AxesSubplot(0.125,0.657941;0.227941x0.222059)
Glucose                    AxesSubplot(0.398529,0.657941;0.227941x0.222059)
BloodPressure              AxesSubplot(0.672059,0.657941;0.227941x0.222059)
SkinThickness                  AxesSubplot(0.125,0.391471;0.227941x0.222059)
Insulin                    AxesSubplot(0.398529,0.391471;0.227941x0.222059)
BMI                        AxesSubplot(0.672059,0.391471;0.227941x0.222059)广西民族大学网络教学平台
DiabetesPedigreeFunction          AxesSubplot(0.125,0.125;0.227941x0.222059)
Age                            AxesSubplot(0.398529,0.125;0.227941x0.222059)
Outcome                        AxesSubplot(0.672059,0.125;0.227941x0.222059)
dtype: object
4.
column_x = lumns[0:lumns) - 1] # 选择特征列,去掉⽬标列column_x # 显⽰所有特征列信息
江苏文惠网corr = lumns].corr() # 计算变量的相关系数,得到⼀个N * N的矩阵plt.subplots(figsize=(14,12)) # 可以先试⽤plt设置画布的⼤⼩,然后在作图,修改sns.heatmap(corr, annot = True) # 使⽤热度图可视化这个相关系数矩阵
<matplotlib.axes._subplots.AxesSubplot at 0x22fc5906608>

本文发布于:2024-09-22 04:11:09,感谢您对本站的认可!

本文链接:https://www.17tex.com/xueshu/320403.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:数据   变量   预测   患者   糖尿病   条形图   设置   选择
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议