决策树预测泰坦尼克号案例

# 导入pandas读取数据
import pandas as pd
# 导入字典类特征抽取的类
from sklearn.feature_extraction import DictVectorizer
# 导入分割数据集的类
from sklearn.model_selection import train_test_split
# 导入决策树的类
from sklearn.tree import DecisionTreeClassifier
# 导入保存模型的包
import joblib


def tree():
    """
        决策树预测泰坦尼克号案例
    :return: 
    """

    # 1.获取数据集
    taitan = pd.read_csv("https://biostat.app.vumc.org/wiki/pub/Main/DataSets/titanic.txt")
    # print(taitan)

    # 2.确定特征值与目标值
    x = taitan[["pclass", "age", "sex"]]
    y = taitan["survived"]
    """ 
    特征值:
      pclass      age             sex
      1st         29.0000         female
      1st         2.0000          female
      1st         30.0000         male
      1st         25.0000         female
      1st         0.9167          male
    [[1st, 29, female,], [1st. 2. female]]
    """
    print(x)

    # 3.实例化一个转换器对象
    dic = DictVectorizer(sparse=False)
    x["age"].fillna(x["age"].mean(), inplace=True)
    x = dic.fit_transform((x.to_dict(orient="records")))

    # 4.分割数据集
    x_train, x_test, y_train, y_test = train_test_split(x, y, test_size=0.3)

    # 5.训练数据
    Dtree = DecisionTreeClassifier(max_depth=5)

    # 6.拟合数据进行训练
    Dtree.fit(x_train, y_train)

    # 7.计算模型准确率
    score = Dtree.score(x_test, y_test)

    if score > 0.8:

        joblib.dump(Dtree, "./Dtree.pkl")
        print("保存成功")

    else:

        print("模型不合格")

    print("score : ", score)
    return None

# tree()

def predict():

    # 1.加载模型
    tree = joblib.load("./Dtree.pkl")

    # 2.预测结果
    data = [[18, 1, 0, 0, 0, 1]]

    y_predict = tree.predict(data)

    print(y_predict)

predict()
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小徐的记事本

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值