机器学习必备技能之“数据预处理”

TimesNet:用于一般时间序列分析的时间二维变化模型(代码解析) TimesNet:用于一般时间序列分析的二维变化模型,逐行代码解析 阅读详情

640?wx_fmt=jpeg

TUSHARE  金融与技术学习兴趣小组 

编译整理 | 一只小绿怪兽

译者简介:北京第二外国语学院国际商务专业研一在读,目前在学习Python编程和量化投资相关知识。

作者:Datacamp

Machine Learning 机器学习,是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。

它是人工智能的核心,是使计算机具有智能的根本途径,其应用遍及人工智能的各个领域,它主要使用归纳、综合而不是演绎。

上面的官方定义看起来很吓人,简单来说,机器学习的核心是,让机器通过算法从现有数据中学习,然后对新数据做出预测。

在利用机器学习模型进行预测之前,非常重要的一步是对要输入的数据进行预处理,也就是本文要介绍的内容,主要包括对数据进行标准化、创建最有代表性的特征、并选择适合模型的最佳特征。

【工具】Python 3

【数据】tushare.pro 、Datacamp

【注意】本文注重的是方法的讲解,请大家灵活掌握。

01

数据清洗

在做任何分析之前,第一步,都是要对数据进行清洗。关于常见的数据清洗方法,在文章《这些方法解决了数据清洗80%的工作量》中已经介绍过了,这里就简单回顾一下。

① 删除某列有缺失值的行。

print(volunteer.head())

   opportunity_id  content_id  vol_requests  event_time ... Census Tract  BIN BBL NTA
0            4996       37004            50           0 ...          NaN  NaN NaN NaN
1            5008       37036             2           0 ...          NaN  NaN NaN NaN
2            5016       37143            20           0 ...          NaN  NaN NaN NaN
3            5022       37237           500           0 ...          NaN  NaN NaN NaN
4            5055       37425            15           0 ...          NaN  NaN NaN NaN

[5 rows x 35 columns]


print(volunteer.shape)
(665, 35)

# 查看'category_desc'列有多少缺失值
print(volunteer['category_desc'].isnull().sum())
# 选中'category_desc'列不为空值的行
volunteer_subset = volunteer[volunteer['category_desc'].notnull()]
print(volunteer_subset.shape)

48
(617, 35)

② 用.astype()转换某列的数据类型。

print(volunteer.dtypes) 

opportunity_id          int64
content_id              int64
vol_requests            int64
event_time              int64
title                  object
hits                   object

# 查看hits列的前5行
print(volunteer["hits"].head())

0    737
1     22
2     62
3     14
4     31
Name: hits, dtype: int64

# 把hits列的数据类型转换成整数int 
volunteer["hits"] = volunteer["hits"].astype('int')

# 查看数据类型
print(volunteer.dtypes)

opportunity_id          int64
content_id              int64
vol_requests            int64
event_time              int64
title                  object
hits                    int64

③ 划分训练集和测试集。

我们将数据分成两个部分,训练集用于建立模型,而测试集则用于评估模型的预测能力,这么做的目的是防止模型的过拟合。

sklearn是机器学习中一个常用的Python第三方模块,我们可以直接调用这个模块中的train_test_split【1】函数对数据集进行划分。默认是将数据集大小的75%设置为训练集,25%设置为测试集,如下示例。

from sklearn.model_selection import train_test_split
import numpy as np

X, y = np.arange(8).reshape((4, 2)), range(4)
print(X)
print(list(y))

[[0 1]
 [2 3]
 [4 5]
 [6 7]]
[0, 1, 2, 3]

X_train, X_test, y_train, y_test = train_test_split(X, y)
print(X_train,  X_test, y_train, y_test)

[[4 5]
 [6 7]
 [2 3]] [[0 1]] [2, 3, 1] [0]

在大多情况下,使用train_test_split函数中的默认参数设置不会有什么问题,但如果数据集不是均匀分布的,则划分的训练集和测试集中的数据可能就不具有代表性,会使模型的预测效果出现误差。

