一.概述
1.数据挖掘:
就是从数据中”淘金“,从大量数据(包含文本)中挖掘出隐含的、未知的、对决策有潜在价值的关系、模式和趋势,并用这些知识和规则建立用于决策支持的模型,提供预测性支持决策的方法、工具和过程就是数据挖掘。利用各种分析工具在大量数据中寻找规律和发现模型与数据之间的关系的过程,是统计学、数据库技术和人工智能的综合。
2.数据挖掘的基本任务
数据挖掘的基本任务包括利用分类和预测、聚类分析、关联规则、时序模式、偏差检测、智能推荐等方法,帮助企业提取数据中蕴含的商业价值,提高企业的竞争力。
3.数据挖掘建模的过程
(1).定义挖掘目标
(2).数据取样
(3).数据探索
(4).数据预处理
(5).挖掘建模
(6).模型评价
该篇文章比较细:https://blog.csdn.net/u012325865/article/details/80481261
二.常用的python第三方库
1.NumPy:提供多维数组,但是并不支持矩阵【具体可以看这篇:numpy】
import numpy as np
a = np.array([2,0,1,5])#创建一维数组
print(a)
print(a[:3])#切片 前三个元素
print(a.min())
a1 = a.sort()#从小到大,直接修改a
print(a)
b = np.array([[1,2,3],[6,7,8]])
print(b*b)
《《《《《结果集:
[2 0 1 5]
[2 0 1]
0
[0 1 2 5]
[[ 1 4 9]
[36 49 64]]
2.SciPy:依赖于NumPy,功能有:最优化,线性代数,积分,插值,拟合,特殊函数,快速傅里叶变化,信号处理,图像处理,常微分方程求解,和其它科学与工程中常用的计算。
#求救非线性方程组 2X1-x2^2=1,x1^2-x2=2
from scipy.optimize import fsolve#导入求解方程组的函数
def f(x):
x1 = x[0]
x2 = x[1]
return [2*x1 - x2**2 -1,x1**2 -x2 -2]
result = fsolve(f,[1,1])#输入初始值[1,1]并求解
print(result)
#数值积分
from scipy import integrate #导入积分函数
def g(x): #定义被积函数
return (1-x**2)**0.5
pi_2,err = integrate.quad(g,-1,1)#积分结果和误差
print(pi_2 * 2) #有微积分知到积分结果为圆周率pi的一半
3.Matplotlib:正常显示中文标签 plt.rcParams['font.sans-serif'] = ['SimHei']
,“SimHei”代表黑体,也可以写别的字体。正常显示负号 plt.rcParams["axes.unicode_minus"] = False
import matplotlib.pyplot as plt
import numpy
plt.rcParams['font.sans-serif'] = ['SimHei'] #正常显示中文标签
plt.rcParams['axes.unicode_minus'] = False #正常显示-号
x = np.linspace(0,10,1000)#作图的变量自变量
y = np.sin(x) + 1
x = np.cos(x ** 2) + 1
plt.figure(figsize = (8,4))
plt.plot(x,y,label = '$\sin x+1$', 'color = 'red', linewidth = 2)#作图设置标签 线条颜色 线条大小
plt.plot(x, z , 'b--', label = '$\cos x^2+1$')#作图 设置标签 线条类型
plt.xlabel('Time(s)') #x,y轴名称
plt.ylabel('volt')
plt.title('A Simple Example') #标题
plt.ylim(0,2.2) #显示y轴范围
plt.legend()#显示图列
plt.show() #显示图片
4.pandas:主用,有丰富的数据处理函数。
import numpy as np
import pandas as pd
s = pd.Series([1,2,3],index=['a','b','c']) #创建一个序列s
d = pd.DataFrame([[1,2,3],[4,5,6]], columns = ['a','b','c']) #创建一个二维表d
d2 = pd.DataFrame(s) #用已有序列来创建数据框
d.head()#前5条数据
d.tail()#后五条数据
d.describe()#统计学描述
#读取excel文件和csv文件文件 存储路径最好不要带中文 不然可能会报错
pd.read_excel('data.xls')
pd.read_csv('data.csv',encoding="utf-8")
5.StatsModels:注重数据的统计建模。
from statmodels.tsa.stattools import adfuller as ADF#导入ADF检验
import numpy as np
ADF(np.random.rand(100)) #返回结果有ADF值,p值等
6.scikit-learn:与机器学习相关的库。数据预处理,分类,回归,聚类,预测,模型分析。
7.Keras:人工神经网络库,一般在Linux下使用。环境搭建自行百度,有条件。
8.Gensim:处理语言方面的任务。文本相似度计算,LDA,Word2Vec等。与人工神经网络库一样,Linux上较好,自行百度。