基本使うモジュールのインポート
データの準備
- 基本モジュール
#モジュールの読み込み
import pandas as pd
import matplotlib.pyplot as plt
%matplotlib inline
import numpy as np
- ディレクトリの確認
#ディレクトリの確認
import os
-
データセットの読み込み(特にエンコーディング)
-
デートセットの出力
df.to_csv('filename.csv', index=False)
ヘッダーが不要ならば header=False
その他細かいことは( https://note.nkmk.me/python-pandas-to-csv/ )
- colaboratoryマウント
from google.colab import drive
drive.mount('/content/drive')
- colaboratoryディレクトリ
%cd "/content/drive/My Drive/*
データの確認
- データの一部を確認する
pd.set_option('display.max_columns', None)
df.head()
- 欠損値確認
print(df.isnull().sum() / len(df))
- データの重複を外す
df.drop_duplicates(inplace=True)
- カテゴリカル変数の中身確認
df["column".value_counts()
データの加工
- データの抽出
- データの結合
- 対数変換
df["log_column"]=np.log(df["column"])
- ダミー変数
making_dummy=['colmn1','column2']
df_dummied= pd.get_dummies(df, columns=making_dummy)
- object型の変数
- データの確認
# オブジェクト型の変数が格納された列のリスト
object_columns = []
# 列を反復処理してオブジェクト型の列を抽出
for column in df_raw.columns:
if df_raw[column].dtype == 'object':
object_columns.append(column)
# 各列の値の頻度を数える
column_frequencies = {}
for column in object_columns:
frequencies = df_raw[column].value_counts()
column_frequencies[column] = frequencies
# 結果の表示
for column, frequencies in column_frequencies.items():
print("列:", column)
print(frequencies)
print()
EDA
1変数
- 基本統計量
df["column"].describe()
2変数以上
検定統計
機械学習
教師あり
クロスバリデーション
決定木系モデル
回帰モデル
Balanced Bagging Classifier
from imblearn.ensemble import BalancedBaggingClassifier
from imblearn.under_sampling import RandomUnderSampler
base_estimator = LGBMClassifier() #用いたいモデル
bagging_model = BalancedBaggingClassifier(base_estimator=base_estimator, n_estimators=10, random_state=42)