20210315_23期_集成学习(上)_Task01

一、机器学习

图1
—https://realpython.com/

来源

Datewhle23期__集成学习(上) :
https://github.com/datawhalechina/team-learning-data-mining/tree/master/EnsembleLearning
作者:李祖贤、薛传雨、赵可、杨毅远、陈琰钰

论坛地址:http://datawhale.club/t/topic/1574


机器学习–数据分析技术–利用模型发现规律—预测/推断/分类—有监督/无监督等等

在这里插入图片描述

#先导入库

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns

1.1 回归

先利用波士顿房价里的因变量特征作监督学习里的回归

from sklearn import datasets
boston = datasets.load_boston()
print(type(boston)) # 返回一个类似于字典的类
<class 'sklearn.utils.Bunch'>
X = boston.data
y = boston.target
features = boston.feature_names
print(features)
['CRIM' 'ZN' 'INDUS' 'CHAS' 'NOX' 'RM' 'AGE' 'DIS' 'RAD' 'TAX' 'PTRATIO'
 'B' 'LSTAT']
  • CRIM:各城镇的人均犯罪率
  • ZN:规划地段超过25,000平方英尺的住宅用地比例
  • INDUS:城镇非零售商业用地比例
  • CHAS:是否在查尔斯河边(=1是)
  • NOX:一氧化氮浓度(/千万分之一)
  • RM:每个住宅的平均房间数
  • AGE:1940年以前建造的自住房屋的比例
  • DIS:到波士顿五个就业中心的加权距离
  • RAD:放射状公路的可达性指数
  • TAX:全部价值的房产税率(每1万美元)
  • PTRATIO:按城镇分配的学生与教师比例
  • B:1000(Bk - 0.63)^2其中Bk是每个城镇的黑人比例
  • LSTAT:较低地位人口
  • Price:房价
boston_data = pd.DataFrame(X,columns=features) #特征
boston_data["Price"] = y  #房价为因变量
print(boston_data.head())
      CRIM    ZN  INDUS  CHAS    NOX     RM   AGE     DIS  RAD    TAX  PTRATIO       B  LSTAT  Price
0  0.00632  18.0   2.31   0.0  0.538  6.575  65.2  4.0900  1.0  296.0     15.3  396.90   4.98   24.0
1  0.02731   0.0   7.07   0.0  0.469  6.421  78.9  4.9671  2.0  242.0     17.8  396.90   9.14   21.6
2  0.02729   0.0   7.07   0.0  0.469  7.185  61.1  4.9671  2.0  242.0     17.8  392.83   4.03   34.7
3  0.03237   0.0   2.18   0.0  0.458  6.998  45.8  6.0622  3.0  222.0     18.7  394.63   2.94   33.4
4  0.06905   0.0   2.18   0.0  0.458  7.147  54.2  6.0622  3.0  222.0     18.7  396.90   5.33   36.2

作出房价和NOX的散点图

sns.scatterplot(boston_data['NOX'],boston_data['Price'],color="b")
plt.title("Price~NOX")
plt.show()

在这里插入图片描述

1.2 分类

鸢尾花(iris)数据中类别 花萼花瓣特征 对应关系

from sklearn import datasets
iris = datasets.load_iris()
X = iris.data
y = iris.target
features = iris.feature_names
print(features)
['sepal length (cm)', 'sepal width (cm)', 'petal length (cm)', 'petal width (cm)']
iris_data = pd.DataFrame(X,columns=features)
iris_data['target'] = y
print(iris_data.head())
sepal length (cm)  sepal width (cm)  petal length (cm)  petal width (cm)  target
0                5.1               3.5                1.4               0.2       0
1                4.9               3.0                1.4               0.2       0
2                4.7               3.2                1.3               0.2       0
3                4.6               3.1                1.5               0.2       0
4                5.0               3.6                1.4               0.2       0
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 widt
plt.xlabel("sepal length (cm)")
plt.ylabel("sepal width (cm)")
plt.legend()
plt.show()

在这里插入图片描述不同样式点代表不同类别花

1.3 无监督学习

无监督学习的目标

  • 利用无标签的数据学习数据的分布或数据与数据之间的关系被称作无监督学习

  • 有监督学习和无监督学习的最大区别在于数据是否有标签

  • 无监督学习最常应用的场景是聚类(clustering)和降维(DimensionReduction)

聚类

  • 聚类(clustering),就是根据数据的“相似性”将数据分为多类的过程

  • 评估两个不同样本之间的“相似性” ,通常使用的方法就是计算两个样本之间的“距离”。使用不同的方法计算样本间的距离会关系到聚类结果的好坏

降维

  • 降维就是在保证数据所具有的代表性特征或分布的情况下, 将高维数据转化为低维数据的过程

作用:

  • 数据可视化

  • 作为中间过程, 起到精简数据, 提高其他机器学习算法效率的作用

降维过程也可以被理解为对数据集的组成成份进行分解(decomposition)的过程

例子1 ** 生成月牙型非凸集

from sklearn import datasets
x, y = datasets.make_moons(n_samples=2000, shuffle=True,
                  noise=0.05, random_state=None)
for index,c in enumerate(np.unique(y)):
    plt.scatter(x[y==c,0],x[y==c,1],s=7)
plt.show()

在这里插入图片描述
例子2 ** 生成符合正态分布的聚类数据

from sklearn import datasets
x, y = datasets.make_blobs(n_samples=5000, n_features=2, centers=3)
for index,c in enumerate(np.unique(y)):
    plt.scatter(x[y==c, 0], x[y==c, 1],s=7)
plt.show()

在这里插入图片描述

参考资料

https://www.jianshu.com/p/a65e7928e79f 机器学习分类
https://www.cnblogs.com/weihuchao/p/6874683.html 无监督学习

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值