python机器学习包sklearn自带和生成数据集

sklearn是基于python语言的机器学习工具包,是目前做机器学习项目当之无愧的第一工具。 sklearn自带了大量的数据集,可供我们练习各种机器学习算法。

  • sklearn.datasets
  1. 获取小数据集(本地加载):datasets.load_xxx( )
  2. 获取大数据集(在线下载):datasets.fetch_xxx( )
  3. 本地生成数据集(本地构造):datasets.make_xxx( )
数据集 介绍
load_iris( ) 鸢尾花数据集:3类、4个特征、150个样本
load_boston( ) 波斯顿房价数据集:13个特征、506个样本
load_digits( ) 手写数字集:10类、64个特征、1797个样本
load_breast_cancer( ) 乳腺癌数据集:2类、30个特征、569个样本
load_diabets( ) 糖尿病数据集:10个特征、442个样本
load_wine( ) 红酒数据集:3类、13个特征、178个样本
load_files( ) 加载自定义的文本分类数据集
load_linnerud( ) 体能训练数据集:3个特征、20个样本
load_sample_image( ) 加载单个图像样本
load_svmlight_file( ) 加载svmlight格式的数据
make_blobs( ) 生成多类单标签数据集
make_biclusters( ) 生成双聚类数据集
make_checkerboard( ) 生成棋盘结构数组,进行双聚类
make_circles( ) 生成二维二元分类数据集
make_classification( ) 生成多类单标签数据集
make_friedman1( ) 生成采用了多项式和正弦变换的数据集
make_gaussian_quantiles( ) 生成高斯分布数据集
make_hastie_10_2( ) 生成10维度的二元分类数据集
make_low_rank_matrix( ) 生成具有钟形奇异值的低阶矩阵
make_moons( ) 生成二维二元分类数据集
make_multilabel_classification( ) 生成多类多标签数据集
make_regression( ) 生成回归任务的数据集
make_s_curve( ) 生成S型曲线数据集
make_sparse_coded_signal( ) 生成信号作为字典元素的稀疏组合
make_sparse_spd_matrix( ) 生成稀疏堆成的正定矩阵
make_sparse_uncorrelated( ) 使用稀疏的不相关设计生成随机回归问题
make_spd_matrix( ) 生成随机堆成的正定矩阵
make_swiss_roll( ) 生成瑞士卷曲线数据集
from sklearn import datasets
import matplotlib.pyplot as plt

# 查询模块
dir(datasets)
help(datasets)

# 1.载入内置数据集
test_data = datasets.load_iris()  # 载入数据
# test_data = datasets.load_boston()
# test_data = datasets.load_digits()
print(type(test_data))   # 查看数据类型 
features = test_data.data  # 
target = test_data.target  # 
print(features.shape, target.shape)

print(test_data.feature_names)  # 特征名称
print(test_data.target_names)   # 预测结果名

# 2.载入单一图像数据,只有这两个示例图片
img = datasets.load_sample_image('flower.jpg')
img = datasets.load_sample_image('china.jpg')
print(img.shape)
plt.imshow(img)
plt.show()

# 3. 生成数据集
data, target = datasets.make_blobs(n_samples=1000, n_features=2,
                                       centers=4, cluster_std=1)
data, target = datasets.make_classification(n_classes=4, n_samples=1000,
                                                n_features=2, n_informative=2,
                                                n_redundant=0, n_clusters_per_class=1)

print(data)
print(data.shape)
print(target)
plt.scatter(data[:, 0], data[:, 1], c=target)
plt.show()

x, y = datasets.make_regression(n_samples=100, n_features=10, n_targets=1,
                                noise=1.5, random_state=1)
print(x.shape, y.shape)
print(x)
print(y)
plt.scatter(x[:, 1], y)
plt.show()

你可能感兴趣的:(机器学习,python,sklearn)