技术栈和工具分析
对于python技术栈的我们来说,走数据分析与数据挖掘是一条不错的路。
虽然也可以走前后端,但是目前的市场份额,Java和PHP仍然是主流,对于大厂而言,正在从Java到Golang过渡,所以python做前后端是有点尴尬的。
数据分析与数据挖掘常见的技术栈除了python之外,还有R、SQL、Hadoop、Spark、Hive、SPSS、SAS、Weka、Scikit-learn、TensorFlow、Keras等。
其中拉姆目前所接触的只有python、r、spss、Scikit-learn、TensorFlow、Keras
比较熟悉的只有python的一些库,Pandas、NumPy就不用说了,Scikit-learn、TensorFlow、Keras则是在机器学习和深度学习里的一点东西(其实也是python的库),大学里开设了相关的专业课与实验课。
R语言则是最近学习了解的。
SPSS、SAS、Weka是经典的数据挖掘和统计分析工具,使用起来并不是说很困难,可以尝试进行学习。
其实除了上面的之外,还有spsspro、FineBI等,都是要比那种纯粹的工具更好用的。
数据分析与数据挖掘的联系
数据分析主要是指使用统计学、数学和计算机科学的方法来处理和分析数据,以提取有用的信息和洞察,帮助做出决策。
数据分析可以包括描述性分析(如计算平均值、中位数、标准差等)、诊断性分析(分析数据变化的原因)、预测性分析(使用历史数据预测未来趋势)和规范性分析(基于预测结果提出行动建议)。
数据分析通常侧重于已知模式的识别和验证,以及对数据的解释和报告。
数据挖掘则是一种更深层次的数据分析方法,它侧重于从大量数据中发现未知的、潜在有用的模式和关系。
数据挖掘通常涉及复杂的算法和技术,如聚类分析、关联规则学习、分类、回归和异常检测等。
数据挖掘的目的是发现数据中的隐藏模式,这些模式可能对业务决策、市场分析、风险管理等领域有重要价值。
两者都需要对数据进行预处理,比如清理缺失值、检查异常值、去除噪声什么的。
食用指南1
1.因为版本等各种因故,导致一些代码在运行的时候会有各种各样的警告,我们可以使用下面的代码进行忽略警告:
1 | import warnings |
2.绘图的时候因为字体因故加载不出来中文字体,可以用下面代码:
1 | import matplotlib.pyplot as plt |
3.读取数据:
1 | import pandas as pd #数据导入 |
4.数据探索:
1 | print(data.head()) # 查看数据前几行 |
5.数据处理的时候难免会遇到缺失值,这个时候我们可以进行之间删除,或者用均值进行填充:
1 | # 处理缺失值 |
6.在数据分析之中,绘图matplotlib是最为常见的一个库,可以绘画各种图像进行数据可视化帮助我们理解:
1 | import matplotlib.pyplot as plt |
7.我们在处理一些数据的时候需要进行标准化,为什么呢,因为可以帮助不同的特征具有相似的尺度,提高模型的收敛速度,使特征更符合标准的正态分布,提高模型的准确性和可解释性:
1 | from sklearn.preprocessing import StandardScaler |
8.进行特征选择在数据挖掘和机器学习中是非常必要的,它有助于去除无关或冗余的特征,提升模型性能,并减少计算成本,而且过多的特征可能导致维度灾难,增加模型复杂度,引发过拟合,并增加时间成本:
1 | from sklearn.feature_selection import SelectKBest |
9.建模更不用说了,是数据挖掘之中必不可少的组成部分:
1 | from sklearn.linear_model import LinearRegression |
10.建模之后,还需要对模型进行评估,这样可以帮助我们优化模型参数,提高模型性能,选择最佳模型等:
1 | from sklearn.metrics import mean_squared_error |
11.聚类分析是一种无监督学习方法,通过聚类,我们可以发现数据中相似的群组或簇,更好地理解数据之间的关系,还可以检测出异常值、噪声、离群点等:
1 | from sklearn.cluster import KMeans |
12.分类任务常见的有随机森林、决策树、逻辑回归、朴素贝叶斯、支持向量机等,我们来简单介绍一下最常见的SVM,SVM适用于线性和非线性分类问题,还可以高效处理高维数据集,在多类别分类时具有独特的优势:
1 | from sklearn.svm import SVC |
这篇博文先写这些,后面有机会再拓展聊一下,下次见~