机器学习基础

1.1导论

1.1.1概论

机器学习 非监督学习 回归 分类

1.1.2分类

分类:因变量是离散型变量,如:是否患癌症,西瓜是好瓜还是坏瓜等。

我们来看看一个分类的例子,iris数据集:

marker = ['s', 'x', 'o']
# np.unique()去除数组中的重复数字,并进行排序之后输出
# enumerate()枚举
# s:点的大小
# marker:点的样式
# label:点的标签
# alpha=0.8, label=c, marker=marker[c]
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()

在这里插入图片描述

sepal length (cm):花萼长度(厘米)
sepal width (cm):花萼宽度(厘米)
petal length (cm):花瓣长度(厘米)
petal width (cm):花瓣宽度(厘米)

1.1.3回归

因变量是连续型变量,如:房价,体重等。

我们使用sklearn内置数据集Boston房价数据集。sklearn中所有内置数据集都封装在datasets对象内:

返回的对象有:

data: 特征X的矩阵(ndarray)
target: 因变量的向量(ndarray)
feature_names: 特征名称(ndarray)

from sklearn import datasets
boston = datasets.load_boston() # 返回一个类似于字典的类
print(type(boston))
X = boston.data
y = boston.target
features = boston.feature_names
boston_data = pd.DataFrame(X,columns=features)
boston_data["Price"] = y

# alpha:调整透明度
sns.scatterplot(boston_data['NOX'],boston_data['Price'],color="r",alpha=0.6)
plt.title("Price~NOX")
plt.show()

小枫

1.1.4无监督学习

我们可以使用sklearn生成符合自身需求的数据集,包括make_moons()、make_blobs()、datasets.make_circles()等

# 生成符合正态分布的聚类数据
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()

在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值