当前位置: 首页 > article >正文

<<机器学习实战>>27-30节笔记:sklearn使用方法

第六章sklearn使用方法及机器学习调参

  1. sklearn核心对象类型是评估器estimator,比如线性回归评估器linearregression是包含在skelearn包的linear_model模块下,调用方法

from sklearn.linear_model import LinearRegression

用model=LinearRegression()来进行实例化

然后定义xy,model.fit(x,y)即可训练出一个评估器

model.coef_可以查看系数

model.intercept_ 查看截距

用MSE方法计算方差:

from sklearn.metrics import mean_squared_error

mean_squared_error(model.predict(x),y)

查看超参数

LinearRegression?

具体的超参数:

fit_intecept:是否构建带有截距项的方程,默认为是

normalize:是否正则化处理

copy_x:建模时是否带入训练数据的副本

model.get_params()#获得目前超参数情况

  1. sklearn自带数据集导入from sklearn.datasets import load_iris

Iris_data.data[:10] 读取数据

3.数据集切分(切分为训练集和测试集):

from sklearn.model_selection import train_test_split

train_test_split(x,y,random_state=42)

4.数据归一化与标准化

标准化:

x=np.arange(9).reshape(3,3)

preprocessing.scale(x)

得到结果:

array([[-1.22474487, -1.22474487, -1.22474487],

       [ 0.        ,  0.        ,  0.        ],

       [ 1.22474487,  1.22474487,  1.22474487]])

但这个方法不常用,一般是在训练集上算出均值和标准差,再用到测试集上。使用评估器进行数据标准化,就可以构成机器学习工作流,z-score标准化(将数据缩放到均值为0,方差为1的区间里)具体代码如下:

from sklearn.preprocessing import StandardScaler

# In[44]:

scaler=StandardScaler()

# In[45]:

x_train,x_test=train_test_split(x)

# In[46]:

scaler.fit(x_train)

# In[47]:

scaler.transform(x_train)

# In[48]:

scaler.transform(x_test)

简便写法:

Scaler.fit_transform(x_train)

scaler.transform(x_test)

若是0-1标准化(缩放到0,1间)则为MinMaxScaler

归一化:

将一行数据统一除以一范数(和)或者二范数(平方和开更)的过程,具体操作如下

from sklearn.preprocessing import Normalizer

normalize=Normalizer(norm=’l1’)

normalize.fit_transform(x)

结果为:

array([[0.        , 0.33333333, 0.66666667],

       [0.25      , 0.33333333, 0.41666667],

       [0.28571429, 0.33333333, 0.38095238]])

  1. 尝试使用逻辑回归评估器

注意:sklearn中逻辑回归评估器默认参数下就支持进行多分类问题判别。并且采用MvM

from sklearn.linear_model import LogisticRegression
from sklearn.datasets import load_iris
x,y=load_iris(return_X_y=True)
clf_test=LogisticRegression(max_iter=1000)
clf_test.fit(x,y)
#看系数
clf_test.coef_
clf_test.predict(x)[:10]
clf_test.score(x,y)

分数为0.9733333333333334

当然也可以用pipline构建机器学习流

from sklearn.pipeline import make_pipeline

pipe=make_pipeline(StandardScaler(),LogisticRegression(max_iter=1000))

  1. 模型保存

Import joblib

joblib.dump(pipe,'pipe.model')#存

pipe1=joblib.load('pipe.model')#读

  1. 正则化

逻辑回归默认加入L2正则化项


http://www.kler.cn/a/388686.html

相关文章:

  • PostgreSQL中的COPY命令:高效数据导入与导出
  • Stored procedures in PostgreSQL
  • 实战指南:理解 ThreadLocal 原理并用于Java 多线程上下文管理
  • 【项目开发 | 跨域认证】JSON Web Token(JWT)
  • 【Linux】基础IO及文件描述符相关内容详细梳理
  • 【RabbitMQ】08-延迟消息
  • UDP checksum(UDP校验和)
  • 嵌入式硬件实战基础篇(一)-STM32+DAC0832 可调信号发生器-产生方波-三角波-正弦波
  • Java基础07
  • 2025年前端能否抵挡住AI浪潮的正式冲击 - 是否前端已死?我们又该何去何从
  • 腾讯会议pc端3.29.11开启悬浮窗口
  • C++开发基础之使用librabbitmq库实现RabbitMQ消息队列通信
  • ScheduledThreadPoolExecutor 定制化线程池任务调度及起底层原理
  • tcpdump 是一款功能强大的网络数据包分析工具
  • Centos安装Minio
  • Spring Boot中实现多数据源连接和切换的方案
  • QML-简单项目实战一
  • 【系统架构设计师(第2版)】五、软件工程基础知识
  • Chromium127编译指南 Mac篇(五)- 编译Chromium
  • SpringBoot连接多个redis
  • 基于SpringBoot和Vue的公司文档管理系统设计与开发(源码+定制+开发)
  • 如何使用Spring Cloud Gateway实现一个最简单的API网关示例
  • Docker入门系列——DockerFile的使用
  • 游戏引擎学习第四天
  • 杂七杂八之Swagger环境搭建(Java版本)
  • Spring Boot实现文件上传与OSS集成:从基础到应用