import pandas as pd from sklearn.model_selection import train_test_split # 导入数据并添加列名 columns = ['buying', 'maint', 'doors', 'persons', 'lug_boot', 'safety', 'Class_Values'] car_data = pd.read_csv('car.data', header=None, names=columns) # 将 Class Values 转换为数字 class_map = {'unacc': 0, 'acc': 1, 'good': 2, 'vgood': 3} car_data['Class_Values'] = car_data['Class_Values'].map(class_map) # 划分训练集和测试集 train_data, test_data = train_test_split(car_data, test_size=0.2, random_state=42) from sklearn.tree import DecisionTreeClassifier from sklearn.metrics import accuracy_score, precision_score, recall_score, f1_score # 定义特征变量和目标变量 feature_cols = ['buying', 'maint', 'doors', 'persons', 'lug_boot', 'safety'] target_col = 'Class_Values' # 建立决策树模型 dt = DecisionTreeClassifier(max_depth=5) dt.fit(train_data[feature_cols], train_data[target_col]) # 对测试数据进行预测 y_pred = dt.predict(test_data[feature_cols]) # 计算评估指标 accuracy = accuracy_score(test_data[target_col], y_pred) precision = precision_score(test_data[target_col], y_pred, average='macro') recall = recall_score(test_data[target_col], y_pred, average='macro') f1 = f1_score(test_data[target_col], y_pred, average='macro') print('Accuracy:', accuracy) print('Precision:', precision) print('Recall:', recall) print('F1 Score:', f1)
时间: 2023-07-14 12:11:54 浏览: 93
pd_split_train_test.rar_pandas_pandas对数据分类_pd.split_split_数据分类
这是一个使用决策树模型进行分类的示例代码。首先,导入 Pandas 和 Scikit-learn 库,读取 CSV 文件并添加列名。然后将类别标签转换为数字,以便于建立模型。接下来,将数据集划分为训练集和测试集,并定义特征变量和目标变量。使用 Scikit-learn 中的 DecisionTreeClassifier 类建立决策树模型,并使用训练集进行拟合。对测试数据进行预测,并计算评估指标,包括准确率、精确率、召回率、F1 分数。最后打印出这些指标的值。
阅读全文