选择一种机器学习算法,训练模型,对数据集进行分类(有毒的和可食用的两类)
时间: 2024-02-19 19:02:41 浏览: 18
好的,我选择使用决策树算法来训练模型,并对数据集进行分类。以下是一个简单的 Python 代码示例:
```python
import pandas as pd
from sklearn.tree import DecisionTreeClassifier
from sklearn.model_selection import train_test_split
from sklearn.metrics import accuracy_score
# 读取数据集
data = pd.read_csv('mushrooms.csv')
# 将特征字段和分类字段分离
features = data.drop('class', axis=1)
target = data['class']
# 将特征字段进行独热编码
features = pd.get_dummies(features)
# 将数据集分为训练集和测试集
X_train, X_test, y_train, y_test = train_test_split(features, target, test_size=0.2, random_state=42)
# 创建决策树分类器
clf = DecisionTreeClassifier(random_state=42)
# 训练模型
clf.fit(X_train, y_train)
# 在测试集上进行预测
y_pred = clf.predict(X_test)
# 计算准确率
accuracy = accuracy_score(y_test, y_pred)
print("准确率:", accuracy)
```
这里假设数据集存储在名为 `mushrooms.csv` 的文件中,其中包含了一些蘑菇样本的特征字段和分类字段。首先,我们使用 `drop` 函数将分类字段单独存储到 `target` 变量中,将特征字段存储到 `features` 变量中。然后,我们使用 `get_dummies` 函数对特征字段进行独热编码,将分类字段(有毒和可食用)转换为二元变量。接着,我们使用 `train_test_split` 函数将数据集分为训练集和测试集。然后,我们创建一个决策树分类器,并使用训练集对其进行训练。最后,我们在测试集上进行预测,并计算准确率。