二、特征工程 - 数据集

本文详细介绍了如何使用Scikit-learn库中的数据集,包括可用数据集的来源(如sklearn.datasets和Kaggle/UCI),如何安装和导入库,以及如何通过鸢尾花数据集进行数据预处理、划分训练集和测试集,展示了特征缩放和模型训练的过程。
摘要由CSDN通过智能技术生成

目录

一、数据集

1.1  可用数据集

1.2  Scikit - learn工具介绍

1、安装

2、导入

3、实例

4、包含的内容

1.3  sklearn数据集

1、sklearn.datasets

 2、sklearn小数据集

3、sklearn大数据集

1.4  数据集的返回值

1.5  数据集的划分


一、数据集

1.1  可用数据集

  • sklearn
  • kaggle
  • UCI

1.2  Scikit - learn工具介绍

1、安装

pip3 install Scikit-learn==0.19.1
pip install scikit-learn

2、导入

import sklearn

3、实例

from sklearn.datasets import load_iris
from sklearn.model_selection import train_test_split
from sklearn.preprocessing import StandardScaler

# 加载鸢尾花数据集
iris = load_iris()
X = iris.data
y = iris.target

# 划分训练集和测试集
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)

# 进行特征缩放(默认缩放为单位方差)
# scaler = StandardScaler()
# X_train = scaler.fit_transform(X_train)
# X_test = scaler.transform(X_test)

# 进行最大最小值缩放
from sklearn.preprocessing import MinMaxScaler

# feature_range:设置缩放后的值范围默认最小0 最大值1,
scaler = MinMaxScaler(feature_range=(0, 0.0000000000001))
X_train = scaler.fit_transform(X_train)
X_test = scaler.transform(X_test)

# 训练机器学习模型
from sklearn.ensemble import RandomForestClassifier

clf = RandomForestClassifier()
clf.fit(X_train, y_train)

# 预测测试集结果
y_pred = clf.predict(X_test)

# 输出模型准确率
print("模型准确率:", clf.score(X_test, y_test))

4、包含的内容

分类、回归、聚类、降维、模型选择、特征工程

  • 分类、聚类、回归
  • 特征工程
  • 模型选择、调优

1.3  sklearn数据集

1、sklearn.datasets

加载获取流行数据集

  • datasets.load_*()   获取小规模数据集,数据包含在databases里
  • datasets.fetch_*(data_home=None)   获取大规模数据集,需要从网络上下载,函数的第一个参数是data_home,表示数据集下载的目录,默认是  ~/scikit_learn_data/

 2、sklearn小数据集

  • sklearn.datasets.load_iris()  加载并返回鸢尾花数据集
  • sklearn.datasets.load_boston()  加载并返回波士顿房价数据集

3、sklearn大数据集

  • sklearn.datasets.fetch_20newsgroups(data_home=None,subset='train')
  • subset:'train'或者'test','all',可选,选择要加载的数据集
  • 训练集的 '训练' ,测试集的‘测试’,两者的‘全部’

1.4  数据集的返回值

  • datasets.base.Bunch(继承自字典)
  • dict["key"] = values
  • bunch.key = values
from sklearn.datasets import load_iris

def datasets_demo():
    # 获取数据集
    iris = load_iris()
    print("鸢尾花数据集:\n",iris)
    print("查看数据集描述:\n",iris["DESCR"])
    print("查看特征值的名字:\n",iris.feature_names)
    print("查看特征值:\n",iris.data,iris.data.shape)

    return None

if __name__ == '__main__':
    datasets_demo()

1.5  数据集的划分

训练数据:用于训练,构建模型

测试数据:在模型检验时使用,用于评估模型是否有效

训练集:70%    80%    75%

测试集:30%    20%    30%

  • 训练集特征值    x_train
  • 测试集特征值    x_test
  • 训练集目标值    y_train
  • 测试集目标值    y_test
from sklearn.datasets import load_iris
from sklearn.model_selection import train_test_split


def datasets_demo():
    # 获取数据集
    iris = load_iris()
    # print("鸢尾花数据集:\n",iris)
    # print("查看数据集描述:\n",iris["DESCR"])
    # print("查看特征值的名字:\n",iris.feature_names)
    # print("查看特征值:\n",iris.data,iris.data.shape)

    # 数据集划分
    # random_state=22 随机种子,因为随机种子是固定的,所以每次运行程序时都会得到相同的训练集和测试集
    # 这对于代码的可重复性和调试非常有用
    x_train,x_test,y_train,y_test=train_test_split(iris.data,iris.target,test_size=0.2,random_state=22)
    print("训练集的特征值:\n",x_train,x_train.shape)



    return None

if __name__ == '__main__':
    datasets_demo()

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值