机器学习记录(一)

学习目标:

  • 一周掌握基本知识

学习内容:

  1. 数据读取
    Pandas库可以读取csv、tsv、txt、excel、mysql的文件
    例如csv文件读取
    引号后,若直接填写文件名需要将文件放在当前文件夹下
    在不同文件夹下则需要使用绝对路径或者相对路径
df = pd.read_csv("order_train0.csv")
  1. df.info() df.describe()
    info()函数用于打印DataFrame的简要摘要,显示有关DataFrame的信息,包括索引的数据类型dtype和列的数据类型dtype,非空值的数量和内存使用情况。
    在这里插入图片描述

describe()函数用于生成描述性统计信息。
描述性统计数据:数值类型的包括均值,标准差,最大值,最小值,分位数等;类别的包括个数,类别的数目,最高数量的类别及出现次数等;输出将根据提供的内容而有所不同。
在这里插入图片描述

  1. 如何进行异常处理
    Boxplot:
    箱图是一中用于统计数据分布的统计图,也可以粗略地看出数据是否具有对称性,分布的分散程度等信息参考链接
    在这里插入图片描述
  2. 使用3sigma原则对离群值进行处理

3sigma原理可以简单描述为:
若数据服从正态分布,则异常值被定义为一组结果值中与平均值的偏差超过三倍标准差的值。即在正态分布的假设下,距离平均值三倍 \sigma(标准差)之外的值出现的概率很小(如下式),因此可认为是异常值。

在这里插入图片描述

若数据不服从正态分布,也可以用远离平均值的多少倍标准差来描述(这就使该原理可以适用于不同的业务场景,只是需要根据经验来确定 k sigma中的k值,这个k值就可以认为是阈值)。

#-*- coding: utf-8 -*-
#基于3sigma的异常值检测
​
def tupleSigma(path):
    #path --> data path
    n = 3
    data = pd.read_excel(path, index_col = False) #读取数据
    data_y = data[u'销量']
    data_x = data[u'日期']
​
    ymean = np.mean(data_y)
    ystd = np.std(data_y)
    threshold1 = ymean - n * ystd
    threshold2 = ymean + n * ystd
​
    outlier = [] #将异常值保存
    outlier_x = []for i in range(0, len(data_y)):
        if (data_y[i] < threshold1)|(data_y[i] > threshold2):
            outlier.append(data_y[i])
            outlier_x.append(data_x[i])
        else:
            continue
​
    print('\n异常数据如下:\n')
    print(outlier)
    print(outlier_x)
​
    plt.plot(data_x, data_y)
    plt.plot(outlier_x, outlier, 'ro')
    for j in range(len(outlier)):
        plt.annotate(outlier[j], xy=(outlier_x[j], outlier[j]), xytext=(outlier_x[j],outlier[j]))
    plt.show()

5.时间格式处理

pd.to_datetime()
df["date"].apply(pd.to_datetime,format='%Y-%m-%d')

例如
在这里插入图片描述


学习时间:

  • 周日上午 9 点-上午 11 点

学习产出:

  • CSDN 博客1篇
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值