使用 Python 编写一个机器学习模型例如决策树或随机森林用于进行特征选择?

使用 Python 编写一个机器学习模型例如决策树或随机森林用于进行特征选择?

import pandas as pd
import numpy as np
from sklearn.ensemble import DecisionTreeClassifier
from sklearn.ensemble import RandomForestClassifier

# Load the dataset
data = pd.read_csv('features_selection_data.csv')

# Select features
features = data.iloc[:, 1:]

# Split the data into training and testing sets
X_train, X_test, y_train, y_test = train_test_split(features, data['target'], test_size=0.2, random_state=42)

# Create decision tree and random forest models
model_tree = DecisionTreeClassifier()
model_rf = RandomForestClassifier()

# Train the models
model_tree.fit(X_train, y_train)
model_rf.fit(X_train, y_train)

# Evaluate the models on the test set
score_tree = model_tree.score(X_test, y_test)
score_rf = model_rf.score(X_test, y_test)

# Print the scores
print('Decision Tree Score:', score_tree)
print('Random Forest Score:', score_rf)

数据准备

假设您有一个名为 features_selection_data.csv 的 CSV 文件,其中包含一个特征和一个目标变量的数值数据。

代码解释

  1. 导入库:我们导入必要的库,包括 pandas 和 numpy。
  2. 加载数据:我们使用 pandas 读取 features_selection_data.csv 数据。
  3. 特征选择:我们从数据中选择第二列(目标变量)的特征。
  4. 数据分割:我们使用 train_test_split 函数将数据分割为训练 (80%) 和测试 (20%) 集成。
  5. 创建模型:我们创建两种决策树和随机森林模型。
  6. 训练模型:我们训练模型使用训练数据。
  7. 评估模型:我们使用测试数据评估模型的性能,并打印平均精度。
  8. 打印结果:我们打印决策树和随机森林模型的平均精度。

注意

  • train_test_split 中的 test_size 参数控制测试集的大小。
  • model_treemodel_rf 是训练模型的实例。
  • score_treescore_rf 是模型在测试集上的平均精度。
相似内容
更多>