这时,分层抽样是一个更好的选择,可以通过设置参数stratify来实现。

下面的示例中,列class里面有100个样本,80个class1和20个class2,我们希望通过分层抽样,得到这样的划分:

【训练集】75个样本,60个class1,15个class2

【测试集】25个样本,20个class1,5个class2

print(df['class'].value_counts())

class1    80
class2    20
Name: class, dtype: int64

X = df[['number']]
y = df[['class']]

# 设置参数stratify
X_train, X_test, y_train, y_test = train_test_split(X, y, stratify=y)
print(y_train['class'].value_counts())
print(y_test['class'].value_counts())

class1    60
class2    15
Name: class, dtype: int64
class1    20
class2     5
Name: class, dtype: int64

# 如果未设置stratify,效果如下
X_train, X_test, y_train, y_test = train_test_split(X, y)
print(y_train['class'].value_counts())
print(y_test['class'].value_counts())

class1    57
class2    18
Name: class, dtype: int64
class1    23
class2     2
Name: class, dtype: int64

02

数据标准化

当模型属于线性空间模型;数据集中的某个特征方差很大;数据集的特征是连续的且量纲不同;或者存在线性假定的时候,我们需要进行数据标准化处理。

本文主要介绍两种方法,一个是log函数标准化法,另一个是特征缩放法。

① log函数标准化法

如果发现数据集中某一列特征的方差很大,可以用log函数进行处理,在Python中log()函数默认是以e为底的对数函数。

从下面的示例中可以观察到,在没有用log()函数进行处理之前,col2列数据的方差很大,但经过log()函数处理之后,两列数据方差的差距明显缩小。

   col1   col2
0  1.00    3.0
1  1.20   45.5
2  0.75   28.0
3  1.60  100.0

print(df.var())
col1       0.128958
col2    1691.729167
dtype: float64

import numpy as np
df['log_2'] = np.log(df['col2'])
print(df)

   col1   col2     log_2
0  1.00    3.0  1.098612
1  1.20   45.5  3.817712
2  0.75   28.0  3.332205
3  1.60  100.0  4.605170

print(np.var(df[['col1', 'log_2']]))
col1     0.096719
log_2    1.697165
dtype: float64

② 特征缩放法

当特征的量纲不同、使用线性模型时,可以用特征缩放的方法进行标准化,目的是把数据转化成标准正态分布,可以通过调用sklearn中的StandardScaler类实现。

在如下示例中,可以观察到df中各列内部数据的差距不是很大,但是列与列之间的大小却有明显差距,需要进行标准化处理。

   col1  col2   col3
0  1.00  48.0  100.0
1  1.20  45.5  101.3
2  0.75  46.2  103.5
3  1.60  50.0  104.0

print(df.var())

col1    0.128958
col2    4.055833
col3    3.526667
dtype: float64


from sklearn.preprocessing import StandardScaler

ss = StandardScaler()
df_scaled = pd.DataFrame(ss.fit_transform(df), columns=df.columns)

print(df_scaled)

       col1      col2      col3
0 -0.442127  0.329683 -1.352726
1  0.200967 -1.103723 -0.553388
2 -1.245995 -0.702369  0.799338
3  1.487156  1.476409  1.106776

print(df.var())

col1    1.333333
col2    1.333333
col3    1.333333
dtype: float64

03 

特征工程

特征工程是根据原始特征创建新特征的过程,目的是让特征更准确地预测未知数据,这需要我们对数据集有很深入的理解和把握。

比如说,如果目标是想要评估一个班级整体的学习情况,那每个学生的考试成绩本身是没有太大参考价值的,而平均值是更好的一个选择。

不同的数据集和模型所采用的特征工程方法是不同的,本文只介绍其中的几个供大家参考。

情景一:分类变量型特征

分类变量一般是文本数据,需要先转化成数字,再输入到模型中,可以通过Pandas和sklearn两种方式实现。

① 调用sklearn中的LabelEncoder函数。

hiking[["Accessible"]].head()

  Accessible
