使用训练集、测试集、验证集预测用户购买意向的代码
时间: 2023-08-07 22:03:18 浏览: 76
下面是使用Python的Scikit-learn库实现使用训练集、测试集、验证集预测用户购买意向的代码:
```python
# 导入所需的库
from sklearn.tree import DecisionTreeClassifier
from sklearn.model_selection import train_test_split
from sklearn.metrics import accuracy_score
import pandas as pd
# 读取数据并进行预处理
data = pd.read_csv('data.csv')
data.drop(['id'], axis=1, inplace=True)
data['gender'] = data['gender'].apply(lambda x: 1 if x == 'Male' else 0)
data['purchase'] = data['purchase'].apply(lambda x: 1 if x == 'Yes' else 0)
# 划分数据集
X = data.drop(['purchase'], axis=1)
y = data['purchase']
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)
X_train, X_val, y_train, y_val = train_test_split(X_train, y_train, test_size=0.25, random_state=42)
# 训练模型
clf = DecisionTreeClassifier(random_state=42)
clf.fit(X_train, y_train)
# 验证模型
y_val_pred = clf.predict(X_val)
val_accuracy = accuracy_score(y_val, y_val_pred)
print('验证集准确率:', val_accuracy)
# 测试模型
y_test_pred = clf.predict(X_test)
test_accuracy = accuracy_score(y_test, y_test_pred)
print('测试集准确率:', test_accuracy)
```
在上面的代码中,我们首先读取了一个包含客户数据的CSV文件,并进行了一些预处理操作。然后使用`train_test_split`函数将数据集划分为训练集、验证集和测试集。接着使用`DecisionTreeClassifier`类来构建决策树模型,并使用训练集对模型进行训练。然后,使用验证集对模型进行验证,并计算准确率作为模型的性能指标。最后,使用测试集对模型进行测试,并计算准确率作为模型的最终性能指标。
阅读全文