集成学习(上) - Day 1

机器学习的部分我比较熟悉了,我把本节的学习重点放在sklearn工具包上

导论

机器学习:用数学模型理解数据,发现数据中的规律,用作数据分析和预测。

机器学习任务分类

  1. 根据是否有因变量:
    • 有监督学习
    • 无监督学习
  2. 根据因变量是否连续:
    • 回归
    • 分类

常用工具包:scikit-learn(sklearn)

回归

以sklearn内置数据集Boston房价数据集为例。sklearn中所有内置数据集都封装在datasets对象内。

  • data: 特征X的矩阵(ndarray)
  • target: 因变量的向量(ndarray)
  • feature_names: 特征名称(ndarray)
from sklearn import datasets
import pandas as pd

boston = datasets.load_boston()     #返回一个类似于字典的类
X = boston.data
y = boston.target
features = boston.feature_names
boston_data = pd.DataFrame(X,columns=features)
boston_data["Price"] = y    #添加一个colume
boston_data.head()  #展示前五个sample

分类

以iris数据集为例。

from sklearn import datasets
import pandas as pd

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()

下面这个利用pandas Dataframe的作图方式可以学习一下:

import matplotlib.pyplot as plt
%matplotlib inline 
plt.style.use("ggplot") 

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可以用来生成复合我们需求的数据集,例如:

# 生成月牙型非凸集
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()
# 生成符合正态分布的聚类数据
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()
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值