你好,我是你们的老朋友,zhenguo!
在机器学习EDA阶段,变量分析及可视化是常做的事情,这篇文章总结变量分析中,最常使用的单变量,双变量分析以及可视化。

单变量分析

单变量分析是指分析单个变量对目标变量的影响。
例如,在预测房屋价格的模型中,单变量分析可以探究房屋面积对价格的影响。
单变量分析中,常用到boxplot图,用来显示一个变量的分布情况,并且常用于离散变量。
import matplotlib.pyplot as plt


# 准备数据
data = [0, 1, 1, 2, 2, 2, 3, 3, 3, 4, 4, 5]


# 绘制盒须图
plt.boxplot(data)

plt.show()

双变量分析

双变量分析则是分析两个变量之间的关系。或者,两个变量联合对目标值的影响。
例如,在同样的房屋价格预测模型中,双变量分析可以探究房屋面积和房龄对价格的影响。
常用的分析技巧包括:
  • 散点图: 用来显示两个变量之间的关系,常用于连续变量
  • 回归分析: 用来确定两个变量之间的关系强度以及预测目标变量
  • 分类分析: 用来确定哪些变量最能预测目标变量属于哪一类

散点图确定两个变量之间的关系

下面是一个示例,展示了如何使用 matplotlib 绘制散点图:
import matplotlib.pyplot as plt


# 准备数据
x = [1, 2, 3, 4, 5]

y = [2, 5, 7, 9, 11]


# 绘制散点图
plt.scatter(x, y)

plt.show()

这段代码将会绘制一个显示 x 和 y 之间关系的散点图。

回归和分类分析

回归分析和分类分析可以使用 scikit-learn 库来实现。下面是一个例子,展示了如何使用 scikit-learn 进行线性回归分析:
from sklearn.linear_model import LinearRegression


# 准备数据
X = [[1], [2], [3], [4], [5]]

y = [2, 5, 7, 9, 11]


# 建立模型
model = LinearRegression()


# 训练模型
model.fit(X, y)



# 预测结果
print
(model.predict([[6]]))

这段代码将会输出预测 x=6 时 y 的值。
下面是一个示例,展示了如何使用 scikit-learn 进行决策树分类分析
from sklearn.tree import DecisionTreeClassifier


# 准备数据
X = [[1, 2], [3, 4], [5, 6], [7, 8]]

y = [0, 0, 1, 1]


# 建立模型
model = DecisionTreeClassifier()


# 训练模型
model.fit(X, y)


# 预测结果
print
(model.predict([[2, 3]]))

这段代码将会输出预测 x=[2, 3] 时 y 的类别。
以上就是理解单变量分析、双变量分析以及常用的分析技巧。
一起💪🏻
继续阅读
阅读原文