0          Y
1          N
2          N
3          N
4          N

from sklearn.preprocessing import LabelEncoder

enc = LabelEncoder()
hiking["Accessible_enc"] = enc.fit_transform(hiking["Accessible"])

print(hiking[["Accessible_enc", "Accessible"]].head())

   Accessible_enc Accessible
0               1          Y
1               0          N
2               0          N
3               0          N
4               0          N

② 调用Pandas中的get_dummies()【2】函数。这里我们导入tushare.pro中的行业数据作为示例进行演示。

import tushare as ts

pro = ts.pro_api()

df = pro.stock_basic(exchange='', list_status='L', fields='ts_code, industry')
df = df.head()
print(df)

     ts_code industry
0  000001.SZ       银行
1  000002.SZ     全国地产
2  000004.SZ     生物制药
3  000005.SZ     环境保护
4  000006.SZ     区域地产

df_enc = pd.get_dummies(df['industry'])
df_enc.index = df['ts_code']
print(df_enc)

           全国地产  区域地产  环境保护  生物制药  银行
ts_code                              
000001.SZ     0     0     0     0   1
000002.SZ     1     0     0     0   0
000004.SZ     0     0     0     1   0
000005.SZ     0     0     1     0   0
000006.SZ     0     1     0     0   0

情景二:数字型特征

① 取平均值

print(running_times_5k)

      name  run1  run2  run3  run4  run5   
0      Sue  20.1  18.5  19.6  20.3  18.3  
1     Mark  16.5  17.1  16.9  17.6  17.3  
2     Sean  23.5  25.1  25.2  24.6  23.9 
3     Erin  21.7  21.1  20.9  22.1  22.2  
4    Jenny  25.8  27.1  26.1  26.7  26.9  
5  Russell  30.9  29.6  31.4  30.4  29.9  


run_columns = ["run1", "run2", "run3", "run4", "run5"]
running_times_5k["mean"] = running_times_5k.apply(lambda row: row[run_columns].mean(), axis=1)

print(running_times_5k)

      name  run1  run2  run3  run4  run5   mean
0      Sue  20.1  18.5  19.6  20.3  18.3  19.36
1     Mark  16.5  17.1  16.9  17.6  17.3  17.08
2     Sean  23.5  25.1  25.2  24.6  23.9  24.46
3     Erin  21.7  21.1  20.9  22.1  22.2  21.60
4    Jenny  25.8  27.1  26.1  26.7  26.9  26.52
5  Russell  30.9  29.6  31.4  30.4  29.9  30.44

② 提取日期中的月份

import tushare as ts

pro = ts.pro_api()

df = pro.daily(ts_code='000001.SZ', start_date='20180701', end_date='20180706')[['ts_code', 'trade_date', 'close']]
df.sort_values('trade_date', inplace=True)                              # 升序排列
df['trade_date'] = pd.to_datetime(df['trade_date'])                     # 将时间转化成日期类型
df["trade_date_month"] = df["trade_date"].apply(lambda row: row.month)  # 提取月份

print(df)

     ts_code trade_date  close  trade_date_month
4  000001.SZ 2018-07-02   8.61                 7
3  000001.SZ 2018-07-03   8.67                 7
2  000001.SZ 2018-07-04   8.61                 7
1  000001.SZ 2018-07-05   8.60                 7
0  000001.SZ 2018-07-06   8.66                 7

情景三:文本型特征

文本型数据相对会复杂一点,一般来说可以分成两步。第一步,先从文本中提取有效信息,可能是字符串的一部分,也可能是数字,第二步,把它们转化成特征。在下面的示例中,简单介绍了如何用正则表达式re提取文本中的数字。

import re

print(hiking[['Length']].head())

       Length
0   0.8 miles
1    1.0 mile
2  0.75 miles
3   0.5 miles
4   0.5 miles

# 定义函数:提取文本中的数字
def return_mileage(length):
    pattern = re.compile(r"\d+\.\d+")
    mile = re.match(pattern, length)

    if mile is not None:
        return float(mile.group(0))

