机器学习之决策树

读取数据

import pandas as pd
df = pd.read_csv('白名单.csv')
查看数据维度
df.shape
统计Y轴(数据集好坏样本比例)
df['overdue'].value_counts()
Y轴柱形图
df['overdue'].value_counts()

数据集划分

Y = df.overdue.values  #Y
X = df.drop(['overdue','order_id'],axis=1).values #X
#训练集和测试集比例为9:1
n_train = int(len(df)*0.9) 
#训练集
X_train = X[:n_train]
Y_train = Y[:n_train]
#测试集
X_test = X[n_train:]
Y_test = Y[n_train:]

onehot编码

from sklearn.preprocessing import OneHotEncoder

#默认如果出现缺失值就会报错
#handle_unknown='ignore'就不会报错
enc = OneHotEncoder(handle_unknown='ignore')

X_train_enc = enc.fit_transform(X_train)
X_train_enc

X_test_enc = enc.transform(X_test)

训练模型

from sklearn.tree import DecisionTreeClassifier#决策树DecisionTreeClassifier
from sklearn.metrics import roc_auc_score
#数据集比较小默认即可,
dtree = DecisionTreeClassifier()
#数据比较大
dtree = DecisionTreeClassifier(min_samples_splt=30)

dtree.fit(X_train_enc,Y_train)
preds = dtree.predict_proba(X_test_enc)[:,1]
roc_auc_score(Y_test,preds)#模型效果

测试模型

import numpy as np
click_index=np.random.choice(len(guess),int(len(guess)*871/935),replace=False)
guess[click_index] = 1
roc_auc_score(Y_test,guess)
决策树是常用的机器学习算法之一,通过对数据的分类和特征值计算来完成对未知数据的预测。本文将介绍使用Python实现决策树算法的相关步骤。 首先,需要导入决策树算法工具包,使用以下代码: ```python from sklearn import tree ``` 然后,导入训练数据和测试数据,并进行预处理。为了方便起见,在本文中采用生成随机数的方式来生成样本数据,使用以下代码: ```python from sklearn.datasets import make_classification X, y = make_classification(n_samples=100, n_features=4, n_classes=2, n_informative=2, n_redundant=0, random_state=0, shuffle=False) ``` 接下来,使用生成的样本数据进行模型训练。这里使用scikit-learn中的DecisionTreeClassifier()函数。 ```python clf = tree.DecisionTreeClassifier() clf = clf.fit(X, y) ``` 训练后,调用predict()方法进行对测试数据的预测,使用以下代码: ```python y_pred = clf.predict(X) ``` 最后,评估模型的准确率,使用以下代码: ```python from sklearn.metrics import accuracy_score print(accuracy_score(y, y_pred)) ``` 这就是使用Python实现决策树算法的基本过程。决策树可以根据数据中的不同特征进行分类,是一个简单且常用的分类算法。决策树算法也可用于回归问题,例如预测一个数的大小。与其他机器学习算法相比,决策树具有易于理解和可解释的优点,同时还可以处理非线性的分类问题。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值