python数据分析与数据挖掘库介绍

一、数据预处理
由于采集数据中常包含许多含有噪声、不完整、甚至不一致的数据,对数据挖掘所涉及的数据对象必须进行预处理。主要包括筛选数据、数据变量转换、缺失值处理、坏数据处理、数据标准化、主成分分析、属性选择、数据违约等。
二、常用的数据挖掘工具
1.SAS Enterprise Miner
2.IBM SPSS Moldelre
3.SQL Sever
4.Python
在这里主要选用python做主要的分析工具,python本身作为数据分析工具的能力并不强,需要安装一些第三方库扩展库来增强他的能力。用到的库主要有,Numpy、Scipy、Pandas、Matplotib、Scikit_Learn、Keras和Gensim等,下面对这些库做一个简单的介绍:
(1)Numpy:提供数组支持,以及相应的高效的处理函数
(2)Scipy:提供矩阵支持,以及矩阵相关的数值计算模块
(3)Pandas:强大灵活的数据分析和探索工具
(4)Matplotib:强大的数据可视化工具,做图库
(5)Scikit_Learn:支持回归、分类、聚类等强大的机器学习库
(6)Keras:深度学习库*(暂不介绍)
(7)Gensim:用作文本主题模型的库,文本挖掘可能会用到*(暂不介绍)
三、库的介绍
1.Numpy
python没有提供数组功能。虽然列表可以完成基本的数组功能,但他不是真正的数组,而且在数据量很大时,使用python列表功能就会慢的让人难以接受。为此,Numpy提供了真正的数组功能,以及对数组进行快速处理的函数。Numpy还有很多更高级的扩展库的依赖库。Numpy内置函数处理数据的速度是C语言级别的,因此在写程序的时候尽可能多的用他的内置函数,避免出现效率瓶颈的现象(尤其是涉及循环的问题)。
安装:

pip install numpy

Numpy的基本操作:

# coding=utf8
import pandas as pa
s=pd.series([1,2,3],index=['a','b','b'])#创建一个序列s
d=pd.DataFrame([1,2,3],[4,5,6],columns=['a','b','c'])#创建一个表
print(d.head())#预览前五行数据
print(d.describe())#数据基本统计量
pd.read_csv('ali.csv',encoding='utf8')

参考链接:
http://www.numpy.org/
http://reverland.org/python/2012/08/22/numpy/

2.Scipy
Numpy提供多维数组功能,但他只是一般的数组,并不是矩阵。例如,当两个数组相乘时,只对应元素元素相乘,而不是矩阵乘法。Scipy提供了真正的矩阵,以及大量基于矩阵运算的对象与函数。Scipy包含的功能有最优化、线性代数、积分、插值、拟合、特殊函数、快速傅里叶变换、信号处理和图像处理、常微分方程求解和其他科学与工程中常用的计算,显然,这些功能都是挖掘与建模必须的。
安装:

pip install Scipy

Scipy求解非线性方程组和数值积分:

#coding=utf8
求解的线性方程组为: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 integrata #导入积分函数

def g(x):#定义积分函数
  return (1 - x ** 2) ** 0.5
pi_2,err=integrata.quad(g,-1,1)
print(pi_2*2)
参考链接:
http://www.scipy.org/
http://reverland.org/python/2012/08/24/scipy/

3.Matplotlib
对于python来说,Matplotlib是最著名的绘图库,他主要用于二维绘图,当然,他也可以进行简单的三维绘图。他不但提供了一整套和Matlab相似但更为丰富的命令,让我们可以非常快捷的用python可视化数据。
安装:

pip install python-matplotlib

Matplotlib绘图的基本命令:

import numpy as np
import matplotlib.pyplot as plt
x=np.linspace(0,10,100)#作图的变量、自变量
y=np.sin(x)+1#应变量y
z=np.cos(x**2)+1#应变量z

plt.figure(figsize=(8,4))#设置图像大小
plt.plot(x,y,lable='$sin(x)+1$',color='red',linewidth=2)# 作图、设置标签、线条颜色、线条大小
plt.plot(x,z,'b--',lable='$cos(x**2)+1$',color='blue')# 作图、设置标签、线条类型
plt.xlable('Time(s)')
plt.ylable('volt')
plt.title('A Simple Example')
plt.ylim(0,2.2)
plt.legend()#显示图例
plt.show()

