使用Python进行逻辑回归和决策树分类分析
在今天的数字化世界中,数据分析和机器学习模型在解决复杂问题方面扮演着至关重要的角色。在本文中,我们将通过一个实际的案例来学习如何使用Python中的`pandas`和`sklearn`库来分析衣服尺码数据,并使用逻辑回归和决策树分类模型来预测衣服的尺码。
数据准备
首先,我们需要读取和准备我们的数据集。我们将使用`pandas`库来读取一个包含衣服尺码数据的CSV文件。这个数据集包含了身高、体重和对应的衣服尺码。
下面是代码展示
import pandas as pd
from sklearn.linear_model import LogisticRegression # 逻辑回归模型的类
读取数据集
下面是代码展示
df = pd.read_csv(r'../dataset/衣服尺码数据.csv', encoding='gbk')
图片展示:
接下来,我们将检查数据集中是否存在缺失值,并对缺失值进行处理。数据清洗是机器学习项目中非常重要的一步,因为缺失值可能会影响模型的性能。
检查缺失值
下面是代码展示
# 缺失值
df.isnull().sum()
查看缺失值
下面是代码展示
df[df.isnull()]
删除缺失值
下面是代码展示
df2 = df.dropna().reset_index(drop=True)
df2.isnull().sum()
图片展示:
数据可视化
为了更好地理解数据,我们使用`matplotlib`库来绘制身高和体重的关系图。通过可视化,我们可以观察到不同尺码的衣服在身高和体重上的分布情况
下面是代码展示:
import matplotlib.pyplot as plt
plt.figure(figsize=(12, 8))
plt.scatter(
df2['height'],
df2['weight'],
c=df2['size'].map({'XL': 'r', 'L': 'b', 'M': 'g', 'S': 'y'})
)
plt.show()
图片展示:
模型训练和评估
接下来,我们使用`sklearn`库中的`LogisticRegression`和`DecisionTreeClassifier`类来训练模型,并评估模型的性能。首先,我们需要分离特征和目标变量,然后拆分训练集和测试集。
下面是代码展示:
from sklearn.model_selection import train_test_split
from sklearn.linear_model import LogisticRegression
from sklearn.tree import DecisionTreeClassifier
图片展示:
分离特征和目标变量
下面是代码展示:
x = df2[['weight', 'height']]
y = df2['size']
拆分训练集和测试集
下面是代码展示:
x_train, x_test, y_train, y_test = train_test_split(x, y, test_size=0.3)
创建逻辑回归模型并训练
下面是代码展示:
model = LogisticRegression()
model.fit(x_train, y_train)
创建决策树分类器并训练
下面是代码展示:
model2 = DecisionTreeClassifier()
model2.fit(x_train, y_train)
print('决策树模型评估分数:', model2.score(x_test, y_test))
```
图片展示:
模型预测
最后,我们使用训练好的模型来预测新的数据点。这将帮助我们了解模型在实际应用中的表现
下面是代码展示:
# 使用决策树模型进行预测
new_data = [[60, 170], [70, 180], [80, 190]]
predictions = model2.predict(new_data)
print('预测结果:', predictions)
图片展示:
数据挖掘任务 | 描述 | 常用python库 |
---|---|---|
数据预处理 | 包括数据清洗、数据转换、数据归一化等,为后续分析准备数据 | pandas,NumPy,scikit-learn |
探索性数据分析 | 通过可视化和统计测试来理解数据的分布、关系和趋势 | matplotlib,seaborn,pandas |
模式识别 | 使用算法识别数据中的模式或趋势,如分类和一场检查 | scikit-learn,TensorFlow,Keras |
预测建模 | 构建模型来预测未来或未知数据点的结果 | scikit-learn,Xgboost,LightGBM |
聚类 | 基于数据相似性将数据点分组,用于发现数据内在结构 | scikit-learn,KMeans,DBSCAN |
关联规则学习 | 发现数据中的频繁项集和关联规则,用于市场篮子分析等 | mlxtend,apyori |
在本文中,我们介绍了如何使用Python进行逻辑回归和决策树分类分析。我们首先读取并处理了数据集,然后使用`matplotlib`库进行了数据可视化。接着,我们使用`sklearn`库中的`LogisticRegression`和`DecisionTreeClassifier`类来训练模型,并评估了模型的性能。最后,我们使用训练好的模型来预测新的数据点。
希望这篇文章能够帮助您更好地理解如何使用Python进行机器学习分析。如果您有任何问题或建议,请随时在评论区留言。