通过python的常用三方库,我们能够快速的处理数据并呈现出视觉效果。
机器学习一般是:定义数据 > 数据预处理 > 建模训练 > 模型评估 > 预测结果
NumPy
作为数据基础。NumPy可以用来存储和处理大型数据,是数据分析的基础。
常用的方法:
np.array([1,2,3]) # 创建一维数组
np.asarray([1,2,3])
np.array([1,2,3], [4,5,6]) # 创建多维数组
np.zeros((3, 2)) # 3行2列 全0矩阵
np.ones((3, 2)) #全1矩阵
np.full((3, 2), 5) # 3行2列全部填充5
SKLearn
sklearn是python知名的机器学习库。他又大量的方法,内置公开数据集,目前是最佳的机器学习的练习工具。包含了监督学习、非监督学习、数据变换三大模块
监督学习
sklearn.neighbors #近邻算法
sklearn.svm #支持向量机
sklearn.kernel_ridge #核-岭回归
sklearn.discriminant_analysis #判别分析
sklearn.linear_model #广义线性模型
sklearn.ensemble #集成学习
sklearn.tree #决策树
sklearn.naive_bayes #朴素贝叶斯
sklearn.cross_decomposition #交叉分解
sklearn.gaussian_process #高斯过程
sklearn.neural_network #神经网络
sklearn.calibration #概率校准
sklearn.isotonic #保守回归
sklearn.feature_selection #特征选择
sklearn.multiclass #多类多标签算法
无监督学习
sklearn.decomposition #矩阵因子分解
sklearn.cluster # 聚类
sklearn.manifold # 流形学习
sklearn.mixture # 高斯混合模型
sklearn.neural_network # 无监督神经网络
sklearn.covariance # 协方差估计
数据变换
sklearn.feature_extraction # 特征提取
sklearn.feature_selection # 特征选择
sklearn.preprocessing # 预处理
sklearn.random_projection # 随机投影
sklearn.kernel_approximation # 核逼近
数据集
此外,sklearn还有统一的API接口,我们通常可以通过使用完全相同的接口来实现不同的机器学习算法
一般实现流程:
step1. 数据加载和预处理
step2. 定义分类器, 比如: lr_model = LogisticRegression()
step3. 使用训练集训练模型 : lr_model.fit(X,Y)
step4. 使用训练好的模型进行预测: y_pred = lr_model.predict(X_test)
step5. 对模型进行性能评估:lr_model.score(X_test, y_test)
常见命令
# 作用:将数据集划分为 训练集和测试集
# 格式:train_test_split(*arrays, **options)
from sklearn.mode_selection import train_test_split
X, y = np.arange(10).reshape((5, 2)), range(5)
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.33, random_state=42)
"""
参数
---
arrays:样本数组,包含特征向量和标签
test_size:
float-获得多大比重的测试样本 (默认:0.25)
int - 获得多少个测试样本
train_size: 同test_size
random_state:
int - 随机种子(种子固定,实验可复现)
shuffle - 是否在分割之前对数据进行洗牌(默认True)
返回
---
分割后的列表,长度=2*len(arrays),
(train-test split)
"""
本文源于:https://www.cnblogs.com/lianyingteng/p/7749609.html
内容经过个人理解进行修改。