前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >你会描述你的数据吗?

你会描述你的数据吗?

作者头像
陆勤_数据人网
发布2020-03-12 18:40:34
6710
发布2020-03-12 18:40:34
举报

1 如何描述数据

"机器都能够从数据中学习和趋优了,我们也要如此,坚持学习和进步。"

面对一个数据集,你会描述它吗?

描述数据集,目的是为了理解数据。你对数据理解的越充分和全面,你就越能够更好地处理数据和应用数据。

描述你自己的数据集,可以从这些方面入手。

一 概况分析

1 数据集大小,包括观察大小和维度大小

2 变量的类型观察,因为不同的变量类型会使用不同观察手段和工具

3 元数据分析,也就是对于数据解释的数据,比方说,每个变量表示什么意思,有什么业务含义,与什么业务有关系。(一切数据业务化,一切业务数据化)。

二 数据观察

1 从大量数据中可以先选择一部分数据来观察,以对数据有个直观认识

三 数据摘要分析

1 采用描述性统计分析的方法,变量类型的统计特征进行计算和了解

四 变量重要性分析

1 选择一种算法,评价数据集中变量的重要性

五 可视化分析

1 采用可视化分析,理解变量的分布和变量之间的关系

我们以描述Iris数据集为例

一 参考代码:

代码语言:javascript
复制
# -*- coding: utf-8 -*-
"""
描述你的数据
@author: Luqing Wang
"""
import matplotlib.pyplot as plt
import seaborn as sns

import pandas as pd

from sklearn import datasets
from sklearn.ensemble import RandomForestClassifier


if __name__ == "__main__":
    br = '\n'
    iris = datasets.load_iris()

    # 1 数据集概况分析
    X = iris.data
    y = iris.target
    print('特征集 shape:', X.shape)
    print('目标 shape:', y.shape, br)
    print('特征集 dtypes:', X.dtype)
    print('目标 dtypes:', y.dtype)
    features = iris.feature_names
    targets = iris.target_names
    print('特征集元数据:')
    print(features, br)
    print('目标元数据:')
    print(targets, br)

    # 2 数据观察
    print('iris数据集前10条数据:')
    print(X[0:10, :])

    # 3 数据摘要分析
    # 描述性统计分析
    print('特征集描述统计分析:')
    print(pd.DataFrame(X, columns=['sepal_length', 'sepal_width', 'petal_length', 'petal_width']).describe().T)
    print('目标的分布:')
    print(pd.Series(y).value_counts())

    # 4 变量重要性分析
    # 利用随机森林算法来评估变量的重要性
    rnd_clf = RandomForestClassifier(random_state=0, n_estimators=100)
    rnd_clf.fit(X, y)
    rnd_name = rnd_clf.__class__.__name__
    feature_importances = rnd_clf.feature_importances_
    importance = sorted(zip(feature_importances, features), reverse=True)
    print('most important features' + ' (' + rnd_name + '):')
    [print (row) for i, row in enumerate(importance)]

    # 5 数据可视化分析
    iris_data = pd.DataFrame(X, columns=['sepal_length', 'sepal_width', 'petal_length', 'petal_width'])
    iris_data['species'] = y
    sns.pairplot(iris_data, vars=['sepal_length', 'sepal_width', 'petal_length', 'petal_width'], hue='species')
    plt.show()

二 代码结果:

2.1 概要分析

2.2 数据检视

2.3 描述性统计分析

2.4 变量重要性分析

2.5 数据可视化分析

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2020-03-11,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 数据科学与人工智能 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档