【sklearn的一般流程】数据的获取
1.生成回归数据 make_regression()
from sklearn.datasets import make_regression
X, y, coef = make_regression(n_samples=200, n_features=1, n_informative=1, n_targets=1,
bias = 0, effective_rank=None, noise = 20,
tail_strength=0,random_state=0, coef = True)
属性说明:
属性 | 默认值 | 说明 |
---|---|---|
n_samples | int, optional (default=100) | 样本数量 |
n_features | int, optional (default=100) | 特征数量 |
n_informative | int, optional (default=10) | 对回归有效的特征数量 |
n_targets | int, optional (default=1) | y的维度 |
bias | float, optional (default=0.0) | 底层线性模型中的偏差项。相当于y的中位数 |
effective_rank | int or None, optional (default=None) | 有效等级 |
noise | float, optional (default=0.0) | 设置高斯噪声的标准偏差加到数据上。 |
shuffle | boolean, optional (default=True) | 是否洗牌 |
coef | boolean, optional (default=False) | 如果为真,则返回权重值 |
random_state | int, | 设置随机种子 |
个人理解:
n_informative:该项为对本次回归有用的特征数量,举个例子,我们想要预测房价,手上的特征有:房子面积、房龄、地段和房主的名字,显然前3项特征时有效特征,而房主的名字属于无效特征,改变其值并不影响回归效果。这里的n_informative就是3,总特征数为4.
noise:其值是高斯分布的偏差值,其值越大数据越分散,其值越小数据越集中。
shuffle:设置是否洗牌,如果为False,会按照顺序创建样本,一般设置为True。
返回值:X ,y ,coef
效果图:
其coef(权重值) = 96.19
当设置更大的noise之后:
2.生成分类数据 make_classification()
from sklearn.datasets import make_classification
X, y = make_classification(n_samples=200, n_fe