当前位置:   article > 正文

机器学习(一)_机器学习中的特征值和目标值

机器学习中的特征值和目标值

一、数据结构的组成:

数据结构大部分为:特征值+目标值,但是也有些数据没有目标值。在机器学习中常常使用pandas来进行数据的处理以及基本格式的调节。

(一)、特征值:

一般情况下,能反映出目标所存在的特征的数值为特征值。例如:我们要判断一个人的性别,则特征值为身高、体重、长发短发等。这些特征有些可以反映出一些目标值的主要特点,但是有些特征值则不是很明显,例如长发短发等。所以我们在进行预测时往往需要对特征值进行一下筛选。

(二)、目标值:

目标值是我们所要判断或预测的一些属性,例如上文所提及的性别等。

二、特征工程:

特征工程是一个将原始数据处理成能够反映出模型潜在问题的特征。通过特征工程可以提高模型的预测效果。对于数据处理,我们常常使用scikit-learn来对特征进行处理。一个模型的好坏,往往取决于特征的处理,说以在机器学习中,这一步是极为重要的。

(二)、sklearn的API

在sklearn中,我们可以用sklearn.feature_extraction这一api进行特征的抽取

(1)、字典的特征抽取:

from sklearn.feature_extraction import DictVectorizer

def main():
     """
    字典的特征抽取
    :return: 
    """""
    # 实例化
    dict = DictVectorizer(sparse=False)

    # 需要抽取的字典数据
    message = [{"name": "小明", "weight": 100},
               {"name": "张三", "weight": 60},
               {"name": "李四", "weight": 70}]

    # 调用fit_transform
    data = dict.fit_transform(message)
    print(dict.get_feature_names())
    print(data)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19

以上为字典特征抽取的主要代码
输出的结果为:

['name=小明', 'name=张三', 'name=李四', 'weight']
[[  1.   0.   0. 100.]
[  0.   1.   0.  60.]
[  0.   0.   1.  70.]]
  • 1
  • 2
  • 3
  • 4

对以上的结果做出解释:
数组中的第一行[ 1. 0. 0. 100.]为’name=小明’,‘weight’=100的特征数值的解释,如果name是张三,则用1进行表示,否则为零,但是对于像体重这样的数值形式,则不做转变。第二行是张三的解释以此类推。这种数组的形式为one-hot编码。这形式有利于机器学习的进行。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/笔触狂放9/article/detail/72917
推荐阅读
相关标签
  

闽ICP备14008679号