知识网站有哪些,百度seo推广,银川网站建设公司名单,理解网络营销型网站的建设前置知识
pandas
读取文件#xff1a;read_csv查看信息 describe#xff1a;查看整体信息#xff0c;包括每列的平均值、最大最小值、标准差等head#xff1a;输出头部几行数据columns#xff1a;输出所有列名loc#xff1a;查询数据#xff0c;或是根据索引取对应的数…前置知识
pandas
读取文件read_csv查看信息 describe查看整体信息包括每列的平均值、最大最小值、标准差等head输出头部几行数据columns输出所有列名loc查询数据或是根据索引取对应的数据dropna去掉所有为空NA的数据
Machine Learning
大体上来说机器学习就是给定一部分数据让机器去“学习”这部分有什么特征每个特征上有什么规律以此形成一个模型model然后用这个model去预测新的数据的结果
scikit-learn
简单高效的python包可用于可预测的数据分析官网在这里可以自行查阅相关模型的原理或是API 下面以决策树模型的使用过程来大致展示一下机器学习的整体过程
决策树DecisionTree
非常简单易懂的监督模型可理解为给定一系列相关特征比如n个每个特征的结果只有两个不确定是不是只能有两个整个决策树就像是二叉树预测时根据每个特征的是或否的回答选择路径一次决策就像是二叉树从根节点到某个叶子节点的一条路径 可用于classification(DecisionTreeClassifier)或是regression(DecisionTreeRegressor)
训练模型的整体流程以回归模型为例
准备数据用pandas读取数据并挑选出所需要的特征列和想预测的目标列 数据分离train_test_split注意不要把所有数据都拿来用于训练要从中选出一部分数据用于验证训练出来的模型是否可信 import pandas as pd
from sklearn.model_selection import train_test_split
src_data pd.read_csv(...)
features [column_1, ...]
X src_data[features] # 特征列
y src_data.target_column # 目标列
train_X, val_X, train_y, val_y train_test_split(X, y, random_state 0)初始化模型直接导入后创建即可 可指定随机数种子random_state相同的值能保证每次运行脚本时得到相同的结果 from sklearn.tree import DecisionTreeRegressor
...
dt_model DecisionTreeRegressor(random_stateN)数据拟合fit用训练数据去训练模型预测结果predict用检验数据进行预测predicted_data model.predict(val_X) # val_X: validation data评估结果检验预测的结果与实际结果之间的差距可以有不同的方法在此仅介绍一种MAE
评估结果mean_absolute_errorMAE
计算方式为依次计算预测结果与实际结果的差值的绝对值最后求和后除以结果数量 即与实际结果间的平均差值 On average, our predictions are off by about X. 代码也很简单导入后调用即可
from sklearn.metrics import mean_absolute_errormean_absolute_error(y, predicted_data) // y: validation datas actual result两个问题
过拟合 overfitting与训练数据贴合得过于完美可能会学到一些实际数据中并不存在的特性导致预测结果与实际数据相差较大就像是下图竖线的右边部分训练数据上的评估结果很好但实际表现不好欠拟合 underfitting与训练数据贴合得不够可能是特征学习得不足导致不能很好地判定实际数据的特征所以预测结果与实际数据相差也很大就像下图竖线的左边部分在两个数据集上的表现都不好寻找最佳点可通过梯度测试等方式不断调试参数找到能让在实际数据上的表现最好的参数 决策树的改进
控制树高创建模型的时候可以通过max_leaf_node指定叶子个数限制或是max_depth指定最大深度。那么经过测试不同叶子限制或是树高的情况下MAE的值选取使其到达最低点的参数进行创建模型就能达到最佳效果使用更复杂的模型比如随机森林RandomForestRegressorfrom sklearn.ensemble import RandomForestRegressor