使用 Python 决策树进行性别分类

我们将构建一颗决策树,根据一些属性,区分男人和女人。主要的属性包括身高 (height)、头发长度 (hair length)、音调 (voice pitch) 等。

示例数据:

特征数据 (X):

X = [ [180, 15, 0],    
      [177, 42, 0], 
      [136, 35, 1], 
      [174, 65, 0], 
      [141, 28, 1] ]

输出结果 (Y):

Y = ['man', 'woman', 'woman', 'man', 'woman']

预测新数据:

输入:

[133, 37, 1]

输出:

['woman']

输入:

[152, 42, 0]

输出:

['man']

代码示例:

# 导入必要的库
from sklearn.tree import DecisionTreeClassifier
from sklearn.model_selection import train_test_split

# 数据准备
X = [ [180, 15, 0],    
      [177, 42, 0], 
      [136, 35, 1], 
      [174, 65, 0], 
      [141, 28, 1] ]
Y = ['man', 'woman', 'woman', 'man', 'woman']

# 划分训练集和测试集
X_train, X_test, y_train, y_test = train_test_split(X, Y, test_size=0.2, random_state=42)

# 创建决策树模型
model = DecisionTreeClassifier()

# 训练模型
model.fit(X_train, y_train)

# 预测新数据
new_data1 = [[133, 37, 1]]
new_data2 = [[152, 42, 0]]
prediction1 = model.predict(new_data1)[0]
prediction2 = model.predict(new_data2)[0]

# 打印预测结果
print(f'预测结果 (输入: [133, 37, 1]): {prediction1}')
print(f'预测结果 (输入: [152, 42, 0]): {prediction2}')

解释:

  • 首先,我们导入 sklearn.tree 模块中的 DecisionTreeClassifier 类,用于构建决策树模型。
  • 接着,我们使用 train_test_split 函数将数据划分为训练集和测试集,以评估模型的性能。
  • 然后,我们实例化 DecisionTreeClassifier 对象并使用训练集进行训练。
  • 最后,我们使用训练好的模型预测新数据,并打印预测结果。

注意:

  • 决策树模型的性能取决于数据的质量和特征的选择。
  • 在实际应用中,可能需要对数据进行预处理,例如特征缩放和缺失值处理。
  • 为了提高模型的泛化能力,可以尝试使用交叉验证技术。

总结

本文介绍了使用 Python 决策树进行性别分类的基本步骤。通过示例数据和代码,展示了如何构建、训练和预测决策树模型。希望本文能为读者提供一些参考,并激发大家对决策树模型的兴趣。

更多学习资源:

Python 决策树:性别分类实战

原文地址: https://www.cveoy.top/t/topic/ohWx 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录