zoukankan      html  css  js  c++  java
  • Python数据挖掘—特征工程—数据处理

    概念:

    特征工程:本质上是一项工程活动,他目的是最大限度地从原始数据中提取特征以供算法和模型使用

    特征工程的重要性:特征越好,灵活性越强、模型越简单、性能越出色。

     

    特征工程包括:数据处理、特征选择、维度压缩

     

    量纲不一:

    就是单位,特征的单位不一致,不能放在一起比较

    通过:0-1标准化、Z标准化、Normalizer归一化

    数据处理-归一化:

     1 import pandas
     2 
     3 data=pandas.read_csv(
     4             "C:\Users\Jw\Desktop\python_work\Python数据挖掘实战课程课件\6.1\data1.csv")
     5 
     6 #Min-Max标准化
     7 from sklearn.preprocessing import MinMaxScaler
     8 
     9 scaler=MinMaxScaler()
    10 
    11 data["标准化累计票房"]=scaler.fit_transform(data[["累计票房"]])
    12 data["标准化豆瓣得分"]=scaler.fit_transform(data[["豆瓣评分"]])
    13 
    14 #Z-Score标准化
    15 from sklearn.preprocessing import scale
    16 
    17 data["标准化累计票房"]=scale(data["累计票房"])
    18 data["标准化豆瓣评分"]=scale(data["豆瓣评分"])
    19 
    20 
    21 #Normalizer归一化
    22 from sklearn.preprocessing import Normalizer
    23 
    24 scaler = Normalizer()
    25 
    26 data['归一化累计票房'] = scaler.fit_transform(
    27     data['累计票房']
    28 )[0]
    29 data['归一化豆瓣评分'] = scaler.fit_transform(       
    30     data['豆瓣评分']
    31 )[0]
    View Code

    数据处理-虚拟变量:

    虚拟变量也叫哑变量和离散特征编码,可用来表示分类变量、非数量因素可能产生的影响

    使用get_dummies获取虚拟变量

    如果新数据分类较少,要获取前面的category类,可以用categories=data["列名"].cat.categories来得到之前的分类,与之前的列一一对应

     1 import pandas
     2 
     3 data=pandas.read_csv(
     4         "C:\Users\Jw\Desktop\python_work\Python数据挖掘实战课程课件\6.1\data2.csv")
     5 
     6 data["症状"]=data["症状"].astype("category")
     7 
     8 dummiesData = pandas.get_dummies(
     9     data, 
    10     columns=['症状'],
    11     prefix=['症状'],
    12     prefix_sep="_"
    13 )
    14 
    15 
    16 newData=pandas.read_csv(
    17         "C:\Users\Jw\Desktop\python_work\Python数据挖掘实战课程课件\6.1\data2New.csv")
    18 
    19 
    20 newData["症状"]=newData["症状"].astype(
    21     "category",
    22     categories=data["症状"].cat.categories)
    23 
    24 dummiesNewData=pandas.get_dummies(
    25     newData,
    26     columns=["症状"],
    27     prefix=["症状"],
    28     prefix_sep="_")
    View Code

     数据处理—缺失值

    缺失值产生原因:有些信息暂时无法获取、有些信息被遗漏或者错误的处理了

    缺失值处理方法:数据补齐、删除缺失行、不处理

    导入Imputer类,该类有三个备选项:mean、median、most_frequent

     1 import pandas
     2 
     3 data=pandas.read_csv("C:\Users\Jw\Desktop\python_work\Python数据挖掘实战课程课件\6.1\data3.csv")
     4 
     5 from sklearn.preprocessing import Imputer
     6 
     7 #mean,median,most_frequent
     8 
     9 imputer=Imputer(strategy="mean")
    10 
    11 data["累计票房"]=imputer.fit_transform(data[["累计票房"]])
    View Code
  • 相关阅读:
    设计模式--22、状态模式
    设计模式--21、备忘录模式
    设计模式--20、迭代器模式
    关于分布式事务、两阶段提交协议、三阶提交协议
    分布式系统的一致性探讨
    分布式系统的BASE理论
    分布式系统的CAP理论
    Kafka集群环境搭建
    Elasticsearch插件head的安装(有坑)
    centos6 x64安装elasticsearch5.5.2启动报错
  • 原文地址:https://www.cnblogs.com/U940634/p/9748200.html
Copyright © 2011-2022 走看看