数据挖掘之鸢尾花数据集分析

因为手上没有iris.data数据,只能通过在sklearn中加载原始数据,并将其转换为Dataframe格式

主要内容:数据分布的可视化(特征之间分布、特征内部、分类精度、热力图) 

算法:决策树 随机森林

import pandas as pd
from sklearn.datasets import load_iris
import numpy as np
# iris_data = pd.read_csv('iris.data')
iris = load_iris()
X, y = iris.data, iris.target

iris_data = pd.DataFrame(np.hstack((X, y.reshape(-1, 1))),index = range(X.shape[0]),columns=['sepal_length_cm','sepal_width_cm','petal_length_cm','petal_width_cm','class'] )

#如果拿到手的数据没有 数据头标签 那可以通过下面这句话 添加标签
# iris_data.columns = ['sepal_length_cm','sepal_width_cm','petal_length_cm','petal_width_cm','class'] 
# print(iris_data.head)

# from PIL import Image
import matplotlib.pyplot as plt
# img = Image.open('test.jpg')
# plt.imshow()
# plt.show()
# 
# #看一下数据的分布规则 可以看数量 均值 方差 分位数等
print(iris_data.describe())
# 
# #强大的可视化库 可以查看到不同特征之间的关系 以及分布
import seaborn as sb
sb.pairplot(iris_data.dropna(),hue = 'class')
 
plt.figure(figsize=(10,10))
for column_index,column in enumerate(iris_data.columns):
    if column == 'class':
        continue
    plt.subplot(2,2,column_index+1)
    sb.violinplot(x= 'class', y=column, data = iris_data)
plt.show()

输出:

       sepal_length_cm  sepal_width_cm  petal_length_cm  petal_width_cm  \
count       150.000000      150.000000       150.000000      150.000000   
mean          5.843333        3.054000         3.758667        1.198667   
std           0.828066        0.433594         1.764420        0.763161   
min           4.300000        2.000000         1.000000        0.100000   
25%           5.100000        2.800000         1.600000        0.300000   
50%           5.800000        3.000000         4.350000     
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值