scikit-learn学习Day30

1.数据集划分

import numpy as np
from sklearn.datasets import load_iris
import pandas as pd
arr = load_iris()
data = arr.data
target = arr.target
print(target)
n_target = target.reshape(len(target),1)
print(n_target)
n_data = np.hstack([data,n_target])
print(n_data)
columns = arr.feature_names
print(columns)
columns.append('Target')
print(columns)
Data = pd.DataFrame(n_data,columns=columns)
print(Data)from sklearn.datasets import fetch_20newsgroups
# data_home:数据集存储位置,subset:'train','test','all'分别代表训练/测试/全部数据集
data = fetch_20newsgroups(data_home='src')# 打开excel和csv文件
import pandas as pd
data = pd.read_csv('src/ss.csv')
data1 = pd.read_excel('src/test.xlsx')
print(data,'\n',data1)
#
# 数据集的划分
#
import pandas as pd
from sklearn.datasets import load_iris
from sklearn.model_selection import train_test_split
import numpy as np
arr = load_iris()
data = arr.data
target = arr.target
# *arrays:特征或目标,train_size/test_size:划分比例(0-1或整数),random_state:固定随机数种子,stratify:分层,保证train和test中包括数据库中所有的类别样本
x_train, x_test, y_train, y_test = train_test_split(data,target,train_size=0.8,stratify=target,random_state=6)
print(x_train)
print(y_test)# 二维数组划分只改变第一维度,不改变第二维度
arr1 = np.arange(1,16,1).reshape(5,3)
np_train,np_test = train_test_split(arr1,train_size=0.8)
print(np_train)# DataFrame划分后还是DataFrame
arr1 = np.arange(1,16,1).reshape(5,3)
data = pd.DataFrame(arr1)
pd_train,pd_test = train_test_split(data,train_size=0.8)
print(pd_train)from sklearn.feature_extraction import DictVectorizer
data = [{'city':'成都', 'age':30, 'temperature':20},{'city':'重庆','age':33, 'temperature':60},{'city':'北京', 'age':42, 'temperature':80},{'city':'上海', 'age':22, 'temperature':70},{'city':'成都', 'age':72, 'temperature':40},]
# 直接对字典划分得到的数据集还是原格式
x_train,x_test = train_test_split(data,train_size=0.8)
print(x_train)
# 使用DictVectorizer提取特征
transfer = DictVectorizer(sparse=True)#sparse:是否将数据集转换成三元组形式
data_new = transfer.fit_transform(data)
print("data_new:\n", data_new)
x = data_new.toarray()#将三元组转为ndarray
print(type(x))
print(x)
x_train,x_test = train_test_split(x,train_size=0.8,random_state=6)
print(x_train)

2.特征提取