# 将该函数应用到Length列中
hiking["Length_num"] = hiking["Length"].apply(lambda row: return_mileage(row))
print(hiking[["Length", "Length_num"]].head())

       Length  Length_num
0   0.8 miles        0.80
1    1.0 mile        1.00
2  0.75 miles        0.75
3   0.5 miles        0.50
4   0.5 miles        0.50

04 

特征选择

特征选择,是指从已有的特征库中,选出一些最有效特征以降低数据集维度的过程,从而最优化模型的预测效果,是提高学习算法性能的一个重要手段。

① 去除冗余特征。

比如,在线性回归模型中,由于假设特征之间是相互独立的,需要删除相关性强的特征。可以直接用.drop()函数删除。

print(df)

      A     B     C
0  3.06  3.92  1.04
1  2.76  3.40  1.05
2  3.24  3.17  1.03

print(df.corr())

          A         B         C
A  1.000000 -0.159921 -0.989743
B -0.159921  1.000000  0.299299
C -0.989743  0.299299  1.000000

# 创建列表:包含冗余数据列名
to_drop = ['C']

# 删掉这些列
df_subset = df.drop(to_drop, axis=1)

      A     B
0  3.06  3.92
1  2.76  3.40
2  3.24  3.17

② 主成分分析法降维。

Principal Component Analysis,即主成分分析PCA,是指把多指标合成为少数几个相互无关的综合指标的过程,其中每个主成分都能够反映原始变量的绝大部分信息,而且所含信息互不重复,可以起到降低维度的作用。

主成分分析法是一种数学变换的方法, 它把给定的一组相关变量通过线性变换转成另一组不相关的变量,这些新的变量按照方差依次递减的顺序排列。

同样,我们可以直接调用sklearn中的PCA类【3】。

print(X)

      A     B     C
0  3.06  3.92  1.04
1  2.76  3.40  1.05
2  3.24  3.17  1.03

from sklearn.decomposition import PCA

# 可以通过设置参数n_components降维,默认与原始数据的维度相同
pca = PCA()

transformed_X = pca.fit_transform(X)
print(transformed_X)

[[ 4.11310289e-01 -1.07865458e-01  7.28764779e-18]
 [-5.33422295e-02  2.72395027e-01  7.28764779e-18]
 [-3.57968060e-01 -1.64529570e-01  7.28764779e-18]]

# 查看不同特征的方差占比
print(pca.explained_variance_ratio_)

[7.26668849e-01 2.73331151e-01 3.85723283e-34]

05 

总结

本文主要介绍了在应用机器学习模型之前的准备工作——数据预处理,包括划分训练集和测试集、数据标准化、特征工程、特征选择这四个部分。

相关的官方文档和参考资料已附在下面,感兴趣的小伙伴可以自行查阅更多内容!

【参考链接】

https://scikit-learn.org/stable/modules/generated/sklearn.model_selection.train_test_split.html【1】

https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.get_dummies.html【2】

https://scikit-learn.org/stable/modules/generated/sklearn.decomposition.PCA.html【3】

https://www.datacamp.com/courses/preprocessing-for-machine-learning-in-python【Datacamp】


数据科学家必备技能Top10 全文共3683字,预计学习时长10分钟 来源:Pexels 数据科学领域的发展日新月异。只有掌握了数据科学的基础知识,才能够继续学习那些更加高深的概念,比如深度学习和人工智能。 而数据科学所涵盖的内容极为宽泛,其分支领域包括数据准备与探索、数据表示与转换、数据可视化与表达、预测分析以及机器学习等。听到这里,初学者自然会产生疑惑:哪些技能才是数据科学家的必备技能呢? ... 阅读详情

相关推荐

数据建模师必备的10个大数据技能

