机器学习scikit-learn使用笔记

本文介绍了scikit-learn的安装、数据集、无监督学习(聚类、降维)和监督学习(分类、回归),包括k-means、DBSCAN、PCA、NMF、KNN、决策树、朴素贝叶斯、SVM、MLP等算法的使用,并探讨了数据处理方法和强化学习的应用。
摘要由CSDN通过智能技术生成

Scikit-learn安装

sklearn库依赖于numpy、scipy、matplotlib库,首先安装numpy,然后安装scipy、matplotlib库,最后安装scikit-learn库。可以通过anaconda进行安装或者通过依赖关系,逐个进行pip install进行安装。

Scikit-learn的数据集介绍

scikit-learn数据集如下图所示,包括了小数据集和大数据集,采用函数方法调用。

ML1_1

# 加载boston房价信息示例
from sklearn.datasets import load_boston
data, target = load_boston(return_X_y=True)
print(data.shape)
print(target.shape)
#加载手写数字库
from sklearn.datasets import load_digits
import matplotlib.pyplot as plt
digits = load_digits()
plt.matshow(digits.images[3])
plt.show()

sklearn库包括6大部分,包括分类、回归、聚类、降维、模型选择以及数据预处理。具体的函数如下图所示:

ML1
ML1
ML1
ML1

Sklearn无监督学习使用

无监督学习采用无标签数据,处理数据分布或者数据关系,包括聚类和降维。

聚类采用距离进行衡量样本的分类情况,可以采用欧氏距离、曼哈顿距离、马氏距离(包含了属性的标准差)、余弦相似度(向量相似度的一个方面)。
sklearn聚类算法包含于sklearn.cluster中,包含了k-means、邻近传播算法、DBSCAN等。
sklearn.cluster可以采用多种数据形式作为输入,标准形式为[样本个数 特征个数],还可以采用其他方式进行。
ML1

降维,在保证数据所具有的特征情况下,将高维数据转化为低维数据的过程,可用于数据可视化或者精简数据的作用。
sklearn降维算法包含于sklearn.decomposition,目前有7种降维算法。
ML1

聚类之kmeans方法使用

kmeans算法将数据分为k个簇,簇内相似度较高,簇间相似度较低。其操作过程如下图所示。
ML1

涉及到的过程包括:如何随机选取k个点;如何计算其余点与选取点的距离;如何计算每一类的均值;如何判断停止;如何证明有效性。

采用kmeans进行聚类操作,数据为31个身份居民家庭平均支出,包含8个维度数据,对于31个省份进行聚类。
选取数据点采用了Kmeans的初始化算法方法,由于没有数据,这里采用load_iris()数据进行分类,存在一定的分类误差,大约有0.09~0.11的分类误差。

from sklearn.cluster import KMeans
from sklearn.datasets import load_iris

if __name__ == '__main__':
    # import iris data: x is the iris feature and y is the class
    x, y = load_iris(return_X_y=True)
    # the number clusters is 3
    km = KMeans(n_clusters=3,init='k-means++', max_iter=10000)
    label = km.fit_predict(x)
    # evaluate the accuracy
    error_cnt = 0
    sum_cnt = 0
    for i in
  • 5
    点赞
  • 48
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值