一、上面所说的加载数据集的方式也就是使用python的sklearn库,而且sklearn库的数据集也包含好多种:
·自带的小数据集:sklearn.datasets.load_
·可在线下载的数据集:sklearn.datasets.fetch_
·计算机生成的数据集:sklearn.datasets.make_
·svmlight/libsvm格式的数据集:sklearn.datasets.load_svmlight_file(...)
·从data.org在线下载获取的数据集:sklearn.datastes.fetch_mldata(...)
二、除了sklearn导入之外,还可以找到所需数据集的网址,直接用python调用网址进行加载数据集,省去你中间下载数据集的繁琐操作
关于sklearn库导入相关数据集,我只讲解:自带小数据集
1、自带的小数据集:sklearn.datsets.load_
鸢尾花数据集 | load_iris() |
乳腺癌数据集 | load_breast_cancer() |
手写数字数据集 | load_digits() |
糖尿病数据集 | load_disbetes() |
波士顿房价数据集 | load_boston() |
体能训练数据集 | load_linnerud() |
#导入sklearn的库
from sklearn.datasets import load_iris
#加载鸢尾花数据集
iris =load_iris()
#输出数据集相关的操作属性,也就是“<数据集>.<操作属性>”
print(iris.keys())
#数据集类别的名称
print('target_names',iris.target_names)
#数据属性的名称
print('feature_names',iris.feature_names)
#数据集的描述,包括这个数据集所有的相关信息
print('DESCR',iris.DESCR)
实例1上手:
#导入sklearn的库
from sklearn.datasets import load_iris
#加载鸢尾花数据集
iris =load_iris()
#将数据转为矩阵类型,也就是DataFrame
import panda as pd
#更改数据的列名
df = pd.DataFrame(iris,columns=['属性1','属性2','属性3','类别'])
#数据的条数和维数
n_samples,n_features=iris.data.shape
print("Number of sample:",n_samples)
print("Number of feature",n_features)
#x为数据集的属性集
x = iris.data
#y为数据集的类别集(标签)
y = iris.target
2、通过目标数据集网址加载数据集
首先我们找到所需数据集的网址,我们以加载hayes-Roth数据集为例(关于如何从UCI数据集上找到目标数据集的网址我就不多说了,你需要UCI上的啥数据,你找到它复制下来就好了):
hayes-Roth数据集的网址:https://archive.ics.uci.edu/ml/machine-learning-databases/hayes-roth/hayes-roth.data
#此程序必须得在联网环境下运行
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
#导入hayes-roth数据集的网址
dataset_url = "https://archive.ics.uci.edu/ml/machine-learning-databases/hayes-roth/hayes-roth.data"
#设置数据集的列名称,也可以不进行设置
names = ['hobby', 'age', 'educational level', 'marital status', 'class']
#加载目标数据集
dataset = pd.read_csv(dataset_url, names=names)
#输出数据集的前20行
print(dataset.head(20))
#拆分原始数据集
array = dataset.values
#使x为数据集的前4列数据
x = array[:,0:4]
#使y为数据集的第5列数据
y = array[:,4]
#print(x)
#print(y)
#查看一共有几种类别以及每一种类的数量,以柱状图的形式展现出来
sns.countplot(array[:,4])
编者结束语:由于小编还在校学习,基本上上述两种方法就可以满足我几乎所有的日常需求,因此在这里我只详细解说的这两种方法。若以后接触到上述没有详细讲解的部分或其他方法,我会再进行补充,以供大家使用。
当然,我还得感谢博主https://www.cnblogs.com/nolonely/p/6980160.html的文章,给我建立了一个非常不错的参考,若大家觉得我这篇博客还不错的话,就给我点个赞吧(加个关注就更好了)!
欢迎各大神指教!