• 大小: 845KB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2021-07-14
  • 语言: 其他
  • 标签: 机器学习  决策树  

资源简介

有一些泰坦尼克的数据集,里面的数据的特征包括了姓名、票的类别、存活、乘坐班、年龄、登录、目的地、房间、票、船和性别。我们用决策树来分析该问题

资源截图

代码片段和文件信息

import pandas as pd
from sklearn.model_selection import train_test_split
from sklearn.feature_extraction import DictVectorizer
from sklearn.tree import DecisionTreeClassifier export_graphviz
from sklearn.model_selection import RandomizedSearchCV


def tree():
    # (1)获取数据
    titanic = pd.read_csv(“tree_titanic.txt“)
    # “row.names““pclass““survived““name““age““embarked““home.dest““room““ticket““boat““sex“
    print(titanic.head())

    # (2)数据处理 - 需要进行挑选特征值和目标值
    x = titanic[[“pclass“ “age“ “sex“]]
    y = titanic[“survived“]
    print(“特征:\n“ x.head())
    # (2)数据处理 - 因为年龄数据有缺失,则需要进行填充:采用年龄的平均值进行补充
    x[“age“].fillna(x[“age“].mean() inplace=True)
    # (2)数据处理 - 转换成字典,然后进行特征工程的字典抽取
    x = x.to_dict(orient=“records“)
    print(“转换成字典之后的特征:\n“ x)

    # (3)划分训练集、测试集
    x_train x_test y_train y_test = train_test_split(x y random_state=22)

    # (4)特征工程-进行字典特征抽取
    transfer = DictVectorizer()
    x_train = transfer.fit_transform(x_train)
    x_test = transfer.transform(x_test)

    print(“特征工程之后的训练集的特征:\n“ x_train)
    print(“特征:\n“ transfer.get_feature_names())

    #(5)训练模型

    classifier = DecisionTreeClassifier()
    param = {“max_depth“: range(250 1)}
    #classifier = RandomizedSearchCV(classifier param_distributions=param cv=8)
    classifier.fit(x_train y_train)

    y_predict = classifier.predict(x_test)
    print(“测试结果为:\n“ y_predict == y_test)
    #  print(“最好预估器为:\n“ classifier.best_estimator_)

    # (6)模型评估
    score = classifier.score(x_testy_test)
    print(“准确度为: “ score)

    # (7)可视化
    export_graphviz(classifier out_file=“/Users/j1/Documents/机器学习/code/machinelearning/estimator/tree_titanic.dot“ feature_names=transfer.get_feature_names())

    return None


if __name__ == ‘__main__‘:
    tree()

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2019-12-04 13:13  tree_titanic\
     文件      734945  2019-12-04 10:22  tree_titanic\tree_titanic.png
     文件        2149  2019-12-04 13:13  tree_titanic\tree_titanic.py
     目录           0  2019-12-04 13:14  __MACOSX\
     目录           0  2019-12-04 13:14  __MACOSX\tree_titanic\
     文件         176  2019-12-04 13:13  __MACOSX\tree_titanic\._tree_titanic.py
     文件      219624  2019-12-04 11:50  tree_titanic\tree_titanic1.png
     文件      115631  2019-12-03 14:38  tree_titanic\tree_titanic.txt
     文件         233  2019-12-03 14:38  __MACOSX\tree_titanic\._tree_titanic.txt

评论

共有 条评论