タイタニック号の生存者の数を予測する決定木のKaggleコンテストにスクラッチロードから機械学習と実践Pythonプログラムの第五章

免責事項:すべての世界のプロレタリアートに属しているすべてのhttps://blog.csdn.net/qq_41776781/article/details/89157762

はじめに:このセクションのテストツリー(DecisionTreeClassifier)は、タイタニック号の生存者、および[プロパティ]を選択し、年齢、性別及びPCLASSのための訓練の数を予測し、生存者かどうかを選択するためにラベルを予測しました。データセットに最適な意思決定ツリーは、非直線的な関係が存在することができ、年齢予測タイタニック号の生存者の数に応じて、例えば、それは明らかにあまりにも若すぎたりコスモポリタン低い生産率の影響が、比較的中年生存者の可能性があります高いので、私はこのケースでは、あなたが分類を予測する決定木を使用して試すことができますので、確率的に存在していてもよい非直線的な関係を生成するためにそれを属性。

 

避けるためには見られない、属性を選択する際に、属性ラベルソースは小文字で与えられるが、テストファイル内のラベルのプロパティは大文字で、タグコードデータセットが大文字に変更することを推奨していることに注意してください全体的なアイデアは、次の手順に対応した属性が、説明を行うコード相関関数に後述します。

図1は、トレーニングデータセットは、トレーニングセットとテストセットに設定されたデータを含む、ロードされます

図2に示すように、充填された欠落データの操作を含む、DictVectorizer前処理を使用して設定データ、

図3は、DecisionTreeClassifier()フィットトレーニングデータオブジェクト関数、オブジェクトの使用を生成します

 

コードは以下の通りであります:

# -*- coding: utf-8 -*-
# @Time    : 2019/4/8 8:47
# @Author  : YYLin
# @Email   : [email protected]
# @File    : Five-Program-DecisionTreeClassifier-Titanic.py
# 读取数据集
import pandas as pd
from sklearn.model_selection import train_test_split
from sklearn.feature_extraction import DictVectorizer
from sklearn.tree import DecisionTreeClassifier
from sklearn.metrics import classification_report

titanic = pd.read_csv('../Dataset/Tencent-Datasets/Titanic/train.csv')
print("显示数据集中前5行",titanic.head())
# 查看数据集中每个数据有多少有用数据
titanic.info()

# 选择数据集中列作为特征,并对数据集进行补充
X = titanic[['Pclass', 'Age', 'Sex']]
y = titanic['Survived']
X.info()

X['Age'].fillna(X['Age'].mean(), inplace=True)
X.info()

X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.25, random_state = 33)

# 按照字典进行数据集规格化
vec = DictVectorizer(sparse=False)
X_train = vec.fit_transform(X_train.to_dict(orient='record'))
X_test = vec.transform(X_test.to_dict(orient='record'))

# 使用决策树对对数据集进行分类
dtc = DecisionTreeClassifier()
dtc.fit(X_train, y_train)

# 打印显示分类的结果
y_predict = dtc.predict(X_test)
print(dtc.score(X_test, y_test))
print (classification_report(y_predict, y_test, target_names = ['died', 'survived']))

 

結果:

 

おすすめ

転載: blog.csdn.net/qq_41776781/article/details/89157762