我正在Play Golf使用决策树分类器测试数据集:
我将数据拆分为 Outlook、Temp、Humidity 和 windy 作为特征和Play Golf目标特征。
import numpy as np
import matplotlib.pyplot as plt
import pandas as pd
# Importing the dataset
dataset = pd.read_excel('data.xlsx')
X = dataset.iloc[:, 0:4]
y = dataset.iloc[:, 4]
要测试DecisionTreeClassifier我需要将分类数据转换为数字:
from sklearn.preprocessing import LabelEncoder
lb = LabelEncoder()
X['Outlook'] = lb.fit_transform(X['Outlook'])
X['Temp'] = lb.fit_transform(X['Temp'])
X['Humidity'] = lb.fit_transform(X['Humidity'])
X['Windy'] = lb.fit_transform(X['Windy'])
y = lb.fit_transform(y)
结果是:
ix Otk T H W
0 1 1 0 0
1 1 1 0 1
2 0 1 0 0
3 2 2 0 0
4 2 0 1 0
5 2 0 1 1
6 0 0 1 1
7 1 2 0 0
8 1 0 1 0
9 2 2 1 0
10 1 2 1 1
11 0 2 0 1
12 0 1 1 0
13 2 2 0 1
之后我应该使用OneHotEncoder()课程吗?或者2这样做不是很大吗?
