当前位置: 首页 > wzjs >正文

龙岗区网站建设公司搭建网站

龙岗区网站建设,公司搭建网站,设计建立企业网站最佳的公司,中国十大科技公司一、特征工程概念 特征工程是对数据特征进行处理,将其转化为适合机器学习算法的数字特征的过程。其主要步骤包括: 特征提取:针对不同类型数据(如字典、文本等),提取有效特征,如字典特征提取、文…

一、特征工程概念

特征工程是对数据特征进行处理,将其转化为适合机器学习算法的数字特征的过程。其主要步骤包括:

  1. 特征提取:针对不同类型数据(如字典、文本等),提取有效特征,如字典特征提取、文本特征提取。
  2. 无量纲化(预处理):通过归一化和标准化等方法,消除数据特征间的量纲差异,使数据更适合模型训练。
  3. 降维:采用低方差过滤、主成分分析(PCA)等技术,减少特征数量,降低计算复杂度,同时保留重要信息。

通常使用 pandas 进行数据清洗和处理,使用 sklearn 进行特征工程操作。

二、特征工程 API

在 sklearn 中,特征工程相关的转换器类多为 Transformer 的子类,使用时需先实例化转换器对象,再调用 fit_transform () 方法进行转换(fit 用于计算数据,transform 用于最终转换,也可分开使用 fit () 和 transform ())。常用的转换器类包括:

  1. DictVectorizer:字典特征提取。
  2. CountVectorizer:文本特征提取。
  3. TfidfVectorizer:TF-IDF 文本特征词的重要程度提取。
  4. MinMaxScaler:归一化。
  5. StandardScaler:标准化。
  6. VarianceThreshold:低方差过滤降维。
  7. PCA:主成分分析降维。

三、具体特征工程方法

(一)DictVectorizer 字典列表特征提取

  1. 概念:将字典列表数据转换为矩阵或数组,涉及稀疏矩阵(大部分元素为零)和非稀疏矩阵(稠密矩阵)的概念。
  2. API 及示例

收起

python

from sklearn.feature_extraction import DictVectorizer
data = [{'city':'成都', 'age':30, 'temperature':200}, {'city':'重庆','age':33, 'temperature':60}, {'city':'北京', 'age':42, 'temperature':80}]
# 创建DictVectorizer对象,设置sparse=False返回数组
transfer = DictVectorizer(sparse=False)
data_new = transfer.fit_transform(data)
print("data_new:\n", data_new)
print("特征名字:\n", transfer.get_feature_names_out())

(二)CountVectorizer 文本特征提取

  1. API:sklearn.feature_extraction.text.CountVectorizer,可设置 stop_words 参数排除特定词汇。
  2. 英文文本提取示例

收起

python

from sklearn.feature_extraction.text import CountVectorizer
data=["stu is well, stu is great", "You like stu"]
transfer = CountVectorizer(stop_words=["you","is"])
data_new = transfer.fit_transform(data)
print(data_new)

  1. 中文文本提取示例:需先使用 jieba 分词

收起

python

import jieba
from sklearn.feature_extraction.text import CountVectorizerdef cut(text):return " ".join(list(jieba.cut(text)))data = ["教育学会会长期间坚定支持民办教育事业!","热忱关心、扶持民办学校发展","事业做出重大贡献!"]
data_new = [cut(v) for v in data]
transfer = CountVectorizer(stop_words=['期间', '做出']) 
data_final = transfer.fit_transform(data_new)
print(data_final.toarray())
print(transfer.get_feature_names_out())

(三)TfidfVectorizer TF-IDF 文本特征词的重要程度特征提取

  1. 算法原理:结合词频(TF)和逆文档频率(IDF),评估词在文本中的重要性。
  2. API:sklearn.feature_extraction.text.TfidfVectorizer (),可设置 stop_words 参数。
  3. 示例

收起

python

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())

(四)无量纲化 - 预处理

  1. MinMaxScaler 归一化
    • 公式: 将数据映射到指定区间(默认为 0 - 1)。
    • API 及示例:sklearn.preprocessing.MinMaxScaler(feature_range)

收起

python

from sklearn.preprocessing import MinMaxScaler
data=[[12,22,4],[22,23,1],[11,23,9]]
transfer = MinMaxScaler(feature_range=(0, 1))
data_new = transfer.fit_transform(data)
print(data_new)

  1. normalize 归一化:包括 L1、L2、max 归一化,分别以绝对值相加、平方相加、max 作为分母进行归一化。
  2. StandardScaler 标准化
    • 公式: 使数据均值为 0,标准差为 1。
    • API 及示例:sklearn.preprocessing.StandardScaler

收起

python