# 字典列表特征提取
from sklearn.feature_extraction import DictVectorizer
import pandas as pd
data = [{'city':'北京','money':38,'age':20},{'city':'上海','money':60,'age':29},{'city':'深圳','money':30,'age':32},{'city':'深圳','money':40,'age':49},]
# 初始化工具(字典变成向量的工具器)
model = DictVectorizer(sparse=False)#sparse是否转换成三元组形式
data = model.fit_transform(data)
print(data,type(data))
print(model.get_feature_names_out())#获取所有的特征名称
ddata = pd.DataFrame(data=data,columns=model.get_feature_names_out())
# print(ddata)
ddata
# 字典列表特征提取
from sklearn.feature_extraction import DictVectorizer
import pandas as pd
data = [{'city':'北京','money':38,'age':20},{'city':'上海','money':60,'age':29},{'city':'深圳','money':30,'age':32},{'city':'深圳','money':40,'age':49},]
# 初始化工具(字典变成向量的工具器)
model = DictVectorizer(sparse=True)#sparse是否转换成三元组形式
data = model.fit_transform(data)
print(data,type(data))
arr = data.toarray()#把三元组(稀疏矩阵)转化为数组
print(arr)
# 文本特征提取
from sklearn.feature_extraction.text import CountVectorizer
corpus = ['I love machine learning. Its awesome.', 'Its a book amazon book.','Amazon is book great company']
# 创建一个词频提取对象
vectorizer = CountVectorizer(stop_words=['amazon'])
# 提取词频
x = vectorizer.fit_transform(corpus)
print(x)
print(x.toarray())
print(vectorizer.get_feature_names_out())
# 中文文本特征提取
from sklearn.feature_extraction.text import CountVectorizer
import jieba
import pandas as pd
# arr = list(jieba.cut('我爱北京天安门'))
# print(arr)
# str1 = ' '.join(arr)
# print(str1)
#传入的文本(没有断词的字符串)用jieba分词工具转化为数据容器,然后再把数据容器中的元素连接成字符串
def mycut(text):return ' '.join(jieba.cut(text))corpus = ['我爱北京天安门','我爱成都天府']
# # 创建一个词频提取对象
vectorizer = CountVectorizer(stop_words=[])
# # 提取词频
data = [mycut(el) for el in corpus]
print(data)
x = vectorizer.fit_transform(data)
print(x)
print(x.toarray())
print(vectorizer.get_feature_names_out())
ddata = pd.DataFrame(x.toarray(),columns=vectorizer.get_feature_names_out())
ddata
import jieba
import pandas as pd
from sklearn.feature_extraction.text import TfidfVectorizerdef cut_words(text):return " ".join(list(jieba.cut(text)))data = ["教育学会会长期间,坚定支持民办教育事业!",  "扶持民办,学校发展事业","事业做出重大贡献!"]
data_new = [cut_words(v) for v in data]transfer = TfidfVectorizer(stop_words=['期间', '做出',"重大贡献"]) 
data_final = transfer.fit_transform(data_new)pd.DataFrame(data_final.toarray(), columns=transfer.get_feature_names_out())
# TfidfVectorizer TF-IDF文本特征词的重要程度特征提取
from sklearn.feature_extraction.text import CountVectorizer,TfidfVectorizer
import jieba
import pandas as pd
def mycut(text):return ' '.join(jieba.cut(text))
data = ["教育学会会长期间,坚定支持民办教育事业!",  "扶持民办,学校发展事业","事业做出重大贡献!"]
data = [mycut(i) for i in data]
# print(data)
transfer = TfidfVectorizer(stop_words=[])
res = transfer.fit_transform(data)
print(transfer.get_feature_names_out())
print(res.toarray())ddata = pd.DataFrame(res.toarray(),columns=transfer.get_feature_names_out())
ddata
from sklearn.preprocessing import MinMaxScaler
import pandas as pd
scaler = MinMaxScaler(feature_range=(0,1))
data = pd.read_excel('src/test2.xlsx')
print(data.values)
# arr = scaler.fit_transform(data.values)
arr = scaler.fit_transform(data)
print(arr)
# 字典列表特征提取
from sklearn.feature_extraction import DictVectorizer
from sklearn.preprocessing import MinMaxScaler
import pandas as pd
data = [{'city':'北京','money':38,'age':20},{'city':'上海','money':60,'age':29},{'city':'深圳','money':30,'age':32},{'city':'深圳','money':40,'age':49},]
# 初始化工具(字典变成向量的工具器)
model = DictVectorizer(sparse=True)#sparse是否转换成三元组形式
data = model.fit_transform(data)
print(data,type(data))
arr = data.toarray()#把三元组(稀疏矩阵)转化为数组
print(arr)
arr1 = MinMaxScaler().fit_transform(arr)
arr1
from sklearn.preprocessing import StandardScaler
import numpy as np# 初始化标准化工具
scaler = StandardScaler()
np.random.seed(7)
data = np.random.randint(0,100,(30,4))
# print(data)
x = scaler.fit_transform(data)
print(x)
# fit 和 transfer 和 fit_transform的区别
from sklearn.preprocessing import StandardScaler,MinMaxScaler
import numpy as np
np.random.seed(666)
transfer = StandardScaler()
x = np.random.randint(100,size=(3,4))
print(x)
# y = transfer.fit_transform(x)
transfer.fit(x)#计算均值和标准差
x = transfer.transform(x)
print(x)
x2 = np.array([[10,20,30,40]])
y = transfer.transform(x2)
print(y)
# 低方差过滤
from sklearn.feature_selection import VarianceThreshold
transer = VarianceThreshold(threshold=0.01)
x = [[0,2,0,3],[0,1,4,3],[0,1,1,3]
]
x = transer.fit_transform(x)
print(x)
from scipy.stats import pearsonr
import pandas as pd
data = pd.read_csv('src/factor_returns.csv')
print(data)
data = data.iloc[:,1:-2]
print(data)
r1 = pearsonr(data["pe_ratio"], data["pb_ratio"])
print(r1.statistic) #-0.0043893227799362555 相关性, 负数表示负相关
print(r1.pvalue) #0.8327205496590723        正相关性
r2 = pearsonr(data['revenue'], data['total_expense'])
print(r2) #PearsonRResult(statistic=0.9958450413136111, pvalue=0.0)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.xdnf.cn/news/13053.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

