关闭页面特效

机器学习1-sklearn&字典特征抽取

1|0sklearn数据集


1|1数据集API介绍


sklearn.datasets

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

1|2sklearn小数据集


  • sklearn.datasets.load_iris()

    加载并返回鸢尾花数据集

  • sklearn.datasets.load_boston()

    加载并返回波士顿房价数据集

1|3sklearn大数据集


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

1|4sklearn数据集的使用


 

 

 

sklearn数据集返回值介绍

  • load和fetch返回的数据类型datasets.base.Bunch(字典格式)如下:
  • data:特征数据数组,是 [n_samples * n_features] 的二维 numpy.ndarray 数组
  • target:标签数组,是 n_samples 的一维 numpy.ndarray 数组
  • DESCR:数据描述
  • feature_names:特征名,新闻数据,手写数字、回归数据集没有
  • target_names:标签名
def datasets_demo(): """ sklearn数据集使用 """ #获取数据集 iris=load_iris() print("鸢尾花数据集:\n",iris) print("查看数据集描述:\n",iris.DESCR) print("查看特征值的名字:\n",iris.feature_names) print("查看特征值:\n",iris.data,iris.data.shape) #数据集划分 # 训练集的特征值x_train 测试集的特征值x_test 训练集的目标值y_train 测试集的目标值y_test 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 ) # 随机数种子 x_train1, x_test1, y_train1, y_test1 = train_test_split(iris.data, iris.target, random_state=6) x_train2, x_test2, y_train2, y_test2 = train_test_split(iris.data, iris.target, random_state=6) print("如果随机数种子不一致:\n", x_train == x_train1) print("如果随机数种子一致:\n", x_train1 == x_train2) return None

2|0特征提取


2|1字典特征提取


作用:对字典数据进行特征值化

  • sklearn.feature_extraction.DictVectorizer(sparse=True,…)
    • DictVectorizer.fit_transform(X) X:字典或者包含字典的迭代器返回值:返回sparse矩阵
    • DictVectorizer.inverse_transform(X) X:array数组或者sparse矩阵 返回值:转换之前数据格式
    • DictVectorizer.get_feature_names() 返回类别名称

我们对以下数据进行特征提取

[{'city': '北京','temperature':100} {'city': '上海','temperature':60} {'city': '深圳','temperature':30}]
def dict_demo(): """ 对字典类型的数据进行特征抽取 :return: None """ data = [{'city': '北京', 'temperature': 100}, {'city': '上海', 'temperature': 60}, {'city': '深圳', 'temperature': 30}] # 1、实例化一个转换器类 transfer = DictVectorizer(sparse=False) # 2、调用fit_transform data = transfer.fit_transform(data) print("返回的结果:\n", data) # 打印特征名字 print("特征名字:\n", transfer.get_feature_names()) return None

 

 对于特征当中存在类别信息的我们都会做one-hot编码处理


__EOF__

作  者清风紫雪
出  处https://www.cnblogs.com/xiaofengzai/p/14287765.html
关于博主:编程路上的小学生,热爱技术,喜欢专研。评论和私信会在第一时间回复。或者直接私信我。
版权声明:署名 - 非商业性使用 - 禁止演绎,协议普通文本 | 协议法律文本
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角推荐一下。您的鼓励是博主的最大动力!

posted @   清风紫雪  阅读(384)  评论(0编辑  收藏  举报
编辑推荐:
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
0
0
关注
跳至底部
点击右上角即可分享
微信分享提示