在当今数字化的时代,大数据无处不在。企业和组织每天都会产生大量的数据,如何从这些数据中提取有价值的信息成为了关键问题。数据建模师的主要任务就是构建有效的数据模型,以便更好地理解、管理和分析数据。本文将详细介绍数据建模师必备的10个大数据技能,涵盖了从数据处理到数据分析的各个方面,旨在为数据建模师提供全面的技能提升指导。本文将按照以下结构进行组织:首先介绍每个技能的基本概念和重要性,然后详细讲解该技能的核心原理和具体操作步骤,接着通过实际案例说明该技能在大数据建模中的应用,最后推荐相关的学习资源和工具。

大数据洞察的博客 903

【ML】线性回归 の 数据标准化

文章目录1 What:数据标准化 vs 中心化2 Why:为什么要数据标准化3 When:什么时候做/不做数据标准化Do 数据标准化 的情况Undo 数据标准化 的情况线性回归无需标准化 の 数学证明线性回归无需标准化 の 实验证明不采用标准化采用标准化对比 标准化与无标准化 の 预测值4 其他:线性回归的易错点 1 What:数据标准化 vs 中心化 标准化: 数据的标准化(normalization)是将数据按比例缩放,使之落入一个小的特定区间。在某些比较和评价的指标处理中经常会用到,去除数据的.

西瓜太郎 4392

【深度学习 算法】深度学习算法工程师必备技能:从理论到实践的全面指南

在人工智能飞速发展的今天,深度学习算法工程师成为了科技行业的热门职业。想要成为一名优秀的深度学习算法工程师,你需要掌握一系列的关键技能。以下是本文将为您介绍的必备技能,从理论到实践,助你一臂之力。

赖德发的博客 4070

【长时间序列预测】Autoformer 代码详解之[1]数据预处理及数据读取

Aotoformer 长时序列预测代码详解之数据预处理及数据读取

博观约取,厚积薄发 1万+

掌握大数据领域数据科学的必备技能

在大数据时代,数据科学已成为最具价值的跨学科技能之一。数据处理与清洗技术统计分析基础机器学习算法大数据处理框架数据可视化方法实际业务场景应用首先介绍数据科学的核心概念和基础理论然后深入探讨数据处理和分析的关键技术接着展示大数据环境下的分布式计算方法最后通过实际案例演示完整的数据科学工作流程数据科学(Data Science):从结构化或非结构化数据中提取知识和见解的跨学科领域,结合了统计学、计算机科学和领域专业知识。大数据(Big Data)

AGI×大数据,开启智能时代的认知跃迁;解码AGI,赋能数据驱动的智能革命。 707

第9讲 机器学习必备技能

机器学习是一个快速发展的领域,要在此领域取得成功,需要兼具技术能力与软技能。随着机器学习在各行业的应用不断扩展,选择成为机器学习专家将是明智的职业规划。请务必掌握所有能提升机器学习职业能力的相关技能。 以下是机器学习所需的关键技能: • 编程能力 • 统计学与数学 • 数据结构 • 数据预处理 • 数据可视化 • 机器学习算法 • 神经网络与深度学习 • 自然语言处理 • 解决问题能力

m0_72676510的博客 57

机器学习——数据的预处理(总结大全)

特征缩放 一、为什么要特征数据缩放? 有特征的取值范围变化大,影响到其他的特征取值范围较小的,那么,根据欧氏距离公式,整个距离将被取值范围较大的那个特征所主导。 为避免发生这种情况,一般对各个特征进行缩放,比如都缩放到[0,1],以便每个特征属性对距离有大致相同的贡献。 作用:确保这些特征都处在一个相近的范围。 优点:1、这能帮助梯度下降算法更快地收敛,2、提高模型精 直接求解的缺点: 1、当x1 特征对应权重会比x2 对应的权重小很多,降低模型可解释性 2、梯度......

君莫笑的博客 3万+

数据预处理与机器学习应用:如何将预处理的数据用于机器学习模型的构建和训练?

作者:禅与计算机程序设计艺术 1.简介 在机器学习领域,数据准备(data preprocessing)和特征工程(feature engineering)往往是前期工作占据了绝大多数时间,但却又对最终结果的影响如此之大。因此,掌握数据预处理的方法及其重要性成为了每个机器学习从业人员的必备技能。本文首先

