2024-11-12 学习人工智能的Day25 scikit-learn库初见
简简单单的数据集
from sklearn.datasets import load_iris/fectch
简单的引用世界数据集和玩具数据集方式
#下面是在获取数据集后常用的值
feature
feature_names
DESCR
target
target_names
filename
from sklearn.datasets import load_iris
import numpy as np
import pandas as pd
iris = load_iris()
feature= iris.data
target =iris.target
target.shape = (len(target),1)
data = np.hstack([feature,target])
cols = iris.feature_names
cols.append('target')
res = pd.DataFrame(data=data,columns=cols)
res
这里是的数据划分的工具
from sklearn.model_selection import train_test_split(*array ,**option)
train_test_split(data= , test_size=/train_size= , random_state=)
在使用中的案例
from sklearn.datasets import load_iris
from sklearn.model_selection import train_test_split
iris = load_iris()
x_train,x_test,y_train,y_test = train_test_split(iris.data,iris.target,train_size=0.8,random_state=666)
print(x_train.shape)
print(x_test.shape)
print(y_train.shape)
print(y_test.shape)
下面是特征工程里可能会用到的API等等
from sklearn.feature_extraction import DictVectorizer
CountVectorizer 这个才有stop_words可以设置,直接使用fit_transform的话返回的依旧是稀疏矩阵,主打的就是一个英文文本
的特征提取,所以我们换了一个工具去实现中文的
它的引用方法用到了feature_extraction中的text部分
DictVectorizer 创建工具,创建时设置/ 记错了,此方法没有stop_words,最简单的一个,用于字典列表的特征提取
TfidfVectorizer 找出来的可以用于中文文本提取的工具,但是依旧有一个前提
创建空白的运行框使用 ! pip install jieba 安装中文分词器
emmmm,又记错了,其实是count装个jeiba就可以中文识别了hhhhhh
TfidfVector的作用是文本特征字的重要程度提取,主要需要注意的是关于TF(词频)、IDC(逆文档频率)这两个值的计算公式
最后值的话是TF-IDF=TF×IDF
MinMaxScaler 归一化
StandardScaler 标准化
VarianceThreshold
fit_transform 到处都在用,看下面的解释,在不通的工具中,它的去fit的值都不一样,然后transform的返回值也有区别
关于 fit 和 transform 在不同工具中的默认行为
fit 和 transform 的具体操作确实会根据工具的设计和应用的不同而有所不同。下面是一些常见的区别:
DictVectorizer:fit 解析字典中的键作为特征名,transform 将字典转换为向量。
StandardScaler:fit 计算每个特征的均值和标准差,transform 利用这些均值和标准差对数据进行标准化。
MinMaxScaler:fit 计算每个特征的最小值和最大值,transform 利用这些值将特征归一化到指定范围(例如 0 到 1)。
PCA(主成分分析):fit 计算数据的协方差矩阵并提取主成分,transform 将数据投影到这些主成分上。
值,transform 利用这些值将特征归一化到指定范围(例如 0 到 1)。
PCA(主成分分析):fit 计算数据的协方差矩阵并提取主成分,transform 将数据投影到这些主成分上。
这些工具的 fit 操作都是为了获取和保存特定的统计信息或转换参数,而 transform 则是实际应用这些参数的过程。