Datawhaleゼロベースのエントリー語 - データ分析
タグ:データ分析中古車予測
注:この記事は神、ノートの多くを作るために、キーの名前の群れの製造のためのチュートリアルの基礎に自分のアイデアやコメントの一部を追加することです。より深い学習が新規参入者のためのしきい値を下げることができ、他の一方で、自分自身を助けるために。
探索的データ分析
1.目的
- フィールドの意味に精通し、データ収集を理解します
- 変数を参照の予測値との視覚的な関係を使用して
- データ処理およびエンジニアリング機能
2.コンテンツ
2.1 Pythonライブラリ
- データ科学図書館(パンダ、numpyの、scipyのダウンロード)
- 可視化ライブラリ(matplotlibの、seabon)
読み込みと観測データ2.2
- 負荷トレーニングとテストセット
- 観測データ
- 変数に精通して記述()メソッドによって
- データの種類に精通情報()により、
- 各列ナンケースの値をチェックしてください
- 外れ値の検出
2.3予測値の分布を理解します
- の全体的な分布
- ビュー歪度と尖度
- 特定の周波数の予測値を見ます
2.4クラスの機能と独自の流通を参照するにはデジタルの特徴、特性およびカテゴリ
デジタルの2.5特性
- 相関分析
- 歪度を参照してくださいと機能はピークを持っています
- の分布の各デジタル可視化
- 可視化し、各デジタル署名との間の関係
- お互いの多変量回帰可視化
タイプの2.6特性
- 独特の分布
- 前記可視化ボックスカテゴリ
- 図のバイオリンのクラス特性を可視化
- 各カテゴリの視覚周波数特性
- 可視化の棒グラフクラス特性カテゴリ
- 各カテゴリの視覚周波数特性
2.7はpandas_profilingとのデータレポートを生成します
3.サンプルコードと注意事項
3.1のpythonガイドパッケージ
#pandas、numpy是两个超级好用的数据科学库
import pandas as pd
import numpy as np
#matplotlib和seaborn为常见的可视化库
import matplotlib.pyplot as plt
import seaborn as sns
#缺失值可视化处理包
import missingno as msno
3.2トレーニング負荷トレーニングセットとテストデータセット
#注意相对路径和绝对路径
Train_data = pd.read_csv('./data/used_car_train_20200313.csv', sep=' ')
Test_data = pd.read_csv('./data/used_car_testA_20200313.csv', sep=' ')
3.3特徴データセット
プロパティ | 意味 |
---|---|
SaleID | トランザクションID、ユニークコーディング |
名前 | 脱感作オートモーティブ商品名、 |
regDate | このよう20160101、2016年1月1日のように車の登録日、 |
モデル | 脱感作コーディングのモデル、 |
ブランド | 車のブランドは、脱感作されています |
ボディタイプ | ボディタイプ:リムジン:0、軽自動車:1、バン:2、バス:3、コンバーチブル車:4、2ドア車:5、商用車:6、ミキサ7 |
燃料のタイプ | 燃料タイプ:ガソリン:0、ディーゼル油:1、LPG:2、ガス:3、ハイブリッド:4、その他:5、パワー:6 |
ギアボックス | トランスミッション:マニュアル:0、自動的に:1 |
パワー | エンジンパワー:範囲[0、600] |
キロメートル | カーキロ旅し、ユニットワンキロ |
notRepairedDamage | 車が損傷を修復されていない:はい:0なし:1 |
regionCode | 市外局番、脱感作 |
売り手 | 売主:個別:0、非個別:1 |
offerType | オファーの種類:提供:0 ,: 1 |
creatDate | 車のオンライン時間は、時間の販売を開始しました |
価格 | 車の価格 |
v_0、...、v_14 | 匿名の機能 |
トランザクションID:中古車貿易のユニークなID、プライマリキー
自動車商号:例えば(アウディA6L 2006段落2.4 CVTの快適さ)の個人的な理解
の車の登録日[1] :車両管理車両の所有者は、登録を申請する(アプリケーションフォームを提供し、学校自動車の検査、車両の工場証明書、免除証明書、強制保険カードの証明など)を承認された日付の起源の証拠
コーディングモデル[2]の符号化規則に従って、ビジネスモデルがコード、車両クラスで符号化され、主要パラメータ、製品。シリアル番号、構成企業のカスタムコード
匿名の特性:v_0から脱感作治療後v_14他のトランザクションデータは、車によると、人工的に匿名の機能を構築します
3.4観測データセット
#显示训练数据集的头和尾(图1)
Train_data.head().append(Train_data.tail())
#显示测试数据集的头和尾(图2)
TestA_data.head().append(TestA_data.tail())
15万(0から149999)の行番号データ訓練データセット上の図のデータから分かるように、列の数は31であり、試験データの行の数が列の数は、30(価格列を予測する必要)で、50000設定;観測超簡単に使用する大量のデータの場合、それらのための利益のセットとオープンエクセルいない、ランクはすぐに彼らはデータの表現を直感的に理解しているように、データ・セットの状況を理解しています。
神の観点から、3.5の観測
データ全体の外観は、私たちがアイデアをオフにリッピングするために同じ力持って設定します:スパイシーなものを大規模なデータセットを、私はどこから始めますか?今私はあまりにもハード!
この時点で、私は立ち上がって、バックハンド、あなたに2つ(トン)推奨与える:説明()関数と情報()関数を
#显示常见的数据统计指标
Train_data.describe()
公式文書の機能説明
ボーエンは、機能説明
、25%、50%、中央値の75%、最大最大、最小最小値、平均値、STD分散を意味し、統計の数を数える:各列の統計を表します。ここでは、実質的に全データセットのデータ値の分布を把握することができます。これは注目すべき問題は、このようなカウント値regDateの精度として発生する可能性があります。
#用来查看各列数据的non值和数据类型情况
Train_data.info()
情報機能の公式文書の
情報機能は、データ型と値とそれらのナン分布データを見ることが主な理由です。フォローアップの助けに私たちは、NaN値や削除を埋めます
3.6ビューNaN値の分布
#统计训练集数据为空的情况
Train_data.isnull().sum()
可視化デフォルト値の分布
#用于无效矩阵的数据密集分布观测,
msno.matrix(Train_data.sample(250))