数据分析与挖掘基础

简介

什么是数据分析和挖掘?

所谓数据分析,即对已知的数据进行分析,然后提取出一些有价值的信息,比如统计出平均数、标准差等信息,数据分析的数据量有时可能不会太大,而数据挖掘,是指对大量的数据进行分析与挖掘,得到一些未知的、有价值的信息等,比如从网站的用户或用户行为数据中挖掘出用户的潜在需求信息,从而对网站进行改善等。

数据挖掘需要数据分析为基础

数据分析与数据挖掘能做什么事?

数据挖掘技术可以帮助我们更好地发现事物之间的规律。所以,我们可以利用数据挖掘技术实现数据规律的探索,比如发现窃电用户、发掘用户潜在需求、实现信息的个性化推送、发现疾病与症状甚至疾病与药物之间的规律……等。

数据挖掘的过程?

  1. 定义目标 (分析什么数据,解决什么问题)
  2. 获取数据(爬虫、下载统计网站的数据)
  3. 数据探索
  4. 数据预处理(数据清洗【去掉脏数据】、数据集成【集中】、数据变换【规范 化】、数据规约【精简、合并】)
  5. 挖掘建模(分类、聚类、关联、预测)
  6. 模型评价与发布

相关模块

相关模块简介

  1. numpy 可以高效处理数据、提供数组支持、很多模块都依赖他,比如pandas、 scipy、matplotlib都依赖他,所以这个模块是基础。
  2. pandas 我们课程后续用得最多的一个模块,主要用于进行数据探索和数据分析。
  3. matplotlib 作图模块,解决可视化问题。
  4. scipy 主要进行数值计算,同时支持矩阵运算,并提供了很多高等数据处理功能, 比如积分、傅里叶变换、微分方程求解等。
  5. statsmodels 这个模块主要用于统计分析
  6. Gensim 这个模块主要用于文本挖掘
  7. sklearn、keras 前者机器学习,后者深度学习

numpymklscipy模块建议下载安装

相关模块基本使用

numpy
1
2
3
4
5
6
7
8
9
10
11
import numpy

x = numpy.array(["a","9","2"])

y = numpy.array([[1,2,3,4],
[5,6,7,8],
[9,0,1,2,3],
[4,5,6,67]])

print(y)
print(y[1][2])
pandas
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
import pandas as pda

'''
Series #index索引
DataFrame
'''
a = pda.Series([8,9,2,1])
print(a)

# index
a = pda.Series([8,9,2,1],index=["one","two","three","four"])
print(a)

b = pda.DataFrame([[5,4,3,2],[6,4,3,4],[3,4,6,4]])
print(b)

b = pda.DataFrame([[5,4,3,2],[6,4,3,4],[3,4,6,4]],columns = ["one","two","three","four"])
print(b)

c = pda.DataFrame({
"one":4,
"two":[6,5,3],
"three":list(str(982))
})
print(c)

# 头部尾部数据,默认前五行
d = c.head(2) # 前两行
e = c.tail(1) # 后一行
print(d)
print(e)

# 统计信息,总计、平均数、标准差、最小、分位数、最大
print(b.describe())

# 转置
print(c.T)

Python数据导入

导入excel
1
2
3
4
5
6
7
8
9
10
11
import pandas as pda

i = pda.read_csv("/Users/biandudu/Documents/webcrawerfiles/hexun.csv")

print(i.describe())
# 按照某一列排序
print(i.sort_values(by="hits"))

j = pda.read_excel("/Users/biandudu/Documents/webcrawerfiles/abc.xls")

print(j)
导入mysql
1
2
3
4
5
6
7
8
9
import pandas as pda
import pymysql

conn = pymysql.connect(host="127.0.0.1",user="root",passwd="123456",db="data_analysis")

sql = "select * from company"

k = pda.read_sql(sql,conn)
print(k.describe())
导入html

使用pandas,可以直接从html网页中加载对应table表格中的数据,但是在使用read_html()之前,需要先安装html5lib模块与beautifulsoup4模块。

pda.read_html()

导入文本

pda.read_table()

0%