函数图像
给大家提供一个Matplotlib画廊:

http://matplotlib.org/gallery.html

4.Pandas
Pandas的功能非常强大,支持类似于SQL的增、删、查、改,并且带有非常丰富的数据处理函数;支持时间序列分析功能;支持灵活处理缺失数据等。
安装:

pip install pandas as pd
pip install xlrd 
pip insta xlwt #为python添加excel读/写的功能

Pandas的简单例子:

#coding=utf8
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'])  # 创建一个表
d2 = pd.DataFrame(s)

print(d.head())  # 预览前五行数据
print(d.describe())  # 数据基本统计量

pd.read_csv('athlete_events.csv',encoding = 'utf-8')

5.Scikit-Learn
Scikit-Learn是python下强大的机器学习工具包,他提供了完善的机器学习工具包,包括数据预处理、分类、回归、聚类、预测和模型分析等。
安装:

pip install Scikit-Learn

简单的机器学习模型:

#coding=utf8
from sklearn.linear_model import LinearRegression #导入线性回归模型
#一个很简单的机器学习模型
model=LinearRegression()
print(model)

简单的例子:

# coding=utf8
from sklearn.linear_model import LinearRegression  # 导入线性回归模型

# 一个很简单的机器学习模型
model = LinearRegression()  # 建立线性回归模型
print(model)

from sklearn import datasets #导入数据集
iris=datasets.load_iris()#加载数据集
print(iris.data.shape) #查看数据集大小
from sklearn import svm #导入svm模型
clf=svm.LinearSVC() #建立线性svm分类器
clf.fit(iris.data,iris.target) #用数据进行训练
clf.predict([[5.0,3.6,1.3,0.25]])#训练好模型后,输入新的数据进行预测
print(clf.coef_) #查看参数

(1)所有模型提供的接口有:
model.fit() :训练模型,对于监督模型来说是fit(X,y),对于非监督模型是fit(X)
(2)监督模型提供的接口有:
model.predict(X_new): 预测新样本
model.predict_proba(X_new) :预测概率,仅对某些模型有用,比如LR
model.score(): 得分越高,fit越好
(3)非监督模型提供的接口有:
model.transform(): 从数据中学到新的“基空间”
model.fit_transform(): 从数据中学到新的基并将这个数据按照这组“基”进行转换

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Python数据分析与挖掘实战资源非常丰富。以下是一些主要的资源: 1. 书籍:市面上有很多优秀的Python数据分析与挖掘的书籍,其中一本非常受欢迎的是《Python数据分析实战》,它从数据获取、数据清洗、特征工程到模型建立都有详细的介绍和实战案例。此外,还有《Python数据挖掘入门与实践》、《利用Python进行数据分析》等。 2. 在线教程:网上有很多提供Python数据分析与挖掘的在线教程,例如Coursera上的"Python for Data Science"课程,Udemy上的"Data Analysis with Python and Pandas"课程等。这些教程都提供了视频教学和实践项目,便于学习和实践。 3. 视频教程:有许多优质的Python数据分析与挖掘的视频教程,其中一些是由知名的数据分析师和专家录制的。例如,DataCamp网站提供了很多与Python数据分析相关的视频课程,如"Python Data Science Toolbox"等。 4. 开源项目和代码:GitHub等开源平台上有很多开源的Python数据分析与挖掘项目和代码。例如,Pandas、NumPy等数据科学相关的Python都是开源的,可以方便地用于数据处理和分析。此外,还有像scikit-learn、TensorFlow等机器学习也可以用于数据挖掘和模型建立。 5. 数据竞赛平台:一些数据竞赛平台,如Kaggle和天池等,提供了许多真实的数据分析和挖掘竞赛项目,可以通过参与这些竞赛来学习和实践Python数据分析与挖掘的技能。 总之,对于学习Python数据分析与挖掘,可以通过阅读相关书籍、参加在线教程、观看视频教程、使用开源项目和代码以及参与数据竞赛平台等方式来获取实战资源。不断学习和实践是掌握这些技能的关键。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值