IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Python知识库 -> python-scikit-learn基础 -> 正文阅读

[Python知识库]python-scikit-learn基础

前言

scikit-learn是python实现的机器学习算法库,它具有各种分类,回归和聚类算法,包括支持向量机,随机森林,梯度提升,k均值和DBSCAN,并且旨在与Python数值科学图书馆NumPy和SciPy。

1.scikit-learn自带数据集

数据集函数适用范围
波士顿房价数据集datasets.load_boston([return_X_y])经典的用于回归任务的数据集
乳腺癌数据集datasets.load_breast_cancer([return_X_y])简单经典的用于二分类任务的数据集
糖尿病数据集datasets.load_diabetes([return_X_y])经典的用于回归的数据集,
手写数字数据集datasets.load_digits([n_class, return_X_y])用于分类任务或者降维任务的数据集
体能训练数据集datasets.load_linnerud([return_X_y])经典的用于多变量回归任务的数据集。
鸢尾花数据集datasets.load_iris([return_X_y])用于分类任务的数据集
# 鸢尾花数据调用示例
from sklearn.datasets import load_iris
data=load_iris( )
print(X.shape)    # 结果 (506, 13)   数据的行数(数量)与维度(指标)

# 其他数据集示例
from sklearn.datasets import fetch_olivetti_faces    #下载大型数据集
from sklearn.datasets import make_swiss_roll         #生成数据集

2.scikit-learn数据降维

sk-learn的降维算法都被包括在模块decomposition中,在此模块中可以实现主成分分析、因子分析、独立成分分析、字典学习、高级矩阵分解以及其他矩阵分解

PCA降维示例
model=sklearn.decomposition.PCA(n_components=None, copy=True, whiten=False)
X_LessDim=model.fit_transform(X)

参数含义
n_components赋值为int,比如n_components=1,将把原始数据降到一个维度。
copy表示是否在运行算法时,将原始训练数据复制一份。
whiten白化,使得每个特征具有相同的方差。
# 降维
from sklearn.decomposition import PCA
Pca_mode=PCA(n_components=2)
less_X=Pca_mode.fit_transform(X) # 注意函数fit_transform
less_X.shape #   (506, 2)数据指标即维度变为2

3.scikit-learn数据预处理

sk-learn的Preprocessing包含了简单的预处理和标准化函数,在此模块中可以实现简单的数据预处理
如:
独热编码转换、数据二值化等操作,还可以实现0-1标准化、最大最小标准化等数据标准化转换操作。
标准化转换示例
from sklearn. preprocessing import Normalizer
model=Normalizer()
X_stand=model.transform(X)

# 标准化处理
from sklearn.preprocessing import Normalizer
N_model=Normalizer()
N_less_X=N_model.transform(less_X)
print(N_less_X[0:5])
# 输出
[[ 0.72187819  0.69202014]
 [-0.74597238 -0.66597688]
 [-0.74145383  0.67100389]
 [ 0.80756801  0.58977446]
 [-0.43561154 -0.90013476]]

4.scikit-learn数据集划分

scikit-learn支持多种种数据集划分的方法,这里以留出法和交叉验证法为例。
留出法:

from sklearn.model_selection import train_test_split
X_tr,X_te,Y_tr,Y_te=train_test_split(X,Y,test_size=0.2)

test_size:控制测试集的比例

交叉验证

from sklearn.model_selection import KFold
kf = KFold(n_splits=4)
for train, test in kf.split(X, Y):
print(train, test)

5.scikit-learn模型调用

1. 调用模型

from sklearn.tree import DecisionTreeRegressor
model=DecisionTreeRegressor()

2. 代入数据训练

model.fit(X_tr,Y_tr)

3. 模型预测

Y_pre=model.predict(X_te)
Y_pre

6.scikit-learn结果评价

7.scikit-learn过程可视化(以决策树为例)

决策树的可视化需要用到graphviz和pydotplus,然而graphviz除了在python里pip安装模块,还需要在电脑中安装graphviz软件。

# 首先载入所需的模块:
from sklearn.tree import export_graphviz
import pydotplus
# 生成模型后即可使用上述模块产生需要格式的决策树图片
dot_data = tree.export_graphviz(决策树模型, out_file=None) 
graph = pydotplus.graph_from_dot_data(dot_data) 
graph.write_png("tree.png") # 生成png文件
graph.write_jpg("tree.jpg") # 生成jpg文件
graph.write_pdf("tree.pdf") # 生成pdf文件
  Python知识库 最新文章
Python中String模块
【Python】 14-CVS文件操作
python的panda库读写文件
使用Nordic的nrf52840实现蓝牙DFU过程
【Python学习记录】numpy数组用法整理
Python学习笔记
python字符串和列表
python如何从txt文件中解析出有效的数据
Python编程从入门到实践自学/3.1-3.2
python变量
上一篇文章      下一篇文章      查看所有文章
加:2022-10-22 21:11:19  更:2022-10-22 21:13:36 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/15 6:54:36-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码