import pandas as pd
import numpy as np
from sklearn.preprocessing import StandardScaler
df_data = pd.read_csv("src/dating.txt")
transfer = StandardScaler()
new_data = transfer.fit_transform(df_data)
print("DateFrame数据被归一化后:\n", new_data[0:5])

(五)特征降维

  1. 特征选择
    • VarianceThreshold 低方差过滤特征选择:移除方差低于设定阈值的特征。

收起

python

from sklearn.feature_selection import VarianceThreshold
import pandas as pd
data=pd.DataFrame([[10,1],[11,3],[11,1],[11,5],[11,9],[11,3],[11,2],[11,6]])
transfer = VarianceThreshold(threshold=1)
data_new = transfer.fit_transform(data)
print("data_new:\n",data_new)

  • 根据相关系数的特征选择:使用皮尔逊相关系数度量变量间线性相关性。

收起

python

from scipy.stats import pearsonr
import pandas as pd
data = pd.read_csv("src/factor_returns.csv")
data = data.iloc[:, 1:-2]
r1 = pearsonr(data["pe_ratio"], data["pb_ratio"])
print(r1.statistic)
print(r1.pvalue)

  1. 主成份分析 (PCA)
    • 原理:通过线性变换找到新的坐标系统,使数据在新坐标轴上的投影保留最大方差。
    • API 及示例:from sklearn.decomposition import PCA

收起

python

from sklearn.decomposition import PCA
data = [[2,8,4,5], [6,3,0,8], [5,4,9,1]]
# 降维后保留95%的信息
transfer = PCA(n_components=0.95)
data_new = transfer.fit_transform(data)
print("data_new:\n", data_new)

四、sklearn 机器学习概述

完成数据获取、处理和特征工程后,使用 sklearn 进行机器学习的流程如下:

  1. 实例化预估器 (估计器) 对象 (estimator):根据任务选择,如分类(KNeighborsClassifier、MultinomialNB 等)、回归(LinearRegression、Ridge)、无监督学习(KMeans)。
  2. 进行训练:estimator.fit(x_train, y_train)。
  3. 模型评估
    • 方式 1:对比 y_predict = estimator.predict (x_test) 和 y_test。
    • 方式 2:计算准确率 accuracy = estimator.score (x_test, y_test)。
  4. 使用模型 (预测):y_predict = estimator.predict(x_true)。

示例(以 KNeighborsClassifier 为例)

收起

python

from sklearn.neighbors import KNeighborsClassifier
from sklearn.datasets import load_iris
from sklearn.model_selection import train_test_split# 加载数据
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.3, random_state=42)# 实例化预估器
clf = KNeighborsClassifier(n_neighbors=3)# 训练模型
clf.fit(X_train, y_train)# 模型评估
y_predict = clf.predict(X_test)
accuracy = clf.score(X_test, y_test)
print("预测结果:", y_predict)
print("准确率:", accuracy)# 使用模型进行预测
new_data = [[5.1, 3.5, 1.4, 0.2]]
prediction = clf.predict(new_data)
print("新数据预测结果:", prediction)
http://www.dtcms.com/wzjs/54531.html

相关文章:

  • 简述网站规划的主要任务成都网站搜索排名优化公司
  • 网站建设公司推广广告语百度竞价推广属于什么广告
  • 嘉兴 网站制作百度知道灰色词代发收录
  • 卡密网站怎么做怎样通过网络销售自己的产品
  • 网站开发基础知识企业员工培训课程
  • iis网站权限配置营销计划
  • 社区网站如何做许昌seo推广
  • 长春比较有名的做网站建设销售渠道
  • 合肥专业商业网站杭州百度百家号seo优化排名
  • 做佩戴护身符的厂家网站广东做seo的公司
  • 东莞住房和建设局网站超级外链在线发布
  • 备案需要网站吗昆明seo培训
  • 那个网站做外贸seo优化公司
  • 培训网站欣赏关键词优化的软件
  • 网站视频怎么做的百度搜索引擎下载
  • 江苏省电力建设质量监督中心站网站沈阳seo收费
  • 电子商务网站推广的方式有哪些b2b平台
  • 电商平台建设做网站优化软件
  • 新网站上线 怎么做seo郑州官网网站推广优化公司
  • 专业建站服务公司seo搜索排名优化是什么意思
  • 公司网站企业文化怎么做如何进行电子商务网站推广
  • 中小学生在线做试卷的网站6一个好的产品怎么推广
  • 徐州木塑模板网站优化网
  • 网站策划书内容不包括什么微信客户管理
  • 江苏建设教育深圳宝安seo外包
  • 云服务器 可以做网站吗google官方下载安装
  • 专门做cg视频网站营销策划公司名字
  • python 网站开发怎么部署如何做营销推广
  • 做羞羞的事情的网站重庆优化seo
  • 移动网站 案例网络教学平台