浅层神经网络

浅层神经网络 浅层神经网络通常指包含一个隐藏层的神经网络。这个网络由输入层、隐藏层和输出层构成: 输入层:输入层负责接收网络的输入特征,通常表示为列向量 x T [ x 1 , x 2 , x 3 ] x^T [x_1, x_2, x_3] xT[x1​,x2​,x3​]&#xff…

解决apidoc不是内部或外部命令,也不是可运行的程序 或批处理文件。

apidoc官网 首先确保安装了apidoc,我这里是全局安装的。 npm install apidoc -g然后打开cmd窗口执行命令时就会报错。 apidoc 不是内部或外部命令,也不是可运行的程序 或批处理文件。 此时只需要找到它,再把它加入环境变量即可了。 win10中npm默认路径:C:\User…

可私有化部署API的集装箱箱号自动识别技术,专业算法厂家

启智畅想作为人工智能行业OCR识别算法厂家,可将集装箱箱号自动识别技术私有化部署,并提供私有化部署的API的接口,在物流行业中正逐渐崭露头角,成为提升效率与精度的关键力量。这一技术不仅打破了传统识别方式的局限,更…

【快速解决】kafka崩了,重启之后,想继续消费,怎么做?

目录 一、怎么寻找我们关心的主题在崩溃之前消费到了哪里? 1、一个问题: 2、查看消费者消费主题__consumer_offsets 3、一个重要前提:消费时要提交offset 二、指定 Offset 消费 假如遇到kafka崩了,你重启kafka之后&#xff0…

第七届中国国际进口博览会 2024长三角G60科创走廊高质量发展要素对接大会举行

11月9日,第七届中国国际进口博览会2024长三角G60科创走廊高质量发展要素对接大会在国家会展中心举行。会上,G60科创走廊九城市共赴进博之约,以全面深化改革为动力,深入推进长三角G60科创走廊走深走实,携手推动科技创新…

一键P图新神器!SeedEdit让图片编辑更快捷!

大家还记得MJ推出的图片编辑功能吗?只需涂抹想要修改的区域,再输入提示词,就能一键更改原图。而现在,豆包大模型团队也推出了类似的功能——SeedEdit,而且更加简单快捷! Ai 智能办公利器 - Ai-321.com 人工…

【数据分析与数据挖掘】决策树算法

决策树的构造的本质是利用训练数据构造一棵决策树,然后利用这棵树所提炼出来的规则进行预测。算法过程大体分为两步:1.利用训练数据构造决策树 2.利用构造的决策树进行预测 分类相关知识 信息熵 信息熵由香农提出,用来衡量事件的不确定性的…

丹摩征文活动|智谱AI引领是实现文本可视化 - CogVideoX-2b 部署与使用

文章目录 前言一、DAMODEL平台特性二、创建CPU云实例三、CogVedioX介绍四、DAMODEL一键部署CogVideoX1. 创建丹摩实例(参考上述介绍)2. 配置环境和依赖3. 模拟与配置文件4. 开始运行4.1 调试4.2 webUI4.3 端口映射 前言 DAMODEL(丹摩智算)是一款专为满足…

22. 记录架构

