*最近时间比较宽裕了,闲暇之余多学习一下项目的流程吧。
虽然主要目标是random forest,但作为掉包侠,肯定是用学习使用多种模型的
Training data和Testing data的分类
科学的理论方法,简而言之就是有放回的抽取,在统计学的意义下尽可能减少随机性对训练结果的影响。
实现分类的代码块如下:
from sklearn.datasets import load_iris
iris_datasets = load_iris()
from sklearn.model_selection import train_test_split
X_train,X_test,y_train,y_test = train_test_split(iris_datasets['data'],iris_datasets['target'],random_state=0)
这段代码的作用一目了然,这里说明一些细节:
- 注意到约定:数据用X表示,标签用y表示。这是受到了y=f(x)的启发,但之所以有大小写的区别,是因为这里的输入是二维矩阵,而输出是一维向量。
- 每次运行都是一次随机过程,得到的结果理论上必然是不一样的。但参数random-state的意义便是指定随机数生成器的种子,结果就是使每次的输出结果固定。
- 这里生成的四个子集,X_train,y_train,X_test和y_test本质上都是NumPy数组,我们访问一下它们的一些属性。
print('X_train 秩:{}'.format(X_train.ndim))
print('y_train 秩:{}'.format(y_train.ndim))
print</