AI天才研究院 1337

python中的函数:apply、map、reduce、lambda函数

它不需要像普通函数那样有一个明确的函数名(当然,你可以将lambda函数赋值给一个变量,然后通过这个变量来调用它,但本质上它不需要函数名来定义),适用适用于简单的、一次性的计算或操作;定义:利用字典或者函数去对特定数据做映射,它主要用于对Series对象的值进行操作,它将传入的函数或字典应用于Series中的每个元素上,并返回一个新的Series。定义:计算原理是将头两个元素传入函数计算,再把结果和第3个元素传入函数计算,再把结果和第4个元素计传入计算,依次类推计算,直到把最后一个计算完成,返回结果。

weixin_46185521的博客 1549

dreamerv3复现教程

由于dreamerv3存在很多版本冲突问题,所以很难直接使用和复现。

无人机飞啊飞啊飞 2835

Reactor 响应式编程(第一篇:Reactor核心)

响应式:响应式编程: 全异步、消息、事件回调默认还是用当前线程,生成整个流、发布流、流操作.log();//只要不指定线程池,默认发布者用的线程就是订阅者的线程;

moments的博客 1572

干货|机器学习必备技能之“数据预处理”

Machine Learning机器学习,是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。专门研究计算机怎样模拟或实现人类的学习行为...

cainiao_python的博客 588

毫米波雷达入门知识

毫米波雷达入门知识

ssbzxcvbnm1234567的博客 5444

机器学习必备技能:Pandas 从数据预处理到特征工程的全流程实战

在机器学习中,Pandas 不仅是 “数据处理工具”,更是连接 “原始数据” 与 “高质量模型” 的桥梁。从数据加载、清洗到特征工程,Pandas 以简洁的 API 降低了数据分析的门槛,让开发者能更专注于模型优化和业务逻辑。掌握 Pandas 不是终点,而是机器学习的起点 —— 当你能用 Pandas 快速解决数据问题时,才能更高效地验证业务想法、迭代模型效果。建议结合真实数据集多练手(如 Kaggle 上的 Titanic、House Price 数据集),逐步形成自己的 “数据处理方法论”!

dlraba的博客 1368

HBase学习二:RegionServer详解

RegionServer是HBase系统中最核心的组件,主要负责用户数据写入、读取等基础操作。RegionServer组件实际上是一个综合体系,包含多个各司其职的核心模块:HLog、MemStore、HFile以及BlockCache。一个RegionServer由一个(或多个)HLog、一个BlockCache以及多个Region组成。其中,HLog用来保证数据写入的可靠性;BlockCache可以将数据块缓存在内存中以提升数据读取性能;

qwerty1372431588的博客 747

海康机器人visionmaster5.0全局通信西门子S7操作

德国西门子(SIEMENS)公司生产的可编程序控制器在我国的应用也相当广泛,在冶金、化工、印刷生产线等领域都有应用。西门子(SIEMENS)公司的PLC产品包括S7-200、S7-1200、S7-300、S7-400、S7-1500等。西门子S7系列PLC体积小、速度快、标准化,具有网络通信能力,功能更强,可靠性高。S7系列PLC产品可分为微型PLC(如S7-200),小规模性能要求的PLC(如S7-300)和中、高性能要求的PLC(如S7-400)等。

weixin_65316120的博客 423

机器学习所需技能

摘要:机器学习作为快速发展领域,需要综合掌握编程(Python/R/Java)、统计学与数学(代数/概率/优化)、数据结构等核心技术,同时具备数据预处理、可视化及各类算法(神经网络/NLP等)的应用能力。此外还需培养问题解决、商业思维和沟通能力等软技能。这些技术与非技术能力的结合是构建有效机器学习模型、解决复杂业务问题的关键,也是机器学习从业者职业发展的必备素养。(150字)

路漫漫其修远兮,吾将上下而求索 1267

基于STM32的嵌入式平台实现EtherCAT主站

