DataWhale组队学习-集成学习上task1

集成学习task1

1506109361


机器学习任务

回归

回归分析是通过建立数学模型来研究变量与变量之间的内在关系的一种数学方法。

  • 种类
    • 按照自变量的数量|
      • 一元回归
      • 多元回归
    • 自变量与因变量之间线性关系|
      • 线性回归
      • 非线性回归

例子

首先,我们先来看看有监督学习中回归的例子,我们使用sklearn内置数据集Boston房价数据集。sklearn中所有内置数据集都封装在datasets对象内| 返回的对象有|

from sklearn import datasets
boston = datasets.load_boston()
boston.keys()
#dict_keys(['data', 'target', 'feature_names', 'DESCR', 'filename'])分别对应自变量、因变量、特征名称 、描述和文件名
'''
{'data': array([[6.3200e-03, 1.8000e+01, 2.3100e+00, ..., 1.5300e+01, 3.9690e+02,
         4.9800e+00],
        [2.7310e-02, 0.0000e+00, 7.0700e+00, ..., 1.7800e+01, 3.9690e+02,
         9.1400e+00],
        [2.7290e-02, 0.0000e+00, 7.0700e+00, ..., 1.7800e+01, 3.9283e+02,
         4.0300e+00],
        ...,
        [6.0760e-02, 0.0000e+00, 1.1930e+01, ..., 2.1000e+01, 3.9690e+02,
         5.6400e+00],
        [1.0959e-01, 0.0000e+00, 1.1930e+01, ..., 2.1000e+01, 3.9345e+02,
         6.4800e+00],
        [4.7410e-02, 0.0000e+00, 1.1930e+01, ..., 2.1000e+01, 3.9690e+02,
         7.8800e+00]]),
 'target': array([24. , 21.6, 34.7, 33.4, 36.2, 28.7, 22.9, 27.1, 16.5, 18.9, 15. ,
        18.9, 21.7, 20.4, 18.2, 19.9, 23.1, 17.5, 20.2, 18.2, 13.6, 19.6,
        ......,
        20.6, 21.2, 19.1, 20.6, 15.2,  7. ,  8.1, 13.6, 20.1, 21.8, 24.5,
        23.1, 19.7, 18.3, 21.2, 17.5, 16.8, 22.4, 20.6, 23.9, 22. , 11.9]),
 'feature_names': array(['CRIM', 'ZN', 'INDUS', 'CHAS', 'NOX', 'RM', 'AGE', 'DIS', 'RAD',
        'TAX', 'PTRATIO', 'B', 'LSTAT'], dtype='<U7'),
 'DESCR': ".. _boston_dataset:\n\nBoston house........University of Massachusetts, Amherst. Morgan Kaufmann.\n",
 'filename': '/home/mcq/anaconda3/lib/python3.8/site-packages/sklearn/datasets/data/boston_house_prices.csv'}
'''
X = boston.data
y = boston.target
features = boston.feature_names
boston_data = pd.DataFrame(X,columns=features)
boston_data["Price"] = y
boston_data.head()
变量名解释
CRIM各城镇的人均犯罪率
ZN规划地段超过25,000平方英尺的住宅用地比例
INDUS城镇非零售商业用地比例
CHAS是否在查尔斯河边(=1是)
NO一氧化氮浓度(/千万分之一)
RM每个住宅的平均房间数
AGE1940年以前建造的自住房屋的比例
DIS到波士顿五个就业中心的加权距离
RAD放射状公路的可达性指数
TAX全部价值的房产税率(每1万美元)
PTRATIO按城镇分配的学生与教师比例
B1000(Bk - 0.63)^2其中Bk是每个城镇的黑人比例
LSTAT较低地位人口
Price房价

观察数据

boston_data.Price.plot(kind='kde')#概率密度函数


以NOX变量为例,它与要预测的因变量Price的关系如图中所示,图中直线为拟合直线
Price与NOX的关系

