• Skip to main content
  • Skip to primary sidebar

学習記録

get.dummies

2017年12月15日 by 河副 太智 Leave a Comment

get_dummiesを使用して各値がどの分類に属するのかを0と1で表す

例えばキノコのデータの
http://archive.ics.uci.edu/ml/machine-learning-databases/mushroom/agaricus-lepiota.data
gill_colorというのは

black=k,
brown=n,
buff=b,
chocolate=h,
gray=g,
green=r,
orange=o,
pink=p,
purple=u,
red=e,

というようにそれぞれの色を表している

 

http://archive.ics.uci.edu/ml/machine-learning-databases/mushroom/agaricus-lepiota.data

のデータには左から10番目に色を表すアルファベットが入っている
一部省略されているので下の表では左から3番目

 

1
2
3
4
5
6
7
8
9
10
11
12
     gill_spacing gill_size <span style="color: #ff0000;">gill_color</span>   ...   stalk_surface_below_ring  \
0               c         n          k   ...                          s  
1               c         b          k   ...                          s  
2               c         b          n   ...                          s  
3               c         n          n   ...                          s  
4               w         b          k   ...                          s  
5               c         b          n   ...                          s  
6               c         b          g   ...                          s  
7               c         b          n   ...                          s  
8               c         n          p   ...                          s  
9               c         b          g   ...                          s  
10              c         b          g   ...                          s

 

データを扱いやすくするため以下のように設定する

 

#urlを読み込む
mush_data_url = “http://archive.ics.uci.edu/ml/machine-learning-databases/mushroom/agaricus-lepiota.data”
s = requests.get(mush_data_url).content

#urlのデータをutf=8で読み込む
mush_data = pd.read_csv(io.StringIO(s.decode(“utf-8”)),header=None)

#データの一番上のカラムにそれぞれのアルファベットに対応した種類を割り当てる
mush_data.columns = [“classes”, “cap_shape”, “cap_surface”, “cap_color”, “odor”, “bruises”,
“gill_attachment”, “gill_spacing”, “gill_size”, “gill_color”, “stalk_shape”,
“stalk_root”, “stalk_surface_above_ring”, “stalk_surface_below_ring”,
“stalk_color_above_ring”, “stalk_color_below_ring”, “veil_type”, “veil_color”,
“ring_number”, “ring_type”, “spore_print_color”, “population”, “habitat”]

#gill_colorを対象とするのでmush_data_dummyにターゲットを絞る

mush_data_dummy = pd.get_dummies(
mush_data[[“gill_color”]])

#gill_colorがk,n,b,h,g,r,o,p,u,eの該当するものに1をそうでないものに0をつける

mush_data_dummy[“flg”] = mush_data[“classes”].map(
lambda x:1 if x == “p” else 0)

 

 

その結果、元のデータのgill_colorの項目でpに該当する8行目を対象にして

1
2
3
4
5
6
7
8
9
10
     gill_spacing gill_size gill_color   ...   stalk_surface_below_ring  \
0               c         n          k   ...                          s  
1               c         b          k   ...                          s  
2               c         b          n   ...                          s  
3               c         n          n   ...                          s  
4               w         b          k   ...                          s  
5               c         b          n   ...                          s  
6               c         b          g   ...                          s  
7               c         b          n   ...                          s  
8               c         n          <span style="color: #ff0000;"><strong>p</strong></span>   ...                          s

 

以下のようにpに該当するものを1に変更する

1
2
3
4
5
6
7
8
9
10
11
0       0
1       0
2       0
3       0
4       0
5       0
6       0
7       0
8       1
9       0
10      0

 

 

このエントリーをはてなブックマークに追加

Tweet
[`yahoo` not found]
このエントリーを Google ブックマーク に追加
LinkedIn にシェア
LINEで送る


Filed Under: 教師有り, 機械学習

Reader Interactions

コメントを残す コメントをキャンセル

メールアドレスが公開されることはありません。 ※ が付いている欄は必須項目です

Primary Sidebar

カテゴリー

  • AWS
  • Bootstrap
  • Dash
  • Django
  • flask
  • GIT(sourcetree)
  • Plotly/Dash
  • VPS
  • その他tool
  • ブログ
  • プログラミング
    • Bokeh
    • css
    • HoloViews
    • Jupyter
    • Numpy
    • Pandas
    • PosgreSQL
    • Python 基本
    • python3
      • webアプリ
    • python3解説
    • scikit-learn
    • scipy
    • vps
    • Wordpress
    • グラフ
    • コマンド
    • スクレイピング
    • チートシート
    • データクレンジング
    • ブロックチェーン
    • 作成実績
    • 時系列分析
    • 機械学習
      • 分析手法
      • 教師有り
    • 異常値検知
    • 自然言語処理
  • 一太郎
  • 数学
    • sympy
      • 対数関数(log)
      • 累乗根(n乗根)
    • 暗号学

Copyright © 2025 · Genesis Sample on Genesis Framework · WordPress · Log in