获取scikit-learn自带的数据集:
datasets.load_*() # 获取小规模数据集,数据包含在datasets里(不需要联网)
datasets.fetch_*(data_home=None) # 获取大规模数据集(需要联网下载),data_home表示数据的保存目录(默认"~/scikit_learn_data/")
demo.py(获取自带小数据集,load_*()):
from sklearn.datasets import load_iris
# load_*() 加载并返回鸢尾花数据集 (scikit-learn自带的数据集)
li = load_iris() # 返回datasets.base.Bunch类型(字典格式)
print(li.data) # 所有样本的特征值 (二维数组)
'''
[[5.1 3.5 1.4 0.2]
[4.9 3. 1.4 0.2]
[4.7 3.2 1.3 0.2]
... ...
[6.5 3. 5.2 2. ]
[6.2 3.4 5.4 2.3]
[5.9 3. 5.1 1.8]]
'''
print(li.target) # 目标值(鸢尾花的类别)
'''
[0 0 0 ... 2 2 2]
'''
print(li.DESCR) # 数据集的描述信息
# 特征名
print(li.feature_names) # ['sepal length (cm)', 'sepal width (cm)', 'petal length (cm)', 'petal width (cm)']
# 目标名(标签名)
print(li.target_names) # ['setosa' 'versicolor' 'virginica']
demo.py(数据集的划分,划分为训练集和测试集,train_test_split()):
from sklearn.datasets import load_iris
from sklearn.model_selection import train_test_split
# 加载并返回鸢尾花数据集 (scikit-learn自带的数据集)
li = load_iris() # 返回datasets.base.Bunch类型(字典格式)
# 划分数据集train_test_split() 第一个参数表示特征值,第二个参数表示目标值,test_size表示测试集所占的百分比(推荐0.25)
x_train, x_test, y_train, y_test = train_test_split(li.data, li.target, test_size=0.25) # 划分是按比例随机划分
# 返回值 x_train表示训练集的特征值,x_test表示测试集的特征值,y_train表示训练集的目标值,y_test表示测试集的目标值
# 训练集的特征值
print(x_train)
'''
[[4.7 3.2 1.3 0.2]
[6.3 2.5 4.9 1.5]
[6. 3. 4.8 1.8]
... ...
[6.1 2.8 4.7 1.2]
[5.7 3.8 1.7 0.3]
[5.7 3. 4.2 1.2]]
'''
# 训练集的目标值
print(y_train)
'''
[0 1 2 1 0 2 0 1 2 1 1 2 0 0 ... 1 0 0 1 0 1 0 0 0 0 1 0 1]
'''
demo.py(获取scikit-learn官网的大数据集,fetch_*()):
from sklearn.datasets import fetch_20newsgroups, clear_data_home
# fetch_*() 获取官网上的大数据集(需要联网下载)。
# data_home表示数据集的保存目录,subset='all'表示训练集和测试集(可以只下载训练集或测试集)
news = fetch_20newsgroups(data_home="./mydata",subset='all') # 获取新闻数据集
print(news.data) # 特征值
print(news.target) # 目标值 [10 3 17 ... 3 1 7]
# 清空下载的数据集。 data_home表示数据集的保存目录
# clear_data_home(data_home="./mydata")