分类

与回归问题过程类似,区别在于预测的因变量非连续型变量而是离散型变量

from sklearn import datasets
iris = datasets.load_iris()
X = iris.data
y = iris.target
features = iris.feature_names
iris_data = pd.DataFrame(X,columns=features)
iris_data['target'] = y
iris_data.head()

鸢尾花数据集

# 可视化特征
plt.figure(figsize=(16,10), dpi= 80)
marker = ['s','x','o']
for index,c in enumerate(np.unique(y)):
    plt.scatter(x=iris_data.loc[y==c,"sepal length (cm)"],y=iris_data.loc[y==c,"sepal width (cm)"],alpha=0.8,label=c,marker=marker[c])
plt.xlabel("sepal length (cm)")
plt.ylabel("sepal width (cm)")
plt.legend()
plt.show()

分类任务
从上图可以看出,鸢尾花数据集是一个用于分类任务的数据集。

无监督学习

我们可以使用sklearn生成符合自身需求的数据集,下面我们用其中几个函数例子来生成无因变量的数据集:

接口名描述中文描述
datasets.make_biclusters(shape, n_clusters, *)Generate an array with constant block diagonal structure for biclustering.生成一个常数块对角线结构的数组用于双聚簇。
datasets.make_blobs([n_samples, n_features, …])Generate isotropic Gaussian blobs for clustering.生成各向同性高斯blobs用于聚类。
datasets.make_checkerboard(shape, n_clusters, *)Generate an array with block checkerboard structure for biclustering.生成一个具有块棋盘结构的数组用于双簇。
datasets.make_circles([n_samples, shuffle, …])Make a large circle containing a smaller circle in 2d.在2d中制作一个大圆包含一个小圆。
datasets.make_classification([n_samples, …])Generate a random n-class classification problem.生成一个随机n类分类问题。
datasets.make_friedman1([n_samples, …])Generate the “Friedman #1” regression problem.生成“Friedman #1”回归问题。
datasets.make_friedman2([n_samples, noise, …])Generate the “Friedman #2” regression problem.生成“Friedman #2”回归问题。
datasets.make_friedman3([n_samples, noise, …])Generate the “Friedman #3” regression problem.生成“Friedman #3”回归问题。
datasets.make_gaussian_quantiles(*[, mean, …])Generate isotropic Gaussian and label samples by quantile.生成各向同性高斯分布,用分位数标记样本。
datasets.make_hastie_10_2([n_samples, …])Generates data for binary classification used in Hastie et al.生成用于Hastie等人的二进制分类的数据。
datasets.make_low_rank_matrix([n_samples, …])Generate a mostly low rank matrix with bell-shaped singular values.生成一个具有钟形奇异值的低秩矩阵。
datasets.make_moons([n_samples, shuffle, …])Make two interleaving half circles.做两个相交的半圆。
datasets.make_multilabel_classification([…])Generate a random multilabel classification problem.生成一个随机的多标签分类问题。
datasets.make_regression([n_samples, …])Generate a random regression problem.生成一个随机回归问题。
datasets.make_s_curve([n_samples, noise, …])Generate an S curve dataset.生成S曲线数据集。
datasets.make_sparse_coded_signal(n_samples, …)Generate a signal as a sparse combination of dictionary elements.以字典元素的稀疏组合生成信号
datasets.make_sparse_spd_matrix([dim, …])Generate a sparse symmetric definite positive matrix.生成一个稀疏对称定正矩阵
datasets.make_sparse_uncorrelated([…])Generate a random regression problem with sparse uncorrelated design.生成一个稀疏不相关设计的随机回归问题
datasets.make_spd_matrix(n_dim, *[, …])Generate a random symmetric, positive-definite matrix.生成一个随机对称的正定矩阵
datasets.make_swiss_roll([n_samples, noise, …])Generate a swiss roll dataset.生成一个瑞士卷数据集

举例

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值