kmeans聚类算法_基于K-means聚类的用户用电行为分析

02a0ea6abd4fb3cce986ed0604349fa4.png

大数据时代,通过简单的仪表监测家庭、工厂等地的实时用电量后,可以通过聚类算法对用户用电特征进行聚类,这有利于:

1.将用电行为类似的用户进行聚合,以便用电公司提供更合理的套餐服务;

2.根据不同类型的用户行为,收取不同的税费;

3.根据不同类型的用户行为,调整电网的输电效率,提高电能利用率。

本次分析采用K-means聚类方法,数据源自Pecan Street Energy Database的数据库文件dataport_sqlite

具体分析流程如下

1.导入数据

导入必要的模块

%matplotlib inline

import os
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
from matplotlib import pylab
import seaborn as sns
import sqlite3

从数据库文件中读取数据

cwd = os.getcwd()  #获得当前的文件路径
conn = sqlite3.connect(str(cwd) + "/dataport_sqlite") 
cursor = conn.cursor()  #构建指针
query = "SELECT * FROM new_table;"
cursor.execute(query)    #执行读取数据命令
data = cursor.fetchall() #抓取数据

用pandas将数据转换成DataFrame格式

loads_df = pd.DataFrame(data, columns=['id','date','energy_use'])
loads_df.head()

28d89cc4e59cea08b09ee25f0f91dcac.png

数据中,id代表不同的用户;date代表时间,每15min采集一次;energy_use代表测量的电量,以kW表示。

通过简单的查询命令可以获得数据集的规模:

print("当前数据集含有%s行,%s列"%(loads_df.shape[0],loads_df.shape[1]))

当前数据集含有646981行,3列

print(" 最早时间: %s n 最晚时间: %s"%(loads_df.date.min(),loads_df.date.max()))

最早时间: 2015-07-01 00:00:00
最晚时间: 2015-08-01 00:00:00

(正好是一个月的用电记录)

loads_df['id'].v
  • 8
    点赞
  • 79
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值