好的,让我们开始吧。
首先,我们需要对数据进行预处理。
import pandas as pd
from sklearn import preprocessing #for data preprocessing
df = ... #it's var for your table
我们需要将性别设为二进制(0 - 男性,1 - 女性)
new_gender_columns = pd.get_dummies(df['Gender'])
然后将 new_gender_columns 添加到您的 DataFrame 中
df = df.join(new_gender_columns)
我们需要删除旧的对象性别列
df.drop('Gender', axis=1, inplace=True)
但我们需要对已婚列进行相同的处理。例如,我们可以为所有对象列定义函数或为 Married 编写以前的代码。
def df_dummies(df, columns: list):
for col in columns:
new_dummies_columns = pd.get_dummies(df[col])
df = df.join(new_dummies_columns)
df.drop(col, axis=1, inplace = True)
return df
现在,列出对象列:
obj_cols = ['Gender', 'Married']
运行函数:
df = df_dummies(df, obj_cols)
然后我们有可以由标签编码器处理的列。例如年龄:
0-18 = 标签 0
19-30 = 标签 1
等等
让我们列出这些列:
labels_cols = ['Age', 'Leisure', 'Online Shopping']
le = preprocessing.LabelEncoder()
for col in labels_cols:
le.fit(df[col])
df[col] = le.transform(df[col])
现在,机器学习。让我们导入随机森林分类器。因为我们需要预测类别(“是”或“否”,1 或 0)。
from sklearn.ensemble import RandomForestClassifier
rfc = RandomForestClassifier()
rfc.fit(df.iloc[:, :-1], df.iloc[:, -1])
好的,模型很好,你可以测试它了。一路平安,年轻的学徒。