文章目录 第22章 记录架构22.1 架构文档的用途和受众22.2 符号表示22.3 视图模块视图组件和连接器视图C&C 视图的符号表示 分配视图质量视图 22.4 组合视图22.5 记录行为22.6 视图之外22.7 记录基本原理22.8 架构的利益相关者22.9 实际考虑建模工具在线文档、超文本和维基遵…

Python练习19

Python日常练习 题目: 打印如下九九乘法表 1*11 2*12 2*24 3*13 3*26 3*39 4*14 4*28 4*312 4*416 5*15 5*210 5*315 5*420 5*525 6*16 6*212 6*318 6*424 6*530 6*636 7*17 7*214 7*321 7*428 7*535 7*642 7*749 8*18 8*216 8*324 8*432 8*540 8*648 8*756 8*86…

卸载 Python

文章目录 WindowsmacOSLinux总结 卸载 Python 的方法取决于你使用的操作系统。以下是针对不同操作系统的卸载步骤: Windows 打开控制面板: 按 Win R 打开运行对话框,输入 control,然后按 Enter。或者,从开始菜单搜索并…

使用Wireshark获取USB HID(Human Interface Device)报告描述符

使用Wireshark选择需要获取的USB进行抓取数据,找到设备(host)接收信息的数据 第二栏出现hid报告,右击选择复制流 将复制的内容粘贴到USB标准请求及描述符在线分析工具 - USB中文网 进行解析 以图中获取手写板的数据为例&#xff…

【深度学习】LSTM、BiLSTM详解

文章目录 1. LSTM简介:2. LSTM结构图:3. 单层LSTM详解4. 双层LSTM详解5. BiLSTM6. Pytorch实现LSTM示例7. nn.LSTM参数详解 1. LSTM简介: LSTM是一种循环神经网络,它可以处理和预测时间序列中间隔和延迟相对较长的重要事件。LSTM通…

PyQt5 加载UI界面与资源文件

步骤一: 使用 Qt Designer 创建 XXX.ui文件 步骤二: 使用 Qt Designer 创建 资源文件 步骤三: Python文件中创建相关类, 使用 uic.loadUi(mainwidget.ui, self ) 加载UI文件 import sys from PyQt5 import QtCore, QtWidgets, uic from PyQt5.QtCore import Qt f…

ENSP作业——小型园区网

题目 根据上图,可得需求为: 1.配置交换机上的VLAN及IP地址。 2.设置SW1为VLAN 2/3的主根桥,设置SW2为VLAN 20/30的主根桥,且两台交换机互为主备。 3.可以使用super vlan。(本次实验中未使用) 4.上层通过静…

计算机网络:运输层 —— 运输层端口号

文章目录 运输层端口号的分类端口号与应用程序的关联应用举例发送方的复用和接收方的分用 运输层端口号的分类 端口号只具有本地意义,即端口号只是为了标识本计算机网络协议栈应用层中的各应用进程。在因特网中不同计算机中的相同端口号是没有关系的,即…

【C++练习】使用C++编写程序计算π的近似值

题目:使用C编写程序计算π的近似值 描述: 编写一个C程序,使用一个特定的数学公式来计算圆周率(π)的近似值。该程序定义了一个函数calculatePi(),该函数通过一个迭代算法和一个涉及反正切函数(…

Hook小程序

下载: https://github.com/JaveleyQAQ/WeChatOpenDevTools-Python 配置: pip install -r requirements 实现: 开启小程序开发者模式,类似浏览器F12 效果: 使用: 退出微信,进入安装的目录…

如何在pycharm中 判断是否成功安装pytorch环境

1、在电脑开始端,找到 2、打开后 在base环境下 输入conda env list 目前我的环境中没有pytorch 学习视频:【Anaconda、Pytorch、Pycharm到底是什么关系?什么是环境?什么是包?】https://www.bilibili.com/video/BV1CN411s7Ue?vd_sourcefad0750b8c6…

AI陪伴走热,网易云信“融合通讯+AI”新方案发布!附场景App及源码

信息秒回、不会失联、724h 情感陪伴、随时提供情绪价值......在 AI 能力越来越强大的今天,我们开始有了“AI 助手”、“AI 搭子”,甚至开始谈起“AI 男友/女友”,AI 的角色早已超越了简单的生产力工具,它正深入到我们生活的方方面…