本文将介绍如何在基于STM32的嵌入式平台上构建EtherCAT主站,并提供相应的源代码。使用SOEM库提供的API函数,我们可以实现与EtherCAT从站设备的实时通信和数据交换。在STM32的代码中,使用SOEM库提供的API函数初始化EtherCAT主站。在SOEM库中,我们可以找到EtherCAT主站的实现代码和相关的API函数。使用SOEM库提供的API函数实现EtherCAT主站的功能,包括发送和接收EtherCAT数据帧、处理从站设备的状态等。确保连接正常并且设备能够相互通信。

CodeSageX的博客 2833

数据分析师必备技能

数据分析师需要全面掌握数据处理、分析、可视化和团队协作等关键技能,以适应数字化时代的挑战,并为企业提供有价值的决策支持。通过不断学习和实践,数据分析师可以不断提升自己的专业素养和综合能力,成为企业不可或缺的人才。同时,获得CDA认证也是提升职业竞争力的重要途径。CDA认证不仅证明了数据分析师的专业素养和能力,还为其提供了更多的职业机会和发展空间。因此,对于想要从事数据分析领域的人来说,掌握必备技能并获得CDA认证是迈向成功的重要一步。

CDA数据分析师 771

基于MATLAB Simulink的电动汽车整车控制仿真

在本文中,我们选择了power_ElectricVehicle示例模型,该模型已经包含了电动汽车的基本组成部分,包括电机、变速器、驱动轮、电池等。例如,使用PID控制器来控制电机的转速,使用ABS控制器来控制车轮的制动力,使用转向控制器来控制车辆的转向角度,使用悬挂控制器来控制车轮的姿态等。通过建立模型和实现控制器,我们可以比较直观地了解电动汽车的工作原理和性能特点,并验证设计的控制系统在不同工况下的效果。而在电动汽车的开发中,整车控制系统是至关重要的一个组成部分,直接影响着电动汽车的性能和性价比。

qq_39605374的博客 1800

linux平台Modbus TCP测试

【代码】linux平台Modbus TCP测试。

无线互联&网络介绍 818

数据预处理实战指南:6步构建机器学习基础

数据预处理是机器学习项目成功的关键第一步,它直接影响模型的准确性和可靠性。本文将通过GitHub加速计划中的100-Days-Of-ML-Code项目,为你详细介绍数据预处理的完整流程,帮助新手快速掌握这一必备技能。 ## 为什么数据预处理如此重要? 在机器学习项目中,原始数据往往存在缺失值、格式不一、特征范围差异大等问题。直接使用这些数据训练模型会导致预测结果偏差,甚至完全错误。数据预处理通

gitblog_01185的博客 866

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

机器学习中的数据预处理

以下文章摘录自: 《机器学习观止——核心原理与实践》 京东:https://item.jd.com/13166960.html 当当:http://product.dangdang.com/29218274.html (由于博客系统问题,部分公式、图片和格式有可能存在显示问题,请参阅原书了解详情) ———————————————— 版权声明:本文为优快云博主「林学森」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。 原文链接:https://blog.cs.

林学森的技术专栏 1765

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

大模型训练师必备技能

大模型训练是指在大规模数据集上训练复杂模型的过程,这是实现深度学习和机器学习效果的关键一环。大模型训练师是拥有深度学习和机器学习知识,并能够应用这些知识来解决实际问题的专业人士。他们需要具备一系列必备技能才能在复杂的训练任务中取得成功。

lebotestpro的博客 1537

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

Python 数据分析师必备的入门学习路线和技能

1我们离不开数据分析最近几年,做的这些项目,大多与数据分析与算法应用相关。岗位虽然是算法工程师,但是与数据分析打得交道也很多,双管齐下,最后才能确保算法的落地。在几年前,我还想当然地认...

区块链大本营 1514
上一篇: 隔壁的女神,老是对我笑?啥意思呢,我就用Python来分析一下
下一篇: Python 内存分配时的小秘密
菜鸟学Python
博客等级 码龄9年 8063粉丝 571原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值