通过python的常用三方库,我们能够快速的处理数据并呈现出视觉效果。
机器学习一般是:定义数据 > 数据预处理 > 建模训练 > 模型评估 > 预测结果

NumPy

作为数据基础。NumPy可以用来存储和处理大型数据,是数据分析的基础。
常用的方法:

  1. np.array([1,2,3]) # 创建一维数组
  2. np.asarray([1,2,3])
  3. np.array([1,2,3], [4,5,6]) # 创建多维数组
  4. np.zeros((3, 2)) # 3行2列 全0矩阵
  5. np.ones((3, 2)) #全1矩阵
  6. np.full((3, 2), 5) # 3行2列全部填充5

SKLearn

sklearn是python知名的机器学习库。他又大量的方法,内置公开数据集,目前是最佳的机器学习的练习工具。包含了监督学习、非监督学习、数据变换三大模块

监督学习

  1. sklearn.neighbors #近邻算法
  2. sklearn.svm #支持向量机
  3. sklearn.kernel_ridge #核-岭回归
  4. sklearn.discriminant_analysis #判别分析
  5. sklearn.linear_model #广义线性模型
  6. sklearn.ensemble #集成学习
  7. sklearn.tree #决策树
  8. sklearn.naive_bayes #朴素贝叶斯
  9. sklearn.cross_decomposition #交叉分解
  10. sklearn.gaussian_process #高斯过程
  11. sklearn.neural_network #神经网络
  12. sklearn.calibration #概率校准
  13. sklearn.isotonic #保守回归
  14. sklearn.feature_selection #特征选择
  15. sklearn.multiclass #多类多标签算法

无监督学习

  1. sklearn.decomposition #矩阵因子分解
  2. sklearn.cluster # 聚类
  3. sklearn.manifold # 流形学习
  4. sklearn.mixture # 高斯混合模型
  5. sklearn.neural_network # 无监督神经网络
  6. sklearn.covariance # 协方差估计

数据变换

  1. sklearn.feature_extraction # 特征提取
  2. sklearn.feature_selection # 特征选择
  3. sklearn.preprocessing # 预处理
  4. sklearn.random_projection # 随机投影
  5. sklearn.kernel_approximation # 核逼近

数据集

image.png

此外,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)

常见命令

  1. # 作用:将数据集划分为 训练集和测试集
  2. # 格式:train_test_split(*arrays, **options)
  3. from sklearn.mode_selection import train_test_split
  4. X, y = np.arange(10).reshape((5, 2)), range(5)
  5. X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.33, random_state=42)
  6. """
  7. 参数
  8. ---
  9. arrays:样本数组,包含特征向量和标签
  10. test_size:
  11.   float-获得多大比重的测试样本 (默认:0.25)
  12.   int - 获得多少个测试样本
  13. train_size: 同test_size
  14. random_state:
  15.   int - 随机种子(种子固定,实验可复现)
  16.   
  17. shuffle - 是否在分割之前对数据进行洗牌(默认True)
  18. 返回
  19. ---
  20. 分割后的列表,长度=2*len(arrays),
  21.   (train-test split)
  22. """

本文源于:https://www.cnblogs.com/lianyingteng/p/7749609.html
内容经过个人理解进行修改。