zoukankan      html  css  js  c++  java
  • python进行数据挖掘中的常见问题及经验

    在数据分析程序中需要引入的包及设置

    用python进行数据分析的时候,需要在文件开头导入一下包

    import numpy as np # linear algebra 引入线性代数包numpy
    import pandas as pd # data processing, CSV file I/O (e.g. pd.read_csv)
    
    #%matplotlib inline
    import matplotlib.pyplot as plt  # Matlab-style plotting 画图工具包
    import seaborn as sns # 画图美化工具包
    color = sns.color_palette()
    sns.set_style('darkgrid')
    
    import warnings
    def ignore_warn(*args, **kwargs):
        pass
    warnings.warn = ignore_warn #ignore annoying warning (from sklearn and seaborn)
    
    from scipy import stats
    from scipy.stats import norm, skew #for some statistics
    
    pd.set_option('display.float_format', lambda x: '{:.3f}'.format(x)) #Limiting floats output to 3 decimal points 设置在pd中只显示3位小数
    

    画数据分布图

    使用seaborn包进行画图,其中数据分布图为distplot,fit参数表示需要拟合的分布类型,norm表示拟合正态分布,正态分布的参数可以由norm.fit来获得

    sns.distplot(data_train['SalePrice'],fit=norm)
    (mu, sigma) = norm.fit(data_train['SalePrice'])
    plt.legend(['norm distribution with $mu$={:.2f},$sigma$={:.2f}'.format(mu,sigma)])
    

    将分类描述变量转换为数值类型

    有两种方式可以进行转换:

    1. pd.get_dummies(train):直接传入一个DataFrame,就可以得到改变之后的结果

    2. from sklean.preprocessing import LabelEncoder
      for label in train.index:
      	encoder = LabelEncoder()
          train[label] = labencoder.fit_transform(train[encoder])
      

    矩阵相乘

    对应元素相乘:np.multiply(A,B)或者是直接用*

    矩阵乘法:np.dot(A,B)

    参数axis

    • axis=0时表示按照行来求值,比如在max函数中,原始数据是一个(40000 imes785)的矩阵,那么data.max(axis=0)得到一个(1 imes785)行向量结果,按行就是在行的维度上求最大值
    • axis=1时,同理可以得到结果是(785 imes1)列向量数据,按列求值就是在列的维度上进行求值
  • 相关阅读:
    C#使用枚举方法来实现读取用户电脑中安装的软件
    C#实现窗体阴影效果
    [转]SQLserver字符串分割函数
    [转]WinForm实现win7 Aero磨砂效果介绍
    C#通过鼠标点击panel移动来控制无边框窗体移动
    [转]Table交替行变色 鼠标经过变色 单击变色
    《面向对象程序设计》 三 Calculator 计算器初步
    PAT 1001A+B Format
    大一下学期的自我目标
    《面向对象程序设计》第二次作业
  • 原文地址:https://www.cnblogs.com/drawon/p/8520708.html
Copyright © 2011-2022 走看看