机器学习基础第四天
2023/6/12 来源:不详北京最大的白癜风医院 https://wapyyk.39.net/hospital/89ac7_comments.html
scikit-learn数据集
我们将介绍sklearn中的数据集类,模块包括用于加载数据集的实用程序,包括加载和获取流行参考数据集的方法。它还具有一些人工数据生成器。
sklearn.datasets#
(1)datasets.load_*()
获取小规模数据集,数据包含在datasets里
(2)datasets.fetch_*()
获取大规模数据集,需要从网络上下载,函数的第一个参数是data_home,表示数据集下载的目录,默认是~/scikit_learn_data/,要修改默认目录,可以修改环境变量SCIKIT_LEARN_DATA
(3)datasets.make_*()
本地生成数据集
load*和fetch*函数返回的数据类型是datasets.base.Bunch,本质上是一个dict,它的键值对可用通过对象的属性方式访问。主要包含以下属性:
data:特征数据数组,是n_samples*n_features的二维numpy.ndarray数组
target:标签数组,是n_samples的一维numpy.ndarray数组
DESCR:数据描述
feature_names:特征名
target_names:标签名
数据集目录可以通过datasets.get_data_home()获取,clear_data_home(data_home=None)删除所有下载数据
datasets.get_data_home(data_home=None)
返回scikit学习数据目录的路径。这个文件夹被一些大的数据集装载器使用,以避免下载数据。默认情况下,数据目录设置为用户主文件夹中名为“scikit_learn_data”的文件夹。或者,可以通过“SCIKIT_LEARN_DATA”环境变量或通过给出显式的文件夹路径以编程方式设置它。"符号扩展到用户主文件夹。如果文件夹不存在,则会自动创建。
sklearn.datasets.clear_data_home(data_home=None)
删除存储目录中的数据
获取小数据集#
用于分类
sklearn.datasets.load_iris
数据的分类与划分
数据集返回的类型#
load和fetch返回的数据类型datasets.base.Bunch(字典格式)
data:特征数据数组,是[n_samples*n_features]的二维numpy.ndarray数组
target:标签数组,是n_samples的一维numpy.ndarray数组
DESCR:数据描述
feature_names:特征名,新闻数据,手写数字、回归数据集没有
target_names:标签名,回归数据集没有
分类数据集#
鸢尾花数据集#
然后当n=3时的情况就是示例中给的那几种
找找有什么规律
当n=3且使用1为头节点时,其右子树的布局和n=2时的布局是一样的(注意看1-2、2-1和3-2、2-3的方向,是不是一样的,数值不同没有影响)
当n=3且使用2为头节点时,其左右子树布局和n=1时的布局是一样的(n=1是左右子树为空,也算1种情况)
当n=3且使用3为头节点时,其左子树的布局和n=2时的布局是一样的
某种程度上,n=3的二叉搜索树种类情况可以由n=2以及n=1推导出来
因此,n=3时,二叉搜索树种类=头节点为1时的情况+头节点为2时的情况+头节点为3时的情况,来组成
即,头1+头2+头3
公式描述
接下来分析不同头节点时的情况
从图中可以看出,头节点为1时有: