Sklearn库

1. 机器学习分类

  1. 监督学习(Suppervised Learning):从给定的训练集中学习出一个可以预测结果的函数,训练集由人工标注
  2. 无监督学习(UnSuppervised Learning):训练集没有认为标注
  3. 强化学习(Reinforcement Learning):通过观察来学习执行什么样的动作,以获得最好的回报,每个动作都会对环境有所影响,学习对象根据环境的反馈做出判断
  4. 半监督学习(Semi-Suppervised Learning):介于监督和无监督学习之间的一种方法
  5. 深度学习(Deep Learning):利用深层神经网络模型抽象数据的标示特征的方法

Python Scikit-learn:一组简单有效的工具集。依赖Python和NumPy、SciPy、matplotlib库。是开源和可复用的

Scikit-learn常用函数 应用(Applications) 算法(Algorithm)
分类(Classification) 异常检测、图像识别等 KNN、SVM等
聚类(Clustering) 图像分隔、群体划分等 K-Means、谱聚类等
回归(Regression) 洁哥预测、趋势预期等 线性回归、SVR等
降维(Dimension Reduction) 可视化 PCA、NMF等

2. Sklearn库安装

Sklearn是Scikit-learn的简称,是基于Python的第三方模块,集成了常用的机器学习方法,在进行学习任务时,并不需要实现算法,只需要简单的调用库中提供的模块就能完成大多数的机器学习任务
Sklearn是在NumPy、SciPy、matplotlib的基础上开发而成,因此安装前需要先安装依赖库

NumPy(Numerical Python):开源的Python科学计算机库
SciPy:是Sklearn库的基础,是基于Numpy的一个集成了多种数学算法和函数的Python模块
matplotlib:基于Numpy的一套Python工具包,提供打开数据绘图工具

安装顺序:NumPy库、SciPy库、matplotlib库、Sklearn库

# 在cmd命令中直接输入
pip install -i https://mirrors.aliyun.com/pypi/simple/ NumPy
pip install -i https://mirrors.aliyun.com/pypi/simple/ SciPy
pip install -i https://mirrors.aliyun.com/pypi/simple/ matplotlib
pip install -i https://mirrors.aliyun.com/pypi/simple/ Sklearn
'''检测NumPy库、SciPy库、matplotlib库、Sklearn库是否安装完成'''
import numpy as np
import scipy
import matplotlib
import sklearn
# 运行没有报错,说明安装完成

3 标准数据集

大小 sklearn数据集 调用方法 适用算法
波士顿房价数据集 load_boston() 回归
鸢尾花数据集 load_iris() 分类
糖尿病数据集 load_diabetes() 回归
手写数字数据集 load_digits() 分类
Olivetti脸部图像数据集 fetch_olivetti_faces() 降维
新闻分类数据集 fetch_20newsgroups() 分类
带标签的人脸数据集 fetch_lfw_people() 分类、降维
路透社新闻语料数据集 fetch_revl() 分类

小数据集可以直接使用,大数据集要在调用时程序自动下载(一次即可)

'''
波士顿房价数据集
应用到回归问题上
'''
import numpy as np
import scipy
import matplotlib
import sklearn

# 加载数据集
from sklearn.datasets import load_boston
# 查看参数
load_boston # 输出中return_X_y=False表示是否返回target(价格),默认False,只返回data(属性)
# 获得变量通用信息
load_boston?
# 引用数据
a = load_boston()
a
# 打印维度
print(a.data.shape) # (506, 13)
# 改变参数
data, target = load_boston(return_X_y=True)
print(data.shape) # (506, 13)
print(target.shape) # (506,)
波士顿房价数据集.png
'''
鸢尾花数据集
用于多分类问题
'''

import numpy as np
import scipy
import matplotlib
import sklearn

# 加载
from sklearn.datasets import load_iris
# 调用
b = load_iris()
b # [输出数据]

# 查看参数
load_iris # [默认False,表示以字典形式返回数据全部信息;True,则以data、target返回数据]
load_iris? # [一些数据信息]

# 打印维度
print(b.data.shape) # (150, 4)

print(b.target.shape) # (150,)

# 打印数据集的分类名称 
list(b.target_names) # ['setosa', 'versicolor', 'virginica']
'''
手写数据集
每个数字有8*8大小矩阵构成,矩阵中值0-16,代表颜色深度
'''

import numpy as np
import scipy
import matplotlib
import sklearn

# 加载
from sklearn.datasets import load_digits
# 调用
c = load_digits()
c # [输出数据]

# 查看参数
load_digits # [默认False,表示以字典形式返回数据全部信息;True,则以data、target返回数据;n_class=10是一个特别的属性,表示返回数据的类别数2,这里=10,则返回0-9的数据样本]

# 打印维度
print(c.data.shape) # (1797, 64)

print(c.target.shape) # (1797,)
print(c.images.shape) # (1797, 8, 8)

# 以图像的形式展示
import matplotlib.pyplot as plt
plt.matshow(c.images[0])
plt.show() # [如下图]
手写数据集.png

目录
Python机器学习应用
一、Sklearn库
二、无监督学习
三、有监督学习

Python机器学习应用.jpg

你可能感兴趣的:(Sklearn库)