01
Seaborn自带数据集
在学习Pandas透视表的时候,大家应该注意到,我们使用的案例数据"泰坦尼克号"来自于seaborn自带的在线数据库,我们可以通过seaborn提供的函数load_dataset("数据集名称")来获取线上相应的数据,返回给我们的是一个pandas的DataFrame对象。
import seaborn as snsdf = sns.load_dataset('titanic')df.sample(5)
返回的DataFrame对象非常便于我们更加深入地了解数据,示例代码:
df = sns.load_dataset("tips")print("\n[数据集基本信息]\n")print(df.info())print("\n[数值变量信息]\n")print(df.describe())print("\n[离散变量信息]\n")for name in df.dtypes[(df.dtypes == "category") | (df.dtypes == "object")].index: print("{} 特征值 : {}".format(name, str(df[name].unique())))
数据集描述信息如下:
[数据集基本信息]
RangeIndex: 244 entries, 0 to 243Data columns (total 7 columns):total_bill 244 non-null float64tip 244 non-null float64sex 244 non-null categorysmoker 244 non-null categoryday 244 non-null categorytime 244 non-null categorysize 244 non-null int64dtypes: category(4), float64(2), int64(1)
[数值变量信息]
total_bill tip sizecount 244.000000 244.000000 244.000000mean 19.785943 2.998279 2.569672std 8.902412 1.383638 0.951100min 3.070000 1.000000 1.00000025% 13.347500 2.000000 2.00000050% 17.795000 2.900000 2.00000075% 24.127500 3.562500 3.000000max 50.810000 10.000000 6.000000
[离散变量信息]
sex 特征值 : [Female, Male]smoker 特征值 : [No, Yes]day 特征值 : [Sun, Sat, Thur, Fri]time 特征值 : [Dinner, Lunch]
seaborn自带的全量数据集,如下所示:
seaborn示例数据集链接:https://github.com/mwaskom/seaborn-data
02
Sklearn自带数据集
1. 小型数据集
数据加载、观察示例:
from sklearn import datasetsimport pandas as pd, numpy as npdataset = datasets.load_iris()print("数据集包含的信息项:")print(" ".join(dataset.keys()))print("\n数据集描述信息:\n")print(dataset["DESCR"])data = dataset["data"]target = dataset["target"]df = pd.DataFrame(data, columns=dataset["feature_names"])df["target"] = targetdf.sample(10)df.info()df.describe()
sklearn小型数据集详细介绍:https://scikit-learn.org/stable/datasets/index.html#toy-datasets
2. 较大型数据集(在线下载)
20个新闻组数据集加载示例:
from sklearn.datasets import fetch_20newsgroupsfrom pprint import pprintnewsgroups_train = fetch_20newsgroups(subset='train')pprint(list(newsgroups_train.targernames))print(newsgroups_train.filenames.shape) # (11314,)print(newsgroups_train.target.shape) # (11314,)print(newsgroups_train.target[:10]) # [ 7 4 4 1 14 16 13 3 2 4]print(newsgroups_train['data'][:2]) # 前三篇文章["From: lerxst@wam.umd.edu (where's my thin...
sklearn大型数据集详细介绍:https://scikit-learn.org/stable/datasets/index.html#real-world-datasets sklearn
新闻数据文本分类实战:https://www.jianshu.com/p/244180c064cf
03
其他数据源
1. UCL机器学习知识库
UCL机器学习数据库,包括了多个不同大小和类型的数据集,可用于分类、回归、聚类和推荐系统任务。
链接:https://archive.ics.uci.edu/ml/index.php
2. weka数据集
链接:https://www.cs.waikato.ac.nz/ml/weka/datasets.html
3. KD-nuggets数据集
链接:https://www.kdnuggets.com/datasets/index.html
4. UCI KDD Archive数据集
链接:http://kdd.ics.uci.edu/