[PYTHON] Code simple qui donne un score de 0,81339 dans Kaggle's Titanic: Machine Learning from Disaster

Si vous déplacez ceci, cela devrait être une précision de prédiction raisonnable. Je vais essayer de rafraîchir un peu plus.

from sklearn.ensemble import RandomForestClassifier

#Importer des données et vérifier le contenu
train_data = pd.read_csv("../input/titanic/train.csv")
test_data = pd.read_csv("../input/titanic/test.csv")

#Gestion des valeurs manquantes
train_data['Age'].fillna(train_data['Age'].median(), inplace=True)
train_data['Embarked'].fillna(train_data['Embarked'].mode(), inplace=True)
test_data['Age'].fillna(test_data['Age'].median(), inplace=True)
test_data['Fare'].fillna(test_data.groupby('Pclass')['Fare'].median()[3], inplace=True)

#Préparation des données
y_train = train_data["Survived"]
features = ["Pclass", "Sex", "SibSp", "Parch", 'Embarked']
X_train = pd.get_dummies(train_data[features])
X_test = pd.get_dummies(test_data[features])

#Ingénierie de la quantité de caractéristiques des données d'entraînement
X_train['Young'] = np.where(train_data['Age'] < 15, 1, 0)
X_train['Old'] = np.where(train_data['Age'] >= 65, 1, 0)
X_train['Family'] = train_data['SibSp'] + train_data['Parch']
X_train['Alone'] = np.where(X_train['Family'] == 0, 1, 0)
X_train['Fare'] = (train_data['Fare'] - train_data['Fare'].min()) / (train_data['Fare'].max() - train_data['Fare'].min())

#Ingénierie des caractéristiques des données de test
X_test['Young'] = np.where(test_data['Age'] < 15, 1, 0)
X_test['Old'] = np.where(test_data['Age'] >= 65, 1, 0)
X_test['Family'] = test_data['SibSp'] + test_data['Parch']
X_test['Alone'] = np.where(X_test['Family'] == 0, 1, 0)
X_test['Fare'] = (test_data['Fare'] - test_data['Fare'].min()) / (test_data['Fare'].max() - test_data['Fare'].min())

#Modélisation et ajustement
model = RandomForestClassifier(n_estimators=100, max_depth=5, random_state=1)
model.fit(X_train, y_train)
predictions = model.predict(X_test)

#Sauvegarde des données pour soumission
output = pd.DataFrame({'PassengerId': test_data.PassengerId, 'Survived': predictions})
output.to_csv('my_submission.csv', index=False)
print("Your submission was successfully saved!")

Recommended Posts

Code simple qui donne un score de 0,81339 dans Kaggle's Titanic: Machine Learning from Disaster
[Apprentissage automatique] Comprenez à partir des mathématiques que la normalisation se traduit par une moyenne de 0 et un écart type de 1.
Touchons une partie de l'apprentissage automatique avec Python
Installation de TensorFlow, une bibliothèque d'apprentissage automatique de Google
Introduction à l'apprentissage automatique à partir de Simple Perceptron
MALSS (introduction), un outil qui prend en charge l'apprentissage automatique en Python
Un exemple de mécanisme qui renvoie une prédiction par HTTP à partir du résultat de l'apprentissage automatique
Let Code Day45 commençant à zéro "1379. Trouver un nœud correspondant d'un arbre binaire dans un clone de cet arbre"
Lecture de code de faker, une bibliothèque qui génère des données de test en Python
Version gratuite de DataRobot! ?? Introduction à «PyCaret», une bibliothèque qui automatise l'apprentissage automatique
Liste des principales distributions de probabilité utilisées en apprentissage automatique et statistiques et code en python
[Django] Créez un formulaire qui remplit automatiquement l'adresse à partir du code postal
Mise en place d'un modèle de prédiction des taux de change (taux dollar-yen) par machine learning
Un mémorandum de méthode souvent utilisé dans l'apprentissage automatique utilisant scikit-learn (pour les débutants)
Mémo d'apprentissage automatique d'un ingénieur débutant Partie 1
Une histoire sur l'apprentissage automatique simple avec TensorFlow
Divulgation complète des méthodes utilisées dans l'apprentissage automatique
Liste des liens que les débutants en apprentissage automatique apprennent
Vue d'ensemble des techniques d'apprentissage automatique apprises grâce à scikit-learn
Résumé des fonctions d'évaluation utilisées dans l'apprentissage automatique
Mémo d'apprentissage automatique d'un ingénieur débutant Partie 2
Outil MALSS (application) qui prend en charge l'apprentissage automatique en Python
Une collection de code souvent utilisée dans Python personnel
À propos du prétraitement des données des systèmes utilisant l'apprentissage automatique
Outil MALSS (basique) qui prend en charge l'apprentissage automatique en Python
À propos des tests dans la mise en œuvre de modèles d'apprentissage automatique
#Une fonction qui renvoie le code de caractère d'une chaîne de caractères
Programme Shell qui devient aho par multiples de 3
Super simple: une collection de shells qui produisent des dates
Créez un environnement d'apprentissage automatique à partir de zéro avec Winsows 10
Papier: Papier d'apprentissage automatique qui reproduit des images dans le cerveau, (reconstruction d'image profonde à partir de l'activité cérébrale humaine)