机器学习 | Sklearn框架

前言

scikit-learn是常用python工具库,涵盖大多数机器学习算法的实现

基本模块

数据预处理模块preprocessing

sklearn.preprocessing涵盖了绝大部分数据预处理的函数,如对类别型特征处理的LabelEncoder,OneHotEncoder
在这里插入图片描述

一、sklearn自带数据集

数据集名称备注
iris花瓣数据集
boston房价数据集
from sklearn import datasets
import numpy as np
#导入框架自带数据集
iris = datasets.load_iris() # 获取花瓣数据集

'''
iris.data # 特征数据
iris.target # 标签数据
'''

二、sklearn数据预处理

1. 数据划分

若采用“训练集+测试集”的切分方式
首先导入train_test_split模块

train_test_split()有两种划分形式:
1.若数据集是(feature+target)形式,则可按如下划分

df_train, df_test = train_test_split(self.all_data, test_size=0.2, random_state=2021)

2.若数据集将feature与target分开,则可按如下划分

from sklearn.model_selection import train_test_split

X = iris.data[:,:] # 采用所有的特征数据,若单独采用第3-5列可以iris.data[:,[3,5]]
y = iris.target # 标签值

# 70%训练集 + 30%测试集
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3, random_state=0) 

'''
X_train.shape #X训练集shape
X_test.shape #X测试集shape
y_train.shape #Y训练集shape
y_test.shape #y测试机shape
'''

以上两种方式处理结果是一致的,验证方法是保证随机种子一致,观察结果保持一致

2. 特征标准化

skleran标准化的过程,即特征数据减去其均值后,除以其标准差
X_std=x−mean(x))var(x)X\_std=\frac{x-mean(x))}{var(x)}X_std=var(x)xmean(x))

得到缩放后的数据更符合正态分布

from sklearn.preprocessing import StandardScaler
sc = StandardScaler()
sc.fit(X_train)

'''
sc.scale_ #可查看标准化后的scale,(均值,标准差)
'''

#获取标准化后的特征数据
X_train_std = sc.transform(X_train)
X_test_std = sc.transform(X_test)

三、sklearn五大基本函数

fit 拟合

首先从sklearn库中提取模型后,然后从模型中fit数据
例如感知机模型:

from sklearn.linear_model import Perceptron

ppn = Perceptron(max_iter=5)
ppn.fit(X_train_std,y_train)
'''
ppn.coef_ # 查看wx+b中的w
ppn.interupt_ # 查看wx+b中的b

predict 预测

模型训练好后,就可以检测模型的预测功能了

y_pred = ppn.predict(X_test_std)
'''
y_pred # 预测值的数据标签
y_test # 真实值的数据标签
'''
# 统计误分类的样本个数
print('Wrong predict nums:%d'%(y_pred != y_test).sum())

# 输出模型准确率
from sklearn.metrics import accuracy_score
print('Accuracy:%.2f'% accuracy_score(y_test, y_pred))

transform 变换

fit_transform 拟合+变换

predict_prob 预测概率

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值