[PYTHON] Essayez de traiter les données Titanic avec la bibliothèque de prétraitement DataLiner (Append)

introduction

Ceci est le 4ème article qui présente chaque processus de la bibliothèque de prétraitement Python DataLiner. Cette fois, je voudrais vous présenter le système Append. Ceci achève tout le prétraitement actuellement mis en œuvre.
Nous prévoyons de publier la version 1.2 avec un pré-traitement ajouté après GW, donc j'aimerais à nouveau écrire un article d'introduction à ce moment-là.

Article de sortie: https://qiita.com/shallowdf20/items/36727c9a18f5be365b37 document: https://shallowdf20.github.io/dataliner/preprocessing.html

Installation

! pip install -U dataliner

Préparation des données

Préparez les données du Titanic comme d'habitude.

import pandas as pd
import dataliner as dl

df = pd.read_csv('train.csv')
target_col = 'Survived'

X = df.drop(target_col, axis=1)
y = df[target_col]
PassengerId Pclass Name Sex Age SibSp Parch Ticket Fare Cabin Embarked
1 3 Braund, Mr. Owen Harris male 22 1 0 A/5 21171 7.250 NaN S
2 1 Cumings, Mrs. John Bradley (Florence Briggs Thayer) female 38 1 0 PC 17599 71.283 C85 C
3 3 Heikkinen, Miss. Laina female 26 0 0 STON/O2. 3101282 7.925 NaN S
4 1 Futrelle, Mrs. Jacques Heath (Lily May Peel) female 35 1 0 113803 53.100 C123 S
5 3 Allen, Mr. William Henry male 35 0 0 373450 8.050 NaN S

AppendAnomalyScore Isolation Forest est entraînée en fonction des données et le score des valeurs aberrantes est ajouté en tant que nouvelle quantité de caractéristiques. La complétion des valeurs manquantes et le traitement des variables catégorielles sont nécessaires avant utilisation.

trans = dl.AppendAnomalyScore()
process = make_pipeline(
    dl.ImputeNaN(),
    dl.RankedTargetMeanEncoding(),
    trans
)
process.fit_transform(X, y)
PassengerId Pclass Name Sex Age SibSp Parch Ticket Fare Cabin Embarked Anomaly_Score
1 3 640 2 22 1 0 141 7.250 144 3 0.04805
2 1 554 1 38 1 0 351 71.283 101 1 -0.06340
3 3 717 1 26 0 0 278 7.925 144 3 0.04050
4 1 803 1 35 1 0 92 53.100 33 3 -0.04854
5 3 602 2 35 0 0 113 8.050 144 3 0.06903

AppendCluster Les données sont regroupées avec KMeans ++ et, par conséquent, le numéro du cluster auquel chaque donnée appartient est ajouté en tant que nouvelle quantité de fonctionnalités. La complétion des valeurs manquantes et le traitement des variables catégorielles sont nécessaires avant utilisation. La mise à l'échelle est également recommandée.

trans = dl.AppendCluster()
process = make_pipeline(
    dl.ImputeNaN(),
    dl.RankedTargetMeanEncoding(),
    dl.StandardScaling(),
    trans
)
process.fit_transform(X, y)
PassengerId Pclass Name Sex Age SibSp Parch Ticket Fare Cabin Embarked Cluster_Number
-1.729 0.8269 0.7538 0.7373 -0.5921 0.4326 -0.4734 -0.8129 -0.5022 0.4561 0.5856 5
-1.725 -1.5652 0.4197 -1.3548 0.6384 0.4326 -0.4734 0.1102 0.7864 -0.6156 -1.9412 2
-1.721 0.8269 1.0530 -1.3548 -0.2845 -0.4743 -0.4734 -0.2107 -0.4886 0.4561 0.5856 4
-1.717 -1.5652 1.3872 -1.3548 0.4077 0.4326 -0.4734 -1.0282 0.4205 -2.3103 0.5856 0
-1.714 0.8269 0.6062 0.7373 0.4077 -0.4743 -0.4734 -0.9359 -0.4861 0.4561 0.5856 5

AppendClusterDistance Les données sont regroupées avec KMeans ++ et, par conséquent, la distance entre chaque donnée et chaque cluster est ajoutée en tant que nouvelle quantité d'entités. La complétion des valeurs manquantes et le traitement des variables catégorielles sont nécessaires avant utilisation. La mise à l'échelle est également recommandée.

trans = dl.AppendClusterDistance()
process = make_pipeline(
    dl.ImputeNaN(),
    dl.RankedTargetMeanEncoding(),
    dl.StandardScaling(),
    trans
)
process.fit_transform(X, y)
PassengerId Pclass Name Sex Age SibSp Parch Ticket Fare Cabin Embarked Cluster_Distance_0 Cluster_Distance_1 Cluster_Distance_2 Cluster_Distance_3 Cluster_Distance_4 Cluster_Distance_5 Cluster_Distance_6 Cluster_Distance_7
-1.729 0.8269 0.7538 0.7373 -0.5921 0.4326 -0.4734 -0.8129 -0.5022 0.4561 0.5856 4.580 2.794 3.633 4.188 3.072 2.363 4.852 5.636
-1.725 -1.5652 0.4197 -1.3548 0.6384 0.4326 -0.4734 0.1102 0.7864 -0.6156 -1.9412 3.434 4.637 3.374 4.852 3.675 4.619 6.044 3.965
-1.721 0.8269 1.0530 -1.3548 -0.2845 -0.4743 -0.4734 -0.2107 -0.4886 0.4561 0.5856 4.510 3.410 3.859 3.906 2.207 2.929 5.459 5.608
-1.717 -1.5652 1.3872 -1.3548 0.4077 0.4326 -0.4734 -1.0282 0.4205 -2.3103 0.5856 2.604 5.312 4.063 5.250 4.322 4.842 6.495 4.479
-1.714 0.8269 0.6062 0.7373 0.4077 -0.4743 -0.4734 -0.9359 -0.4861 0.4561 0.5856 4.482 2.632 3.168 4.262 3.097 2.382 5.724 5.593

AppendPrincipalComponent Effectuez une analyse du composant principal sur les données et ajoutez le composant principal en tant que nouvelle quantité d'entités. La complétion des valeurs manquantes et le traitement des variables catégorielles sont nécessaires avant utilisation. La mise à l'échelle est également recommandée.

trans = dl.AppendPrincipalComponent()
process = make_pipeline(
    dl.ImputeNaN(),
    dl.RankedTargetMeanEncoding(),
    dl.StandardScaling(),
    trans
)
process.fit_transform(X, y)
PassengerId Pclass Name Sex Age SibSp Parch Ticket Fare Cabin Embarked Principal_Component_0 Principal_Component_1 Principal_Component_2 Principal_Component_3 Principal_Component_4
-1.729 0.8269 0.7538 0.7373 -0.5921 0.4326 -0.4734 -0.8129 -0.5022 0.4561 0.5856 -1.0239 0.1683 0.2723 -0.7951 -1.839
-1.725 -1.5652 0.4197 -1.3548 0.6384 0.4326 -0.4734 0.1102 0.7864 -0.6156 -1.9412 2.2205 0.1572 1.3115 -0.9589 -1.246
-1.721 0.8269 1.0530 -1.3548 -0.2845 -0.4743 -0.4734 -0.2107 -0.4886 0.4561 0.5856 -0.6973 0.2542 0.6843 -0.5943 -1.782
-1.717 -1.5652 1.3872 -1.3548 0.4077 0.4326 -0.4734 -1.0282 0.4205 -2.3103 0.5856 2.7334 0.2536 -0.2722 -1.5439 -1.530
-1.714 0.8269 0.6062 0.7373 0.4077 -0.4743 -0.4734 -0.9359 -0.4861 0.4561 0.5856 -0.7770 -0.7732 0.2852 -0.9750 -1.641

en conclusion

Présentation des éléments Append de DataLiner. À l'avenir, j'aimerais écrire un article d'introduction sur la fonction lors de la mise à jour de DataLiner.

Article sur la version Dataliner: https://qiita.com/shallowdf20/items/36727c9a18f5be365b37 Documentation: https://shallowdf20.github.io/dataliner/preprocessing.html GitHub: https://github.com/shallowdf20/dataliner PyPI: https://pypi.org/project/dataliner/

Recommended Posts

Essayez de traiter les données Titanic avec la bibliothèque de prétraitement DataLiner (Append)
Essayez de traiter les données Titanic avec la bibliothèque de prétraitement DataLiner (encodage)
Essayez de traiter les données Titanic avec la bibliothèque de prétraitement DataLiner (conversion)
Essayez de traiter les données Titanic avec la bibliothèque de prétraitement DataLiner (Drop)
Essayez de convertir en données ordonnées avec les pandas
Essayez d'agréger les données de musique doujin avec des pandas
Essayez de défier le sol par récursif
[AWS] Essayez d'ajouter la bibliothèque Python à la couche avec SAM + Lambda (Python)
Essayez d'extraire la table de données d'Azure SQL Server avec pyodbc
Essayez d'acquérir des données lors de la redirection de port vers RDS avec anaconda.
Essayez d'extraire les caractéristiques des données de capteur avec CNN
Générer un code de correction d'erreur pour restaurer la corruption des données avec la bibliothèque zfec
Essayez de résoudre l'itinéraire le plus court avec les données sociales Python + NetworkX +
Essayez d'obtenir des métriques CloudWatch avec la source de données python re: dash
Essayez d'exploiter Facebook avec Python
Comment gérer les données déséquilibrées
Essayez de profiler avec ONNX Runtime
Comment augmenter les données avec PyTorch
Traiter les données Pubmed .xml avec python
Essayez de produire de l'audio avec M5 STACK
Essayez les données en parallèle avec TensorFlow distribué
Essayez d'imaginer les données d'élévation du National Land Research Institute avec Python
Essayez de reproduire un film couleur avec Python
SIGNATURE Quête ① De la lecture des données au prétraitement
Essayez de vous connecter à qiita avec Python
Classification d'image avec Keras - Du prétraitement au test de classification -
Essayez de travailler avec des données binaires en Python
Vérifiez les données brutes avec Kaggle's Titanic (Kaggle ⑥)
J'ai essayé l'analyse factorielle avec des données Titanic!
Convertir des données Excel en JSON avec python
Envoyer des données à l'API DRF avec Vue.js
Convertissez des données FX 1 minute en données 5 minutes avec Python
Essayez de prédire les fleurs de cerisier avec XG Boost
Essayez rapidement de visualiser votre ensemble de données avec des pandas
Essayez le scraping HTML avec la bibliothèque Python
Premier YDK à essayer avec Cisco IOS-XE
Prétraitement dans l'apprentissage automatique 1 Processus d'analyse des données
Essayez de générer une image avec aliénation
Comment lire les données de problème avec Paiza
Traitez le Big Data avec Dataflow (ApacheBeam) + Python3
Affichage des données d'informations de position en Python --Essayez de tracer avec la bibliothèque d'affichage de carte (folium) -