アイスクリーム統計学にようこそ! のページを読み進めながら、以下の課題を Python を使って解いてください。
本文を読んで概念を学んでください。また、 調査票を読んで、アンケート内容を把握してください。
__課題7.2__:アイスクリームアンケート調査結果をダウンロードして、次のコードを実行してください。
# URL によるリソースへのアクセスを提供するライブラリをインポートする。
import urllib # Python 2 の場合
# import urllib.request # Python 3 の場合
# ウェブ上のリソースを指定する
url = 'https://raw.githubusercontent.com/maskot1977/ipython_notebook/master/toydata/icecream_chosa.txt'
# 指定したURLからリソースをダウンロードし、名前をつける。
urllib.urlretrieve(url, 'icecream_chosa.txt') # Python 2 の場合
# urllib.request.urlretrieve(url, 'icecream_chosa.txt') # Python 3 の場合
('icecream_chosa.txt', <httplib.HTTPMessage instance at 0x10401d908>)
#最初の数レコードだけ確認する
!head icecream_chosa.txt
ID gender age birth_order frequency vanilla strawberry milk_tea macadamia_nuts cookie chocolate melon coffee almond rum_raisin mint banana caramel walnut cassis chocolate_chips orange green_tea marron chocolate_mint adzuki-bean 1 2 20 2 5 7 7 8 3 9 9 6 8 3 2 1 7 9 3 3 9 7 8 8 1 7 2 2 21 2 1 7 8 9 9 9 9 2 7 7 9 5 4 7 8 9 9 4 7 7 8 9 3 2 21 3 2 7 4 3 3 6 4 7 7 6 3 3 4 6 3 3 6 7 3 7 3 3 4 2 21 4 3 9 6 6 5 8 6 8 9 6 5 4 4 9 5 4 8 9 1 2 1 3 5 2 21 4 2 9 5 7 5 6 8 4 4 4 6 9 6 6 6 5 9 6 6 6 9 1 6 2 21 2 5 5 7 5 5 5 7 5 8 5 8 9 5 9 5 8 8 9 9 5 9 1 7 2 21 2 2 9 7 6 3 7 9 4 6 5 2 2 6 7 5 5 9 9 3 5 2 3 8 2 20 2 4 7 7 6 8 7 6 5 8 7 5 6 5 6 7 9 5 6 8 5 6 8 9 2 21 2 4 7 7 4 8 7 7 4 7 6 3 5 5 7 7 6 8 6 3 3 7 3
# バニラ、ストロベリーなどの変数間の関係を見るための「行列」 matrix に格納する。
# Pythonにおける「長さnのリスト(n個の要素が入ったリスト)」は、数学における「n次元の列ベクトル」と同じ意味。
# Pythonにおける「リストのリスト(長さnのリストがm個入ったもの)」は、数学における「m行n列の行列」と同じ意味。
# 変数の名前は val_names というリストに入れる
matrix = []
val_names = []
for i, line in enumerate(open("icecream_chosa.txt")):
if i == 0:
for j, val in enumerate(line.split()):
val_names.append(val)
matrix.append([])
else:
for j, val in enumerate(line.split()):
matrix[j].append(float(val))
import pandas as pd # データフレームワーク処理のライブラリをインポート
# # できあがったMatrixの中身を確認してください。
pd.DataFrame(matrix, index=val_names)
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | ... | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
ID | 1.0 | 2.0 | 3.0 | 4.0 | 5.0 | 6.0 | 7.0 | 8.0 | 9.0 | 10.0 | ... | 71.0 | 72.0 | 73.0 | 74.0 | 75.0 | 76.0 | 77.0 | 78.0 | 79.0 | 80.0 |
gender | 2.0 | 2.0 | 2.0 | 2.0 | 2.0 | 2.0 | 2.0 | 2.0 | 2.0 | 2.0 | ... | 1.0 | 1.0 | 1.0 | 1.0 | 1.0 | 1.0 | 1.0 | 1.0 | 1.0 | 1.0 |
age | 20.0 | 21.0 | 21.0 | 21.0 | 21.0 | 21.0 | 21.0 | 20.0 | 21.0 | 22.0 | ... | 22.0 | 24.0 | 20.0 | 20.0 | 21.0 | 20.0 | 20.0 | 23.0 | 23.0 | 22.0 |
birth_order | 2.0 | 2.0 | 3.0 | 4.0 | 4.0 | 2.0 | 2.0 | 2.0 | 2.0 | 4.0 | ... | 4.0 | 1.0 | 2.0 | 2.0 | 2.0 | 2.0 | 3.0 | 1.0 | 4.0 | 2.0 |
frequency | 5.0 | 1.0 | 2.0 | 3.0 | 2.0 | 5.0 | 2.0 | 4.0 | 4.0 | 4.0 | ... | 4.0 | 2.0 | 2.0 | 5.0 | 6.0 | 4.0 | 6.0 | 5.0 | 7.0 | 2.0 |
vanilla | 7.0 | 7.0 | 7.0 | 9.0 | 9.0 | 5.0 | 9.0 | 7.0 | 7.0 | 5.0 | ... | 7.0 | 6.0 | 6.0 | 8.0 | 4.0 | 5.0 | 7.0 | 4.0 | 9.0 | 8.0 |
strawberry | 7.0 | 8.0 | 4.0 | 6.0 | 5.0 | 7.0 | 7.0 | 7.0 | 7.0 | 5.0 | ... | 7.0 | 7.0 | 6.0 | 8.0 | 6.0 | 6.0 | 5.0 | 8.0 | 7.0 | 5.0 |
milk_tea | 8.0 | 9.0 | 3.0 | 6.0 | 7.0 | 5.0 | 6.0 | 6.0 | 4.0 | 9.0 | ... | 6.0 | 5.0 | 5.0 | 4.0 | 2.0 | 4.0 | 6.0 | 8.0 | 7.0 | 5.0 |
macadamia_nuts | 3.0 | 9.0 | 3.0 | 5.0 | 5.0 | 5.0 | 3.0 | 8.0 | 8.0 | 5.0 | ... | 6.0 | 6.0 | 8.0 | 8.0 | 3.0 | 9.0 | 6.0 | 9.0 | 5.0 | 2.0 |
cookie | 9.0 | 9.0 | 6.0 | 8.0 | 6.0 | 5.0 | 7.0 | 7.0 | 7.0 | 8.0 | ... | 8.0 | 4.0 | 8.0 | 9.0 | 6.0 | 6.0 | 8.0 | 9.0 | 4.0 | 5.0 |
chocolate | 9.0 | 9.0 | 4.0 | 6.0 | 8.0 | 7.0 | 9.0 | 6.0 | 7.0 | 8.0 | ... | 9.0 | 8.0 | 7.0 | 7.0 | 6.0 | 7.0 | 9.0 | 9.0 | 6.0 | 4.0 |
melon | 6.0 | 2.0 | 7.0 | 8.0 | 4.0 | 5.0 | 4.0 | 5.0 | 4.0 | 5.0 | ... | 6.0 | 8.0 | 3.0 | 3.0 | 8.0 | 4.0 | 4.0 | 4.0 | 7.0 | 7.0 |
coffee | 8.0 | 7.0 | 7.0 | 9.0 | 4.0 | 8.0 | 6.0 | 8.0 | 7.0 | 6.0 | ... | 5.0 | 7.0 | 6.0 | 6.0 | 5.0 | 3.0 | 4.0 | 8.0 | 7.0 | 1.0 |
almond | 3.0 | 7.0 | 6.0 | 6.0 | 4.0 | 5.0 | 5.0 | 7.0 | 6.0 | 3.0 | ... | 5.0 | 6.0 | 7.0 | 6.0 | 4.0 | 6.0 | 4.0 | 9.0 | 4.0 | 5.0 |
rum_raisin | 2.0 | 9.0 | 3.0 | 5.0 | 6.0 | 8.0 | 2.0 | 5.0 | 3.0 | 3.0 | ... | 5.0 | 8.0 | 7.0 | 3.0 | 2.0 | 5.0 | 5.0 | 1.0 | 5.0 | 5.0 |
mint | 1.0 | 5.0 | 3.0 | 4.0 | 9.0 | 9.0 | 2.0 | 6.0 | 5.0 | 3.0 | ... | 4.0 | 4.0 | 8.0 | 8.0 | 2.0 | 4.0 | 4.0 | 9.0 | 8.0 | 3.0 |
banana | 7.0 | 4.0 | 4.0 | 4.0 | 6.0 | 5.0 | 6.0 | 5.0 | 5.0 | 8.0 | ... | 5.0 | 4.0 | 6.0 | 5.0 | 3.0 | 5.0 | 3.0 | 6.0 | 9.0 | 4.0 |
caramel | 9.0 | 7.0 | 6.0 | 9.0 | 6.0 | 9.0 | 7.0 | 6.0 | 7.0 | 7.0 | ... | 7.0 | 2.0 | 7.0 | 4.0 | 2.0 | 5.0 | 9.0 | 8.0 | 7.0 | 5.0 |
walnut | 3.0 | 8.0 | 3.0 | 5.0 | 6.0 | 5.0 | 5.0 | 7.0 | 7.0 | 2.0 | ... | 5.0 | 6.0 | 8.0 | 8.0 | 3.0 | 5.0 | 5.0 | 9.0 | 4.0 | 5.0 |
cassis | 3.0 | 9.0 | 3.0 | 4.0 | 5.0 | 8.0 | 5.0 | 9.0 | 6.0 | 8.0 | ... | 5.0 | 8.0 | 7.0 | 8.0 | 2.0 | 5.0 | 5.0 | 5.0 | 5.0 | 5.0 |
chocolate_chips | 9.0 | 9.0 | 6.0 | 8.0 | 9.0 | 8.0 | 9.0 | 5.0 | 8.0 | 8.0 | ... | 9.0 | 4.0 | 8.0 | 9.0 | 6.0 | 7.0 | 9.0 | 9.0 | 8.0 | 5.0 |
orange | 7.0 | 4.0 | 7.0 | 9.0 | 6.0 | 9.0 | 9.0 | 6.0 | 6.0 | 6.0 | ... | 7.0 | 7.0 | 5.0 | 8.0 | 8.0 | 7.0 | 7.0 | 9.0 | 8.0 | 7.0 |
green_tea | 8.0 | 7.0 | 3.0 | 1.0 | 6.0 | 9.0 | 3.0 | 8.0 | 3.0 | 6.0 | ... | 3.0 | 8.0 | 8.0 | 9.0 | 1.0 | 4.0 | 6.0 | 9.0 | 5.0 | 1.0 |
marron | 8.0 | 7.0 | 7.0 | 2.0 | 6.0 | 5.0 | 5.0 | 5.0 | 3.0 | 2.0 | ... | 7.0 | 3.0 | 8.0 | 6.0 | 1.0 | 4.0 | 5.0 | 4.0 | 5.0 | 1.0 |
chocolate_mint | 1.0 | 8.0 | 3.0 | 1.0 | 9.0 | 9.0 | 2.0 | 6.0 | 7.0 | 1.0 | ... | 6.0 | 2.0 | 8.0 | 9.0 | 2.0 | 4.0 | 6.0 | 9.0 | 8.0 | 5.0 |
adzuki-bean | 7.0 | 9.0 | 3.0 | 3.0 | 1.0 | 1.0 | 3.0 | 8.0 | 3.0 | 1.0 | ... | 8.0 | 6.0 | 7.0 | 4.0 | 2.0 | 4.0 | 7.0 | 9.0 | 4.0 | 5.0 |
26 rows × 80 columns
# バニラ、ストロベリーなどアイスクリームの種類に関するデータは5行目以降なので、Matrixを作り直してください。
matrix = []
val_names = []
sta = 5
for i, line in enumerate(open("icecream_chosa.txt")):
if i == 0:
for j, val in enumerate(line.split()):
if j < sta:
continue
val_names.append(val)
matrix.append([])
else:
for j, val in enumerate(line.split()):
if j < sta:
continue
matrix[j - sta].append(float(val))
# # できあがったMatrixの中身を確認してください。
pd.DataFrame(matrix, index=val_names)
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | ... | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
vanilla | 7.0 | 7.0 | 7.0 | 9.0 | 9.0 | 5.0 | 9.0 | 7.0 | 7.0 | 5.0 | ... | 7.0 | 6.0 | 6.0 | 8.0 | 4.0 | 5.0 | 7.0 | 4.0 | 9.0 | 8.0 |
strawberry | 7.0 | 8.0 | 4.0 | 6.0 | 5.0 | 7.0 | 7.0 | 7.0 | 7.0 | 5.0 | ... | 7.0 | 7.0 | 6.0 | 8.0 | 6.0 | 6.0 | 5.0 | 8.0 | 7.0 | 5.0 |
milk_tea | 8.0 | 9.0 | 3.0 | 6.0 | 7.0 | 5.0 | 6.0 | 6.0 | 4.0 | 9.0 | ... | 6.0 | 5.0 | 5.0 | 4.0 | 2.0 | 4.0 | 6.0 | 8.0 | 7.0 | 5.0 |
macadamia_nuts | 3.0 | 9.0 | 3.0 | 5.0 | 5.0 | 5.0 | 3.0 | 8.0 | 8.0 | 5.0 | ... | 6.0 | 6.0 | 8.0 | 8.0 | 3.0 | 9.0 | 6.0 | 9.0 | 5.0 | 2.0 |
cookie | 9.0 | 9.0 | 6.0 | 8.0 | 6.0 | 5.0 | 7.0 | 7.0 | 7.0 | 8.0 | ... | 8.0 | 4.0 | 8.0 | 9.0 | 6.0 | 6.0 | 8.0 | 9.0 | 4.0 | 5.0 |
chocolate | 9.0 | 9.0 | 4.0 | 6.0 | 8.0 | 7.0 | 9.0 | 6.0 | 7.0 | 8.0 | ... | 9.0 | 8.0 | 7.0 | 7.0 | 6.0 | 7.0 | 9.0 | 9.0 | 6.0 | 4.0 |
melon | 6.0 | 2.0 | 7.0 | 8.0 | 4.0 | 5.0 | 4.0 | 5.0 | 4.0 | 5.0 | ... | 6.0 | 8.0 | 3.0 | 3.0 | 8.0 | 4.0 | 4.0 | 4.0 | 7.0 | 7.0 |
coffee | 8.0 | 7.0 | 7.0 | 9.0 | 4.0 | 8.0 | 6.0 | 8.0 | 7.0 | 6.0 | ... | 5.0 | 7.0 | 6.0 | 6.0 | 5.0 | 3.0 | 4.0 | 8.0 | 7.0 | 1.0 |
almond | 3.0 | 7.0 | 6.0 | 6.0 | 4.0 | 5.0 | 5.0 | 7.0 | 6.0 | 3.0 | ... | 5.0 | 6.0 | 7.0 | 6.0 | 4.0 | 6.0 | 4.0 | 9.0 | 4.0 | 5.0 |
rum_raisin | 2.0 | 9.0 | 3.0 | 5.0 | 6.0 | 8.0 | 2.0 | 5.0 | 3.0 | 3.0 | ... | 5.0 | 8.0 | 7.0 | 3.0 | 2.0 | 5.0 | 5.0 | 1.0 | 5.0 | 5.0 |
mint | 1.0 | 5.0 | 3.0 | 4.0 | 9.0 | 9.0 | 2.0 | 6.0 | 5.0 | 3.0 | ... | 4.0 | 4.0 | 8.0 | 8.0 | 2.0 | 4.0 | 4.0 | 9.0 | 8.0 | 3.0 |
banana | 7.0 | 4.0 | 4.0 | 4.0 | 6.0 | 5.0 | 6.0 | 5.0 | 5.0 | 8.0 | ... | 5.0 | 4.0 | 6.0 | 5.0 | 3.0 | 5.0 | 3.0 | 6.0 | 9.0 | 4.0 |
caramel | 9.0 | 7.0 | 6.0 | 9.0 | 6.0 | 9.0 | 7.0 | 6.0 | 7.0 | 7.0 | ... | 7.0 | 2.0 | 7.0 | 4.0 | 2.0 | 5.0 | 9.0 | 8.0 | 7.0 | 5.0 |
walnut | 3.0 | 8.0 | 3.0 | 5.0 | 6.0 | 5.0 | 5.0 | 7.0 | 7.0 | 2.0 | ... | 5.0 | 6.0 | 8.0 | 8.0 | 3.0 | 5.0 | 5.0 | 9.0 | 4.0 | 5.0 |
cassis | 3.0 | 9.0 | 3.0 | 4.0 | 5.0 | 8.0 | 5.0 | 9.0 | 6.0 | 8.0 | ... | 5.0 | 8.0 | 7.0 | 8.0 | 2.0 | 5.0 | 5.0 | 5.0 | 5.0 | 5.0 |
chocolate_chips | 9.0 | 9.0 | 6.0 | 8.0 | 9.0 | 8.0 | 9.0 | 5.0 | 8.0 | 8.0 | ... | 9.0 | 4.0 | 8.0 | 9.0 | 6.0 | 7.0 | 9.0 | 9.0 | 8.0 | 5.0 |
orange | 7.0 | 4.0 | 7.0 | 9.0 | 6.0 | 9.0 | 9.0 | 6.0 | 6.0 | 6.0 | ... | 7.0 | 7.0 | 5.0 | 8.0 | 8.0 | 7.0 | 7.0 | 9.0 | 8.0 | 7.0 |
green_tea | 8.0 | 7.0 | 3.0 | 1.0 | 6.0 | 9.0 | 3.0 | 8.0 | 3.0 | 6.0 | ... | 3.0 | 8.0 | 8.0 | 9.0 | 1.0 | 4.0 | 6.0 | 9.0 | 5.0 | 1.0 |
marron | 8.0 | 7.0 | 7.0 | 2.0 | 6.0 | 5.0 | 5.0 | 5.0 | 3.0 | 2.0 | ... | 7.0 | 3.0 | 8.0 | 6.0 | 1.0 | 4.0 | 5.0 | 4.0 | 5.0 | 1.0 |
chocolate_mint | 1.0 | 8.0 | 3.0 | 1.0 | 9.0 | 9.0 | 2.0 | 6.0 | 7.0 | 1.0 | ... | 6.0 | 2.0 | 8.0 | 9.0 | 2.0 | 4.0 | 6.0 | 9.0 | 8.0 | 5.0 |
adzuki-bean | 7.0 | 9.0 | 3.0 | 3.0 | 1.0 | 1.0 | 3.0 | 8.0 | 3.0 | 1.0 | ... | 8.0 | 6.0 | 7.0 | 4.0 | 2.0 | 4.0 | 7.0 | 9.0 | 4.0 | 5.0 |
21 rows × 80 columns
本文を読んで概念を学んでください。
# 平均値を求める関数
def average(list):
sum = 0.0
n = 0.0
for x in list:
sum += x
n += 1.0
return sum / n
# 分散を求める関数
def variance(list):
ave = average(list)
sum = 0.0
n = 0.0
for x in list:
sum += (x - ave) ** 2.0
n += 1.0
return sum / n
# 標準偏差を求める関数
import math
def standard_deviation(list):
return math.sqrt(variance(list))
# 共分散(偏差積の平均)を求める関数
def covariance(list1, list2):
ave1 = average(list1)
ave2 = average(list2)
sum = 0.0
n = 0.0
for d1, d2 in zip(list1, list2):
sum += (d1 - ave1) * (d2 - ave2)
n += 1.0
return sum / n
# 相関係数を求める関数
def correlation(list1, list2):
return covariance(list1, list2) / (standard_deviation(list1) * standard_deviation(list2))
# 相関行列を作る関数
def correlation_matrix(matrix):
result = []
for data1 in matrix:
vector = []
for data2 in matrix:
vector.append(correlation(data1, data2))
result.append(vector)
return result
# 相関行列を計算し表示する
cormat = correlation_matrix(matrix)
pd.DataFrame(cormat)
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | ... | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0 | 1.000000 | 0.028515 | 0.078549 | -0.113384 | 0.054911 | -0.110206 | -0.112804 | 0.058322 | -0.261641 | 0.103779 | ... | 0.006796 | -0.097745 | -0.173749 | -0.157352 | 0.021834 | -0.010688 | 0.015440 | 0.132379 | -0.211786 | 0.049856 |
1 | 0.028515 | 1.000000 | 0.207248 | 0.105375 | 0.035743 | 0.208958 | 0.295756 | -0.017244 | 0.120569 | 0.060223 | ... | 0.229944 | 0.142929 | 0.155927 | 0.149930 | 0.155422 | 0.170910 | 0.169990 | 0.124279 | -0.013666 | 0.213412 |
2 | 0.078549 | 0.207248 | 1.000000 | 0.341617 | 0.228646 | 0.055995 | 0.069048 | 0.358647 | 0.076171 | 0.128701 | ... | 0.401104 | 0.414177 | 0.197385 | 0.334752 | 0.106697 | 0.090938 | 0.285318 | 0.285782 | -0.019108 | 0.218824 |
3 | -0.113384 | 0.105375 | 0.341617 | 1.000000 | 0.343731 | 0.197442 | -0.093036 | 0.230645 | 0.438363 | 0.193574 | ... | 0.079780 | 0.201508 | 0.647312 | 0.302949 | 0.079059 | -0.056018 | 0.310694 | 0.291890 | 0.114404 | 0.311802 |
4 | 0.054911 | 0.035743 | 0.228646 | 0.343731 | 1.000000 | 0.259470 | -0.016390 | 0.276814 | 0.363010 | -0.028334 | ... | 0.234514 | 0.247667 | 0.281714 | 0.094633 | 0.442330 | -0.074943 | 0.016897 | 0.246303 | -0.156397 | 0.248015 |
5 | -0.110206 | 0.208958 | 0.055995 | 0.197442 | 0.259470 | 1.000000 | 0.210929 | 0.203535 | 0.230101 | -0.148296 | ... | 0.242511 | 0.295318 | 0.209069 | 0.099631 | 0.661099 | 0.123757 | 0.047984 | 0.109969 | 0.191060 | 0.209861 |
6 | -0.112804 | 0.295756 | 0.069048 | -0.093036 | -0.016390 | 0.210929 | 1.000000 | 0.193373 | -0.018380 | -0.138505 | ... | 0.241593 | 0.133873 | 0.032196 | 0.058476 | 0.106230 | 0.197470 | -0.158637 | -0.079930 | -0.109765 | 0.030297 |
7 | 0.058322 | -0.017244 | 0.358647 | 0.230645 | 0.276814 | 0.203535 | 0.193373 | 1.000000 | 0.259505 | 0.009779 | ... | 0.288617 | 0.283974 | 0.100008 | 0.312881 | 0.242711 | 0.213161 | 0.237421 | 0.157815 | 0.001101 | 0.057754 |
8 | -0.261641 | 0.120569 | 0.076171 | 0.438363 | 0.363010 | 0.230101 | -0.018380 | 0.259505 | 1.000000 | 0.141709 | ... | 0.086892 | 0.308005 | 0.546367 | 0.154778 | 0.277636 | 0.036828 | 0.078271 | 0.074451 | 0.155004 | 0.217668 |
9 | 0.103779 | 0.060223 | 0.128701 | 0.193574 | -0.028334 | -0.148296 | -0.138505 | 0.009779 | 0.141709 | 1.000000 | ... | -0.059180 | 0.047346 | 0.081568 | 0.100993 | -0.040930 | -0.190443 | 0.219083 | 0.122659 | 0.147367 | 0.012173 |
10 | -0.236248 | 0.029736 | 0.048861 | 0.116515 | -0.258632 | 0.123174 | -0.037718 | 0.081165 | 0.177390 | 0.126706 | ... | 0.111364 | 0.130338 | 0.145211 | 0.123642 | 0.160271 | 0.020442 | 0.205284 | 0.076743 | 0.833957 | -0.095770 |
11 | 0.006796 | 0.229944 | 0.401104 | 0.079780 | 0.234514 | 0.242511 | 0.241593 | 0.288617 | 0.086892 | -0.059180 | ... | 1.000000 | 0.433279 | 0.128464 | 0.241141 | 0.325065 | -0.017298 | 0.089488 | 0.383984 | 0.072743 | 0.198064 |
12 | -0.097745 | 0.142929 | 0.414177 | 0.201508 | 0.247667 | 0.295318 | 0.133873 | 0.283974 | 0.308005 | 0.047346 | ... | 0.433279 | 1.000000 | 0.289593 | 0.213386 | 0.342706 | 0.176749 | 0.048373 | 0.458127 | 0.137117 | 0.339599 |
13 | -0.173749 | 0.155927 | 0.197385 | 0.647312 | 0.281714 | 0.209069 | 0.032196 | 0.100008 | 0.546367 | 0.081568 | ... | 0.128464 | 0.289593 | 1.000000 | 0.351503 | 0.128733 | 0.080530 | 0.282190 | 0.269376 | 0.252747 | 0.330305 |
14 | -0.157352 | 0.149930 | 0.334752 | 0.302949 | 0.094633 | 0.099631 | 0.058476 | 0.312881 | 0.154778 | 0.100993 | ... | 0.241141 | 0.213386 | 0.351503 | 1.000000 | 0.123230 | 0.115750 | 0.250157 | 0.204307 | 0.177092 | 0.218333 |
15 | 0.021834 | 0.155422 | 0.106697 | 0.079059 | 0.442330 | 0.661099 | 0.106230 | 0.242711 | 0.277636 | -0.040930 | ... | 0.325065 | 0.342706 | 0.128733 | 0.123230 | 1.000000 | 0.142654 | -0.020819 | 0.097843 | 0.264442 | 0.118129 |
16 | -0.010688 | 0.170910 | 0.090938 | -0.056018 | -0.074943 | 0.123757 | 0.197470 | 0.213161 | 0.036828 | -0.190443 | ... | -0.017298 | 0.176749 | 0.080530 | 0.115750 | 0.142654 | 1.000000 | 0.070940 | -0.053342 | 0.017846 | -0.039698 |
17 | 0.015440 | 0.169990 | 0.285318 | 0.310694 | 0.016897 | 0.047984 | -0.158637 | 0.237421 | 0.078271 | 0.219083 | ... | 0.089488 | 0.048373 | 0.282190 | 0.250157 | -0.020819 | 0.070940 | 1.000000 | 0.385409 | 0.214660 | 0.348820 |
18 | 0.132379 | 0.124279 | 0.285782 | 0.291890 | 0.246303 | 0.109969 | -0.079930 | 0.157815 | 0.074451 | 0.122659 | ... | 0.383984 | 0.458127 | 0.269376 | 0.204307 | 0.097843 | -0.053342 | 0.385409 | 1.000000 | 0.157897 | 0.509220 |
19 | -0.211786 | -0.013666 | -0.019108 | 0.114404 | -0.156397 | 0.191060 | -0.109765 | 0.001101 | 0.155004 | 0.147367 | ... | 0.072743 | 0.137117 | 0.252747 | 0.177092 | 0.264442 | 0.017846 | 0.214660 | 0.157897 | 1.000000 | 0.023781 |
20 | 0.049856 | 0.213412 | 0.218824 | 0.311802 | 0.248015 | 0.209861 | 0.030297 | 0.057754 | 0.217668 | 0.012173 | ... | 0.198064 | 0.339599 | 0.330305 | 0.218333 | 0.118129 | -0.039698 | 0.348820 | 0.509220 | 0.023781 | 1.000000 |
21 rows × 21 columns
# 図やグラフを図示するためのライブラリをインポートする。
import matplotlib.pyplot as plt
%matplotlib inline
# 得られた相関行列をカラーマップで表示する。
import matplotlib.ticker as ticker
plt.pcolor(cormat, cmap=plt.cm.Blues)
plt.colorbar()
plt.gca().get_xaxis().set_major_locator(ticker.MaxNLocator(integer=True))
plt.gca().get_yaxis().set_major_locator(ticker.MaxNLocator(integer=True))
plt.xlim([0, len(cormat)])
plt.ylim([0, len(cormat)])
plt.show()
__課題7.6__:アイスクリームアンケート調査結果のデータを用い、以下の問いに答えてください。
# 正の相関が高いもの(ここでは+0.4以上)の組み合わせ
for x, namex in enumerate(val_names):
for y, namey in enumerate(val_names):
if x >= y:
continue
if cormat[x][y] >= 0.4:
print (namex, namey)
('milk_tea', 'banana') ('milk_tea', 'caramel') ('macadamia_nuts', 'almond') ('macadamia_nuts', 'walnut') ('cookie', 'chocolate_chips') ('chocolate', 'chocolate_chips') ('almond', 'walnut') ('mint', 'chocolate_mint') ('banana', 'caramel') ('caramel', 'marron') ('marron', 'adzuki-bean')
# 負の相関が高いもの(ここでは-0.2以下)の組み合わせ
for x, namex in enumerate(val_names):
for y, namey in enumerate(val_names):
if x >= y:
continue
if cormat[x][y] <= -0.2:
print (namex, namey)
('vanilla', 'almond') ('vanilla', 'mint') ('vanilla', 'chocolate_mint') ('cookie', 'mint')
# 以上の結果を踏まえて、アイスクリームの好みについての分類をしたときに、言えること
# 正の相関が高い組み合わせを見た限り、チョコレート味、チョコチップ味、クッキー味などは同じグループであり、
# チョコミント味はチョコレート味の仲間というよりはミント味の仲間であり、
# 他にはマカダミアナッツ、アーモンド、クルミなどのナッツ類のグループや、
# ミルクティー、バナナ、キャラメル、マロン、あずきなどのまろやかな甘みのグループに分類できそうである。
# 負の相関が高いグループを見ると、バニラ味はミント系やアーモンド味と異なるグループに属し、
# またミント系はバニラ味やクッキー味などと異なるグループに属しそうである。
# リストの正規化をする(Z値に変換する)関数
def normalize(data):
ave = average(data)
std = standard_deviation(data)
list = []
for x in data:
list.append((x - ave) / (std / float(len(data))))
return list
# リストのリストの正規化をする(Z値に変換する)関数
def normalize2(data):
list = []
for x in data:
list.append(normalize(x))
return list
__課題8.6__:因子分析を行う以下のコードを実行してください。
# 図やグラフを図示するためのライブラリをインポートする。
import matplotlib.pyplot as plt
%matplotlib inline
# 機械学習のライブラリから、因子分析のプログラムをインポート
from sklearn.decomposition import FactorAnalysis
# 因子分析の実行
fa = FactorAnalysis()
factors = fa.fit_transform(normalize2(matrix))
# 左から順に第一因子、第二因子、、、
pd.DataFrame(factors, index=val_names)
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | ... | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
vanilla | -1.268569 | -0.010424 | 2.318349 | -1.735447 | -1.382064 | -0.570599 | 0.043304 | 1.511889 | -0.791865 | 0.436107 | ... | -1.055257 | 1.253882 | 0.161477 | -0.764865 | -0.873683 | -0.220023 | 0.611576 | 0.083070 | 0.236653 | 0.0 |
strawberry | -0.362126 | 0.514187 | 0.828758 | 0.426349 | -0.025311 | 2.404494 | -0.876892 | -1.471251 | -1.200159 | -1.630133 | ... | -0.141087 | 0.766327 | 1.667694 | 0.562325 | -0.354102 | 0.694906 | -0.089582 | -0.932507 | 0.166717 | 0.0 |
milk_tea | -0.779537 | -0.468727 | 0.444315 | 1.064407 | 0.688036 | -0.497059 | 1.139735 | -0.838651 | -2.017942 | -0.732853 | ... | 0.620420 | 0.552054 | -1.535757 | 0.319772 | -0.017558 | -1.123373 | -1.692677 | 0.412158 | 0.103314 | 0.0 |
macadamia_nuts | 0.311445 | -1.707769 | -0.817274 | 0.556034 | -0.726757 | -0.206691 | 0.128000 | 0.437522 | -0.584647 | -0.277903 | ... | 0.306305 | -0.170283 | 1.760713 | -0.091957 | 1.472463 | 1.285529 | 1.478071 | 0.876822 | 0.710690 | 0.0 |
cookie | -1.458831 | -0.541890 | -1.499313 | -1.012749 | -0.970025 | -0.217802 | 0.046312 | 0.042097 | 0.123070 | -0.748735 | ... | -0.932264 | -1.312443 | -0.615876 | 2.710530 | -0.165078 | -0.890660 | 0.740134 | -0.963135 | -0.323201 | 0.0 |
chocolate | -0.024004 | 1.132431 | -1.190455 | -1.116673 | 0.047021 | -0.392829 | -1.139540 | -1.087155 | 0.334334 | 0.564087 | ... | 1.118716 | 0.250017 | 0.734378 | -1.603384 | 0.098381 | -1.807891 | 0.297841 | -1.776110 | 0.191992 | 0.0 |
melon | -0.756543 | 1.807738 | 0.328962 | 1.286306 | -0.179994 | 1.727251 | 0.311477 | 1.155671 | 2.276051 | -0.372793 | ... | 0.155506 | -0.528329 | -0.471845 | 0.102185 | -0.714128 | -0.071846 | 0.151355 | 0.855306 | 0.350534 | 0.0 |
coffee | -0.648979 | 0.384299 | -0.061586 | 1.070261 | -0.617858 | -2.339395 | 1.278930 | -0.390519 | 1.665691 | -0.372049 | ... | 0.285845 | 1.298504 | 1.175483 | 0.370414 | -0.071359 | 1.163895 | -1.140516 | -1.129070 | 0.017762 | 0.0 |
almond | 0.550480 | -0.495058 | -1.684024 | 0.228919 | -1.399948 | 0.656078 | 0.592646 | 0.189591 | 0.259340 | -1.010834 | ... | -0.328161 | 1.373537 | -0.468381 | -1.293856 | 0.259451 | -1.615691 | -0.030436 | 1.522342 | 0.724886 | 0.0 |
rum_raisin | 0.758196 | -0.874934 | 1.325704 | -0.696747 | -1.694727 | 1.315742 | 1.577272 | -1.163327 | 0.606388 | 1.541298 | ... | 1.407346 | -1.161449 | -0.504667 | 0.011647 | 0.902407 | 0.098465 | -0.495305 | -0.498085 | -0.381438 | 0.0 |
mint | 2.475583 | 0.859536 | 0.378847 | -0.319773 | 0.466233 | -0.320964 | 0.773151 | 0.393056 | -0.076465 | -0.841273 | ... | -0.483645 | 0.695011 | 0.245291 | 0.672047 | 0.181762 | -0.547809 | 0.831097 | 0.141547 | -2.933925 | 0.0 |
banana | -0.786982 | 0.541323 | -0.029725 | -0.167910 | 1.884516 | 0.144592 | 1.804551 | -0.182355 | -0.200982 | -0.191326 | ... | -1.943758 | -1.264642 | -0.229517 | -1.701019 | 1.434517 | 0.439941 | 0.682724 | -0.763381 | 0.319720 | 0.0 |
caramel | -0.416261 | 0.307764 | -0.745029 | -0.023985 | 1.369855 | 0.119922 | 1.009636 | 0.779210 | -0.950273 | 0.988364 | ... | 2.396436 | 0.570968 | -0.323404 | 0.456950 | -1.432679 | 0.629128 | 1.880440 | 0.044279 | 0.263840 | 0.0 |
walnut | 0.654143 | -1.271467 | -1.070062 | 0.780755 | -0.384990 | 0.521873 | -0.584456 | 1.621193 | -0.567737 | 0.168249 | ... | -0.460775 | -0.857318 | -0.409739 | -1.346983 | -1.724783 | 1.025217 | -1.389702 | -1.592031 | -1.014018 | 0.0 |
cassis | 0.175942 | -0.437288 | 0.027866 | 1.769319 | 0.398931 | 0.032984 | -0.568923 | -1.076611 | 0.042224 | 2.937834 | ... | -1.879992 | 0.492859 | 0.572092 | 0.716653 | -0.667108 | -0.931865 | 0.438111 | 0.482704 | -0.006378 | 0.0 |
chocolate_chips | -0.226368 | 1.397066 | -1.208100 | -1.645448 | -0.312818 | -0.345273 | -0.420425 | -1.341062 | -0.483876 | 0.561314 | ... | -0.389309 | -0.455137 | -0.152339 | -0.173965 | -0.594393 | 1.955030 | -1.134501 | 2.207914 | -0.551312 | 0.0 |
orange | -0.163043 | 1.603867 | 0.601673 | 1.508254 | -0.964408 | -1.057155 | -1.711324 | 1.006225 | -1.237434 | 0.208638 | ... | 0.741975 | -1.285698 | -0.376003 | 0.006271 | 1.785554 | -0.198888 | 0.046666 | 0.183563 | -0.278720 | 0.0 |
green_tea | 0.571728 | -1.175587 | 1.308713 | 0.306476 | 0.342418 | -1.306810 | -1.144870 | -1.585395 | 1.014943 | -1.466980 | ... | 0.223698 | -1.185572 | -1.006683 | -0.777827 | -1.459262 | 0.123885 | 1.382154 | 0.542276 | 0.366592 | 0.0 |
marron | -0.417869 | -1.075406 | 0.532979 | -0.914445 | 1.786432 | -0.044534 | -0.374487 | 1.070083 | 0.676474 | -0.098205 | ... | 0.717336 | -1.056936 | 2.097705 | 0.316135 | 0.056157 | -1.317938 | -1.652146 | 1.211806 | -0.207068 | 0.0 |
chocolate_mint | 2.479726 | 0.615435 | 0.196853 | -0.823584 | 0.517045 | -0.232910 | -0.176752 | 0.699204 | -0.097836 | 0.052221 | ... | -0.526064 | 0.089772 | -0.546567 | 1.250871 | 0.076260 | 0.314771 | -0.771863 | -0.646678 | 2.935754 | 0.0 |
adzuki-bean | -0.668130 | -1.105096 | 0.012550 | -0.540319 | 1.158416 | 0.609084 | -1.707344 | 0.230584 | 1.210701 | 0.284971 | ... | 0.166729 | 1.934876 | -1.774055 | 0.258055 | 1.807181 | 0.995216 | -0.143440 | -0.262790 | -0.692393 | 0.0 |
21 rows × 21 columns
# 第一因子と第二因子でプロットする
plt.figure(figsize=(8, 8))
for x, y, name in zip(factors[:, 0], factors[:, 1], val_names):
plt.text(x, y, name, alpha=0.8, size=10)
plt.scatter(factors[:, 0], factors[:, 1], alpha=0.8)
plt.title("Factor Analysis")
plt.xlabel("The first factor score")
plt.ylabel("The second factor score")
plt.grid(True)
plt.show()
__課題8.7__:上と同様にして、第三因子と第四因子でプロットしてください。また、以上の結果から、アイスクリームの味の好みについて何が言えそうか考察してください。
# 第三因子と第四因子でプロットする
plt.figure(figsize=(8, 8))
for x, y, name in zip(factors[:, 2], factors[:, 3], val_names):
plt.text(x, y, name, alpha=0.8, size=10)
plt.scatter(factors[:, 2], factors[:, 3], alpha=0.8)
plt.title("Factor Analysis")
plt.xlabel("The third factor score")
plt.ylabel("The fourth factor score")
plt.grid(True)
plt.show()
# 以上の結果から、アイスクリームの味の好みについて何が言えそうか
# 第一因子を見ると、ミント系(ミント味とチョコミント味)とそれ以外がくっきり分かれているので、
# これはミントっぽいかどうかという因子と言えそうである。
# 第二因子を見ると、メロンやオレンジのようなフルーツっぽさ
# マカダミアナッツやクルミのようなナッツっぽさという因子のように見えるが、
# ストロベリーやチョコ系(チョコレート味とチョコチップ味)の位置を見ると必ずしもそうと言い切れない。
# 第三因子を見ると、バニラ味とそれ以外に分かれているように見えるのでバニラっぽさ、
# 同様に第四因子はカシスっぽさを表すのかもしれない。
__課題9.3__:アイスクリームアンケート調査結果をダウンロードして、先ほどの matrix と縦横を入れ替えた matrixTを作成してください。
# 縦横入れ替えた matrixT を作成
matrixT = []
val_names = []
ids = []
sta = 5
for i, line in enumerate(open("icecream_chosa.txt")):
if i == 0:
for j, val in enumerate(line.split()):
val_names.append(val)
else:
vec = []
for j, val in enumerate(line.split()):
if j == 0:
ids.append(val)
vec.append(float(val))
matrixT.append(vec)
# できあがったMatrixTの中身の確認
pd.DataFrame(matrixT, columns=val_names)
ID | gender | age | birth_order | frequency | vanilla | strawberry | milk_tea | macadamia_nuts | cookie | ... | banana | caramel | walnut | cassis | chocolate_chips | orange | green_tea | marron | chocolate_mint | adzuki-bean | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0 | 1.0 | 2.0 | 20.0 | 2.0 | 5.0 | 7.0 | 7.0 | 8.0 | 3.0 | 9.0 | ... | 7.0 | 9.0 | 3.0 | 3.0 | 9.0 | 7.0 | 8.0 | 8.0 | 1.0 | 7.0 |
1 | 2.0 | 2.0 | 21.0 | 2.0 | 1.0 | 7.0 | 8.0 | 9.0 | 9.0 | 9.0 | ... | 4.0 | 7.0 | 8.0 | 9.0 | 9.0 | 4.0 | 7.0 | 7.0 | 8.0 | 9.0 |
2 | 3.0 | 2.0 | 21.0 | 3.0 | 2.0 | 7.0 | 4.0 | 3.0 | 3.0 | 6.0 | ... | 4.0 | 6.0 | 3.0 | 3.0 | 6.0 | 7.0 | 3.0 | 7.0 | 3.0 | 3.0 |
3 | 4.0 | 2.0 | 21.0 | 4.0 | 3.0 | 9.0 | 6.0 | 6.0 | 5.0 | 8.0 | ... | 4.0 | 9.0 | 5.0 | 4.0 | 8.0 | 9.0 | 1.0 | 2.0 | 1.0 | 3.0 |
4 | 5.0 | 2.0 | 21.0 | 4.0 | 2.0 | 9.0 | 5.0 | 7.0 | 5.0 | 6.0 | ... | 6.0 | 6.0 | 6.0 | 5.0 | 9.0 | 6.0 | 6.0 | 6.0 | 9.0 | 1.0 |
5 | 6.0 | 2.0 | 21.0 | 2.0 | 5.0 | 5.0 | 7.0 | 5.0 | 5.0 | 5.0 | ... | 5.0 | 9.0 | 5.0 | 8.0 | 8.0 | 9.0 | 9.0 | 5.0 | 9.0 | 1.0 |
6 | 7.0 | 2.0 | 21.0 | 2.0 | 2.0 | 9.0 | 7.0 | 6.0 | 3.0 | 7.0 | ... | 6.0 | 7.0 | 5.0 | 5.0 | 9.0 | 9.0 | 3.0 | 5.0 | 2.0 | 3.0 |
7 | 8.0 | 2.0 | 20.0 | 2.0 | 4.0 | 7.0 | 7.0 | 6.0 | 8.0 | 7.0 | ... | 5.0 | 6.0 | 7.0 | 9.0 | 5.0 | 6.0 | 8.0 | 5.0 | 6.0 | 8.0 |
8 | 9.0 | 2.0 | 21.0 | 2.0 | 4.0 | 7.0 | 7.0 | 4.0 | 8.0 | 7.0 | ... | 5.0 | 7.0 | 7.0 | 6.0 | 8.0 | 6.0 | 3.0 | 3.0 | 7.0 | 3.0 |
9 | 10.0 | 2.0 | 22.0 | 4.0 | 4.0 | 5.0 | 5.0 | 9.0 | 5.0 | 8.0 | ... | 8.0 | 7.0 | 2.0 | 8.0 | 8.0 | 6.0 | 6.0 | 2.0 | 1.0 | 1.0 |
10 | 11.0 | 2.0 | 22.0 | 2.0 | 3.0 | 8.0 | 1.0 | 8.0 | 9.0 | 7.0 | ... | 4.0 | 9.0 | 7.0 | 6.0 | 6.0 | 7.0 | 8.0 | 6.0 | 4.0 | 5.0 |
11 | 12.0 | 2.0 | 21.0 | 4.0 | 3.0 | 9.0 | 4.0 | 7.0 | 5.0 | 8.0 | ... | 4.0 | 4.0 | 5.0 | 8.0 | 9.0 | 5.0 | 6.0 | 4.0 | 9.0 | 7.0 |
12 | 13.0 | 2.0 | 21.0 | 4.0 | 4.0 | 7.0 | 7.0 | 6.0 | 8.0 | 8.0 | ... | 5.0 | 9.0 | 7.0 | 5.0 | 9.0 | 7.0 | 7.0 | 6.0 | 8.0 | 8.0 |
13 | 14.0 | 2.0 | 20.0 | 4.0 | 2.0 | 9.0 | 6.0 | 4.0 | 6.0 | 9.0 | ... | 6.0 | 7.0 | 8.0 | 4.0 | 9.0 | 9.0 | 8.0 | 9.0 | 7.0 | 8.0 |
14 | 15.0 | 2.0 | 20.0 | 2.0 | 4.0 | 8.0 | 7.0 | 5.0 | 5.0 | 5.0 | ... | 4.0 | 4.0 | 6.0 | 5.0 | 8.0 | 6.0 | 9.0 | 4.0 | 9.0 | 5.0 |
15 | 16.0 | 2.0 | 21.0 | 4.0 | 2.0 | 7.0 | 4.0 | 7.0 | 4.0 | 7.0 | ... | 6.0 | 6.0 | 6.0 | 6.0 | 4.0 | 6.0 | 8.0 | 5.0 | 7.0 | 7.0 |
16 | 17.0 | 2.0 | 20.0 | 2.0 | 2.0 | 6.0 | 4.0 | 2.0 | 2.0 | 7.0 | ... | 4.0 | 6.0 | 6.0 | 5.0 | 7.0 | 5.0 | 9.0 | 6.0 | 9.0 | 6.0 |
17 | 18.0 | 2.0 | 20.0 | 3.0 | 2.0 | 8.0 | 7.0 | 5.0 | 5.0 | 6.0 | ... | 3.0 | 5.0 | 4.0 | 5.0 | 7.0 | 9.0 | 8.0 | 4.0 | 9.0 | 4.0 |
18 | 19.0 | 2.0 | 21.0 | 4.0 | 6.0 | 5.0 | 9.0 | 8.0 | 5.0 | 7.0 | ... | 6.0 | 6.0 | 7.0 | 7.0 | 8.0 | 7.0 | 9.0 | 5.0 | 8.0 | 5.0 |
19 | 20.0 | 2.0 | 20.0 | 4.0 | 2.0 | 6.0 | 6.0 | 6.0 | 8.0 | 8.0 | ... | 5.0 | 7.0 | 7.0 | 7.0 | 7.0 | 6.0 | 7.0 | 7.0 | 8.0 | 8.0 |
20 | 21.0 | 2.0 | 21.0 | 4.0 | 3.0 | 9.0 | 9.0 | 6.0 | 6.0 | 8.0 | ... | 7.0 | 6.0 | 5.0 | 9.0 | 9.0 | 9.0 | 9.0 | 7.0 | 4.0 | 8.0 |
21 | 22.0 | 2.0 | 21.0 | 1.0 | 4.0 | 7.0 | 9.0 | 9.0 | 7.0 | 9.0 | ... | 8.0 | 8.0 | 8.0 | 5.0 | 8.0 | 6.0 | 7.0 | 8.0 | 4.0 | 8.0 |
22 | 23.0 | 2.0 | 21.0 | 2.0 | 4.0 | 8.0 | 8.0 | 9.0 | 8.0 | 8.0 | ... | 5.0 | 8.0 | 8.0 | 4.0 | 9.0 | 8.0 | 9.0 | 5.0 | 5.0 | 8.0 |
23 | 24.0 | 2.0 | 20.0 | 4.0 | 4.0 | 7.0 | 7.0 | 6.0 | 5.0 | 4.0 | ... | 9.0 | 9.0 | 3.0 | 7.0 | 7.0 | 3.0 | 5.0 | 9.0 | 9.0 | 9.0 |
24 | 25.0 | 2.0 | 20.0 | 1.0 | 3.0 | 7.0 | 6.0 | 7.0 | 9.0 | 9.0 | ... | 6.0 | 8.0 | 8.0 | 5.0 | 8.0 | 4.0 | 8.0 | 9.0 | 3.0 | 9.0 |
25 | 26.0 | 2.0 | 21.0 | 4.0 | 4.0 | 7.0 | 5.0 | 8.0 | 7.0 | 9.0 | ... | 5.0 | 4.0 | 4.0 | 8.0 | 9.0 | 8.0 | 8.0 | 6.0 | 1.0 | 7.0 |
26 | 27.0 | 2.0 | 20.0 | 2.0 | 5.0 | 7.0 | 9.0 | 7.0 | 7.0 | 8.0 | ... | 2.0 | 8.0 | 8.0 | 9.0 | 8.0 | 9.0 | 6.0 | 3.0 | 1.0 | 7.0 |
27 | 28.0 | 2.0 | 21.0 | 2.0 | 4.0 | 7.0 | 6.0 | 1.0 | 7.0 | 8.0 | ... | 3.0 | 6.0 | 6.0 | 4.0 | 8.0 | 4.0 | 8.0 | 7.0 | 8.0 | 7.0 |
28 | 29.0 | 2.0 | 21.0 | 3.0 | 4.0 | 6.0 | 7.0 | 7.0 | 8.0 | 8.0 | ... | 5.0 | 9.0 | 8.0 | 7.0 | 9.0 | 7.0 | 7.0 | 5.0 | 5.0 | 3.0 |
29 | 30.0 | 2.0 | 21.0 | 4.0 | 4.0 | 7.0 | 7.0 | 7.0 | 7.0 | 9.0 | ... | 9.0 | 9.0 | 5.0 | 5.0 | 9.0 | 6.0 | 9.0 | 7.0 | 9.0 | 6.0 |
... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... |
50 | 51.0 | 1.0 | 19.0 | 2.0 | 6.0 | 7.0 | 8.0 | 6.0 | 3.0 | 5.0 | ... | 4.0 | 5.0 | 2.0 | 3.0 | 8.0 | 5.0 | 8.0 | 3.0 | 8.0 | 2.0 |
51 | 52.0 | 1.0 | 21.0 | 1.0 | 2.0 | 9.0 | 4.0 | 5.0 | 3.0 | 7.0 | ... | 8.0 | 6.0 | 2.0 | 4.0 | 9.0 | 8.0 | 7.0 | 5.0 | 5.0 | 9.0 |
52 | 53.0 | 1.0 | 20.0 | 1.0 | 5.0 | 9.0 | 8.0 | 7.0 | 6.0 | 9.0 | ... | 7.0 | 9.0 | 7.0 | 6.0 | 9.0 | 5.0 | 3.0 | 9.0 | 1.0 | 9.0 |
53 | 54.0 | 1.0 | 21.0 | 4.0 | 5.0 | 8.0 | 8.0 | 7.0 | 5.0 | 7.0 | ... | 5.0 | 4.0 | 4.0 | 4.0 | 7.0 | 6.0 | 3.0 | 4.0 | 6.0 | 5.0 |
54 | 55.0 | 1.0 | 19.0 | 4.0 | 4.0 | 7.0 | 7.0 | 8.0 | 7.0 | 6.0 | ... | 5.0 | 6.0 | 5.0 | 9.0 | 9.0 | 7.0 | 9.0 | 7.0 | 8.0 | 9.0 |
55 | 56.0 | 1.0 | 20.0 | 2.0 | 2.0 | 5.0 | 7.0 | 5.0 | 5.0 | 5.0 | ... | 4.0 | 6.0 | 5.0 | 5.0 | 9.0 | 9.0 | 8.0 | 5.0 | 9.0 | 8.0 |
56 | 57.0 | 1.0 | 22.0 | 1.0 | 3.0 | 9.0 | 9.0 | 9.0 | 9.0 | 9.0 | ... | 7.0 | 8.0 | 6.0 | 6.0 | 8.0 | 7.0 | 9.0 | 7.0 | 1.0 | 9.0 |
57 | 58.0 | 1.0 | 19.0 | 1.0 | 3.0 | 9.0 | 3.0 | 5.0 | 7.0 | 6.0 | ... | 5.0 | 1.0 | 6.0 | 3.0 | 8.0 | 2.0 | 7.0 | 1.0 | 1.0 | 3.0 |
58 | 59.0 | 1.0 | 20.0 | 2.0 | 3.0 | 7.0 | 7.0 | 7.0 | 4.0 | 6.0 | ... | 7.0 | 8.0 | 3.0 | 6.0 | 7.0 | 7.0 | 8.0 | 6.0 | 3.0 | 6.0 |
59 | 60.0 | 1.0 | 20.0 | 4.0 | 8.0 | 7.0 | 8.0 | 8.0 | 5.0 | 7.0 | ... | 5.0 | 6.0 | 4.0 | 5.0 | 5.0 | 8.0 | 7.0 | 6.0 | 5.0 | 6.0 |
60 | 61.0 | 1.0 | 18.0 | 2.0 | 4.0 | 6.0 | 4.0 | 3.0 | 5.0 | 9.0 | ... | 3.0 | 4.0 | 3.0 | 5.0 | 8.0 | 5.0 | 1.0 | 3.0 | 5.0 | 1.0 |
61 | 62.0 | 1.0 | 25.0 | 2.0 | 3.0 | 7.0 | 8.0 | 6.0 | 5.0 | 9.0 | ... | 7.0 | 5.0 | 5.0 | 5.0 | 9.0 | 7.0 | 6.0 | 6.0 | 4.0 | 5.0 |
62 | 63.0 | 1.0 | 19.0 | 2.0 | 2.0 | 6.0 | 6.0 | 7.0 | 7.0 | 7.0 | ... | 6.0 | 8.0 | 7.0 | 5.0 | 9.0 | 5.0 | 6.0 | 6.0 | 8.0 | 5.0 |
63 | 64.0 | 1.0 | 21.0 | 2.0 | 4.0 | 8.0 | 7.0 | 9.0 | 6.0 | 9.0 | ... | 8.0 | 4.0 | 5.0 | 9.0 | 9.0 | 3.0 | 6.0 | 5.0 | 9.0 | 1.0 |
64 | 65.0 | 1.0 | 21.0 | 2.0 | 6.0 | 7.0 | 8.0 | 5.0 | 4.0 | 6.0 | ... | 4.0 | 7.0 | 7.0 | 5.0 | 6.0 | 4.0 | 8.0 | 5.0 | 4.0 | 6.0 |
65 | 66.0 | 1.0 | 20.0 | 2.0 | 1.0 | 7.0 | 7.0 | 7.0 | 7.0 | 8.0 | ... | 7.0 | 4.0 | 6.0 | 5.0 | 7.0 | 7.0 | 9.0 | 5.0 | 5.0 | 6.0 |
66 | 67.0 | 1.0 | 22.0 | 2.0 | 5.0 | 7.0 | 7.0 | 5.0 | 4.0 | 8.0 | ... | 5.0 | 3.0 | 3.0 | 4.0 | 8.0 | 7.0 | 8.0 | 5.0 | 3.0 | 4.0 |
67 | 68.0 | 1.0 | 21.0 | 2.0 | 5.0 | 5.0 | 5.0 | 6.0 | 7.0 | 7.0 | ... | 5.0 | 5.0 | 9.0 | 6.0 | 9.0 | 6.0 | 9.0 | 7.0 | 8.0 | 5.0 |
68 | 69.0 | 1.0 | 21.0 | 3.0 | 1.0 | 8.0 | 7.0 | 5.0 | 5.0 | 7.0 | ... | 6.0 | 5.0 | 4.0 | 5.0 | 7.0 | 8.0 | 5.0 | 5.0 | 5.0 | 5.0 |
69 | 70.0 | 1.0 | 21.0 | 2.0 | 6.0 | 7.0 | 7.0 | 9.0 | 8.0 | 9.0 | ... | 9.0 | 9.0 | 8.0 | 6.0 | 9.0 | 8.0 | 9.0 | 7.0 | 7.0 | 7.0 |
70 | 71.0 | 1.0 | 22.0 | 4.0 | 4.0 | 7.0 | 7.0 | 6.0 | 6.0 | 8.0 | ... | 5.0 | 7.0 | 5.0 | 5.0 | 9.0 | 7.0 | 3.0 | 7.0 | 6.0 | 8.0 |
71 | 72.0 | 1.0 | 24.0 | 1.0 | 2.0 | 6.0 | 7.0 | 5.0 | 6.0 | 4.0 | ... | 4.0 | 2.0 | 6.0 | 8.0 | 4.0 | 7.0 | 8.0 | 3.0 | 2.0 | 6.0 |
72 | 73.0 | 1.0 | 20.0 | 2.0 | 2.0 | 6.0 | 6.0 | 5.0 | 8.0 | 8.0 | ... | 6.0 | 7.0 | 8.0 | 7.0 | 8.0 | 5.0 | 8.0 | 8.0 | 8.0 | 7.0 |
73 | 74.0 | 1.0 | 20.0 | 2.0 | 5.0 | 8.0 | 8.0 | 4.0 | 8.0 | 9.0 | ... | 5.0 | 4.0 | 8.0 | 8.0 | 9.0 | 8.0 | 9.0 | 6.0 | 9.0 | 4.0 |
74 | 75.0 | 1.0 | 21.0 | 2.0 | 6.0 | 4.0 | 6.0 | 2.0 | 3.0 | 6.0 | ... | 3.0 | 2.0 | 3.0 | 2.0 | 6.0 | 8.0 | 1.0 | 1.0 | 2.0 | 2.0 |
75 | 76.0 | 1.0 | 20.0 | 2.0 | 4.0 | 5.0 | 6.0 | 4.0 | 9.0 | 6.0 | ... | 5.0 | 5.0 | 5.0 | 5.0 | 7.0 | 7.0 | 4.0 | 4.0 | 4.0 | 4.0 |
76 | 77.0 | 1.0 | 20.0 | 3.0 | 6.0 | 7.0 | 5.0 | 6.0 | 6.0 | 8.0 | ... | 3.0 | 9.0 | 5.0 | 5.0 | 9.0 | 7.0 | 6.0 | 5.0 | 6.0 | 7.0 |
77 | 78.0 | 1.0 | 23.0 | 1.0 | 5.0 | 4.0 | 8.0 | 8.0 | 9.0 | 9.0 | ... | 6.0 | 8.0 | 9.0 | 5.0 | 9.0 | 9.0 | 9.0 | 4.0 | 9.0 | 9.0 |
78 | 79.0 | 1.0 | 23.0 | 4.0 | 7.0 | 9.0 | 7.0 | 7.0 | 5.0 | 4.0 | ... | 9.0 | 7.0 | 4.0 | 5.0 | 8.0 | 8.0 | 5.0 | 5.0 | 8.0 | 4.0 |
79 | 80.0 | 1.0 | 22.0 | 2.0 | 2.0 | 8.0 | 5.0 | 5.0 | 2.0 | 5.0 | ... | 4.0 | 5.0 | 5.0 | 5.0 | 5.0 | 7.0 | 1.0 | 1.0 | 5.0 | 5.0 |
80 rows × 26 columns
# アイスクリームの種類に関するデータは5行目以降なので、MatrixTを作り直してください。
matrixT = []
val_names = []
ids = []
gender = []
sta = 5
for i, line in enumerate(open("icecream_chosa.txt")):
if i == 0:
for j, val in enumerate(line.split()):
if j < sta:
continue
val_names.append(val)
else:
vec = []
for j, val in enumerate(line.split()):
if j == 0:
ids.append(val)
elif j == 1:
gender.append(int(val))
elif j < sta:
continue
else:
vec.append(float(val))
matrixT.append(vec)
# できあがったMatrixTの中身の確認
pd.DataFrame(matrixT, columns=val_names)
vanilla | strawberry | milk_tea | macadamia_nuts | cookie | chocolate | melon | coffee | almond | rum_raisin | ... | banana | caramel | walnut | cassis | chocolate_chips | orange | green_tea | marron | chocolate_mint | adzuki-bean | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0 | 7.0 | 7.0 | 8.0 | 3.0 | 9.0 | 9.0 | 6.0 | 8.0 | 3.0 | 2.0 | ... | 7.0 | 9.0 | 3.0 | 3.0 | 9.0 | 7.0 | 8.0 | 8.0 | 1.0 | 7.0 |
1 | 7.0 | 8.0 | 9.0 | 9.0 | 9.0 | 9.0 | 2.0 | 7.0 | 7.0 | 9.0 | ... | 4.0 | 7.0 | 8.0 | 9.0 | 9.0 | 4.0 | 7.0 | 7.0 | 8.0 | 9.0 |
2 | 7.0 | 4.0 | 3.0 | 3.0 | 6.0 | 4.0 | 7.0 | 7.0 | 6.0 | 3.0 | ... | 4.0 | 6.0 | 3.0 | 3.0 | 6.0 | 7.0 | 3.0 | 7.0 | 3.0 | 3.0 |
3 | 9.0 | 6.0 | 6.0 | 5.0 | 8.0 | 6.0 | 8.0 | 9.0 | 6.0 | 5.0 | ... | 4.0 | 9.0 | 5.0 | 4.0 | 8.0 | 9.0 | 1.0 | 2.0 | 1.0 | 3.0 |
4 | 9.0 | 5.0 | 7.0 | 5.0 | 6.0 | 8.0 | 4.0 | 4.0 | 4.0 | 6.0 | ... | 6.0 | 6.0 | 6.0 | 5.0 | 9.0 | 6.0 | 6.0 | 6.0 | 9.0 | 1.0 |
5 | 5.0 | 7.0 | 5.0 | 5.0 | 5.0 | 7.0 | 5.0 | 8.0 | 5.0 | 8.0 | ... | 5.0 | 9.0 | 5.0 | 8.0 | 8.0 | 9.0 | 9.0 | 5.0 | 9.0 | 1.0 |
6 | 9.0 | 7.0 | 6.0 | 3.0 | 7.0 | 9.0 | 4.0 | 6.0 | 5.0 | 2.0 | ... | 6.0 | 7.0 | 5.0 | 5.0 | 9.0 | 9.0 | 3.0 | 5.0 | 2.0 | 3.0 |
7 | 7.0 | 7.0 | 6.0 | 8.0 | 7.0 | 6.0 | 5.0 | 8.0 | 7.0 | 5.0 | ... | 5.0 | 6.0 | 7.0 | 9.0 | 5.0 | 6.0 | 8.0 | 5.0 | 6.0 | 8.0 |
8 | 7.0 | 7.0 | 4.0 | 8.0 | 7.0 | 7.0 | 4.0 | 7.0 | 6.0 | 3.0 | ... | 5.0 | 7.0 | 7.0 | 6.0 | 8.0 | 6.0 | 3.0 | 3.0 | 7.0 | 3.0 |
9 | 5.0 | 5.0 | 9.0 | 5.0 | 8.0 | 8.0 | 5.0 | 6.0 | 3.0 | 3.0 | ... | 8.0 | 7.0 | 2.0 | 8.0 | 8.0 | 6.0 | 6.0 | 2.0 | 1.0 | 1.0 |
10 | 8.0 | 1.0 | 8.0 | 9.0 | 7.0 | 9.0 | 3.0 | 9.0 | 4.0 | 7.0 | ... | 4.0 | 9.0 | 7.0 | 6.0 | 6.0 | 7.0 | 8.0 | 6.0 | 4.0 | 5.0 |
11 | 9.0 | 4.0 | 7.0 | 5.0 | 8.0 | 4.0 | 5.0 | 7.0 | 5.0 | 6.0 | ... | 4.0 | 4.0 | 5.0 | 8.0 | 9.0 | 5.0 | 6.0 | 4.0 | 9.0 | 7.0 |
12 | 7.0 | 7.0 | 6.0 | 8.0 | 8.0 | 9.0 | 6.0 | 7.0 | 7.0 | 6.0 | ... | 5.0 | 9.0 | 7.0 | 5.0 | 9.0 | 7.0 | 7.0 | 6.0 | 8.0 | 8.0 |
13 | 9.0 | 6.0 | 4.0 | 6.0 | 9.0 | 9.0 | 3.0 | 6.0 | 8.0 | 9.0 | ... | 6.0 | 7.0 | 8.0 | 4.0 | 9.0 | 9.0 | 8.0 | 9.0 | 7.0 | 8.0 |
14 | 8.0 | 7.0 | 5.0 | 5.0 | 5.0 | 9.0 | 4.0 | 5.0 | 4.0 | 3.0 | ... | 4.0 | 4.0 | 6.0 | 5.0 | 8.0 | 6.0 | 9.0 | 4.0 | 9.0 | 5.0 |
15 | 7.0 | 4.0 | 7.0 | 4.0 | 7.0 | 3.0 | 3.0 | 7.0 | 5.0 | 3.0 | ... | 6.0 | 6.0 | 6.0 | 6.0 | 4.0 | 6.0 | 8.0 | 5.0 | 7.0 | 7.0 |
16 | 6.0 | 4.0 | 2.0 | 2.0 | 7.0 | 6.0 | 4.0 | 5.0 | 5.0 | 8.0 | ... | 4.0 | 6.0 | 6.0 | 5.0 | 7.0 | 5.0 | 9.0 | 6.0 | 9.0 | 6.0 |
17 | 8.0 | 7.0 | 5.0 | 5.0 | 6.0 | 8.0 | 3.0 | 5.0 | 6.0 | 3.0 | ... | 3.0 | 5.0 | 4.0 | 5.0 | 7.0 | 9.0 | 8.0 | 4.0 | 9.0 | 4.0 |
18 | 5.0 | 9.0 | 8.0 | 5.0 | 7.0 | 5.0 | 5.0 | 5.0 | 9.0 | 4.0 | ... | 6.0 | 6.0 | 7.0 | 7.0 | 8.0 | 7.0 | 9.0 | 5.0 | 8.0 | 5.0 |
19 | 6.0 | 6.0 | 6.0 | 8.0 | 8.0 | 6.0 | 1.0 | 5.0 | 7.0 | 8.0 | ... | 5.0 | 7.0 | 7.0 | 7.0 | 7.0 | 6.0 | 7.0 | 7.0 | 8.0 | 8.0 |
20 | 9.0 | 9.0 | 6.0 | 6.0 | 8.0 | 7.0 | 7.0 | 9.0 | 6.0 | 6.0 | ... | 7.0 | 6.0 | 5.0 | 9.0 | 9.0 | 9.0 | 9.0 | 7.0 | 4.0 | 8.0 |
21 | 7.0 | 9.0 | 9.0 | 7.0 | 9.0 | 8.0 | 3.0 | 1.0 | 6.0 | 1.0 | ... | 8.0 | 8.0 | 8.0 | 5.0 | 8.0 | 6.0 | 7.0 | 8.0 | 4.0 | 8.0 |
22 | 8.0 | 8.0 | 9.0 | 8.0 | 8.0 | 8.0 | 6.0 | 6.0 | 6.0 | 9.0 | ... | 5.0 | 8.0 | 8.0 | 4.0 | 9.0 | 8.0 | 9.0 | 5.0 | 5.0 | 8.0 |
23 | 7.0 | 7.0 | 6.0 | 5.0 | 4.0 | 7.0 | 4.0 | 5.0 | 5.0 | 8.0 | ... | 9.0 | 9.0 | 3.0 | 7.0 | 7.0 | 3.0 | 5.0 | 9.0 | 9.0 | 9.0 |
24 | 7.0 | 6.0 | 7.0 | 9.0 | 9.0 | 8.0 | 4.0 | 6.0 | 8.0 | 9.0 | ... | 6.0 | 8.0 | 8.0 | 5.0 | 8.0 | 4.0 | 8.0 | 9.0 | 3.0 | 9.0 |
25 | 7.0 | 5.0 | 8.0 | 7.0 | 9.0 | 9.0 | 5.0 | 9.0 | 4.0 | 4.0 | ... | 5.0 | 4.0 | 4.0 | 8.0 | 9.0 | 8.0 | 8.0 | 6.0 | 1.0 | 7.0 |
26 | 7.0 | 9.0 | 7.0 | 7.0 | 8.0 | 5.0 | 3.0 | 4.0 | 8.0 | 9.0 | ... | 2.0 | 8.0 | 8.0 | 9.0 | 8.0 | 9.0 | 6.0 | 3.0 | 1.0 | 7.0 |
27 | 7.0 | 6.0 | 1.0 | 7.0 | 8.0 | 8.0 | 4.0 | 4.0 | 4.0 | 6.0 | ... | 3.0 | 6.0 | 6.0 | 4.0 | 8.0 | 4.0 | 8.0 | 7.0 | 8.0 | 7.0 |
28 | 6.0 | 7.0 | 7.0 | 8.0 | 8.0 | 9.0 | 8.0 | 9.0 | 9.0 | 6.0 | ... | 5.0 | 9.0 | 8.0 | 7.0 | 9.0 | 7.0 | 7.0 | 5.0 | 5.0 | 3.0 |
29 | 7.0 | 7.0 | 7.0 | 7.0 | 9.0 | 9.0 | 6.0 | 9.0 | 9.0 | 9.0 | ... | 9.0 | 9.0 | 5.0 | 5.0 | 9.0 | 6.0 | 9.0 | 7.0 | 9.0 | 6.0 |
... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... |
50 | 7.0 | 8.0 | 6.0 | 3.0 | 5.0 | 6.0 | 6.0 | 6.0 | 3.0 | 8.0 | ... | 4.0 | 5.0 | 2.0 | 3.0 | 8.0 | 5.0 | 8.0 | 3.0 | 8.0 | 2.0 |
51 | 9.0 | 4.0 | 5.0 | 3.0 | 7.0 | 7.0 | 1.0 | 5.0 | 3.0 | 4.0 | ... | 8.0 | 6.0 | 2.0 | 4.0 | 9.0 | 8.0 | 7.0 | 5.0 | 5.0 | 9.0 |
52 | 9.0 | 8.0 | 7.0 | 6.0 | 9.0 | 8.0 | 6.0 | 9.0 | 5.0 | 1.0 | ... | 7.0 | 9.0 | 7.0 | 6.0 | 9.0 | 5.0 | 3.0 | 9.0 | 1.0 | 9.0 |
53 | 8.0 | 8.0 | 7.0 | 5.0 | 7.0 | 7.0 | 8.0 | 4.0 | 4.0 | 8.0 | ... | 5.0 | 4.0 | 4.0 | 4.0 | 7.0 | 6.0 | 3.0 | 4.0 | 6.0 | 5.0 |
54 | 7.0 | 7.0 | 8.0 | 7.0 | 6.0 | 9.0 | 5.0 | 9.0 | 5.0 | 7.0 | ... | 5.0 | 6.0 | 5.0 | 9.0 | 9.0 | 7.0 | 9.0 | 7.0 | 8.0 | 9.0 |
55 | 5.0 | 7.0 | 5.0 | 5.0 | 5.0 | 9.0 | 5.0 | 5.0 | 5.0 | 5.0 | ... | 4.0 | 6.0 | 5.0 | 5.0 | 9.0 | 9.0 | 8.0 | 5.0 | 9.0 | 8.0 |
56 | 9.0 | 9.0 | 9.0 | 9.0 | 9.0 | 6.0 | 6.0 | 9.0 | 8.0 | 9.0 | ... | 7.0 | 8.0 | 6.0 | 6.0 | 8.0 | 7.0 | 9.0 | 7.0 | 1.0 | 9.0 |
57 | 9.0 | 3.0 | 5.0 | 7.0 | 6.0 | 3.0 | 2.0 | 4.0 | 5.0 | 8.0 | ... | 5.0 | 1.0 | 6.0 | 3.0 | 8.0 | 2.0 | 7.0 | 1.0 | 1.0 | 3.0 |
58 | 7.0 | 7.0 | 7.0 | 4.0 | 6.0 | 6.0 | 7.0 | 7.0 | 4.0 | 6.0 | ... | 7.0 | 8.0 | 3.0 | 6.0 | 7.0 | 7.0 | 8.0 | 6.0 | 3.0 | 6.0 |
59 | 7.0 | 8.0 | 8.0 | 5.0 | 7.0 | 4.0 | 4.0 | 4.0 | 3.0 | 9.0 | ... | 5.0 | 6.0 | 4.0 | 5.0 | 5.0 | 8.0 | 7.0 | 6.0 | 5.0 | 6.0 |
60 | 6.0 | 4.0 | 3.0 | 5.0 | 9.0 | 6.0 | 4.0 | 3.0 | 4.0 | 5.0 | ... | 3.0 | 4.0 | 3.0 | 5.0 | 8.0 | 5.0 | 1.0 | 3.0 | 5.0 | 1.0 |
61 | 7.0 | 8.0 | 6.0 | 5.0 | 9.0 | 8.0 | 7.0 | 7.0 | 5.0 | 4.0 | ... | 7.0 | 5.0 | 5.0 | 5.0 | 9.0 | 7.0 | 6.0 | 6.0 | 4.0 | 5.0 |
62 | 6.0 | 6.0 | 7.0 | 7.0 | 7.0 | 9.0 | 5.0 | 6.0 | 7.0 | 5.0 | ... | 6.0 | 8.0 | 7.0 | 5.0 | 9.0 | 5.0 | 6.0 | 6.0 | 8.0 | 5.0 |
63 | 8.0 | 7.0 | 9.0 | 6.0 | 9.0 | 9.0 | 6.0 | 9.0 | 3.0 | 7.0 | ... | 8.0 | 4.0 | 5.0 | 9.0 | 9.0 | 3.0 | 6.0 | 5.0 | 9.0 | 1.0 |
64 | 7.0 | 8.0 | 5.0 | 4.0 | 6.0 | 5.0 | 5.0 | 5.0 | 5.0 | 9.0 | ... | 4.0 | 7.0 | 7.0 | 5.0 | 6.0 | 4.0 | 8.0 | 5.0 | 4.0 | 6.0 |
65 | 7.0 | 7.0 | 7.0 | 7.0 | 8.0 | 6.0 | 5.0 | 9.0 | 5.0 | 8.0 | ... | 7.0 | 4.0 | 6.0 | 5.0 | 7.0 | 7.0 | 9.0 | 5.0 | 5.0 | 6.0 |
66 | 7.0 | 7.0 | 5.0 | 4.0 | 8.0 | 8.0 | 5.0 | 5.0 | 4.0 | 4.0 | ... | 5.0 | 3.0 | 3.0 | 4.0 | 8.0 | 7.0 | 8.0 | 5.0 | 3.0 | 4.0 |
67 | 5.0 | 5.0 | 6.0 | 7.0 | 7.0 | 9.0 | 6.0 | 6.0 | 9.0 | 6.0 | ... | 5.0 | 5.0 | 9.0 | 6.0 | 9.0 | 6.0 | 9.0 | 7.0 | 8.0 | 5.0 |
68 | 8.0 | 7.0 | 5.0 | 5.0 | 7.0 | 7.0 | 6.0 | 5.0 | 5.0 | 6.0 | ... | 6.0 | 5.0 | 4.0 | 5.0 | 7.0 | 8.0 | 5.0 | 5.0 | 5.0 | 5.0 |
69 | 7.0 | 7.0 | 9.0 | 8.0 | 9.0 | 5.0 | 8.0 | 8.0 | 5.0 | 6.0 | ... | 9.0 | 9.0 | 8.0 | 6.0 | 9.0 | 8.0 | 9.0 | 7.0 | 7.0 | 7.0 |
70 | 7.0 | 7.0 | 6.0 | 6.0 | 8.0 | 9.0 | 6.0 | 5.0 | 5.0 | 5.0 | ... | 5.0 | 7.0 | 5.0 | 5.0 | 9.0 | 7.0 | 3.0 | 7.0 | 6.0 | 8.0 |
71 | 6.0 | 7.0 | 5.0 | 6.0 | 4.0 | 8.0 | 8.0 | 7.0 | 6.0 | 8.0 | ... | 4.0 | 2.0 | 6.0 | 8.0 | 4.0 | 7.0 | 8.0 | 3.0 | 2.0 | 6.0 |
72 | 6.0 | 6.0 | 5.0 | 8.0 | 8.0 | 7.0 | 3.0 | 6.0 | 7.0 | 7.0 | ... | 6.0 | 7.0 | 8.0 | 7.0 | 8.0 | 5.0 | 8.0 | 8.0 | 8.0 | 7.0 |
73 | 8.0 | 8.0 | 4.0 | 8.0 | 9.0 | 7.0 | 3.0 | 6.0 | 6.0 | 3.0 | ... | 5.0 | 4.0 | 8.0 | 8.0 | 9.0 | 8.0 | 9.0 | 6.0 | 9.0 | 4.0 |
74 | 4.0 | 6.0 | 2.0 | 3.0 | 6.0 | 6.0 | 8.0 | 5.0 | 4.0 | 2.0 | ... | 3.0 | 2.0 | 3.0 | 2.0 | 6.0 | 8.0 | 1.0 | 1.0 | 2.0 | 2.0 |
75 | 5.0 | 6.0 | 4.0 | 9.0 | 6.0 | 7.0 | 4.0 | 3.0 | 6.0 | 5.0 | ... | 5.0 | 5.0 | 5.0 | 5.0 | 7.0 | 7.0 | 4.0 | 4.0 | 4.0 | 4.0 |
76 | 7.0 | 5.0 | 6.0 | 6.0 | 8.0 | 9.0 | 4.0 | 4.0 | 4.0 | 5.0 | ... | 3.0 | 9.0 | 5.0 | 5.0 | 9.0 | 7.0 | 6.0 | 5.0 | 6.0 | 7.0 |
77 | 4.0 | 8.0 | 8.0 | 9.0 | 9.0 | 9.0 | 4.0 | 8.0 | 9.0 | 1.0 | ... | 6.0 | 8.0 | 9.0 | 5.0 | 9.0 | 9.0 | 9.0 | 4.0 | 9.0 | 9.0 |
78 | 9.0 | 7.0 | 7.0 | 5.0 | 4.0 | 6.0 | 7.0 | 7.0 | 4.0 | 5.0 | ... | 9.0 | 7.0 | 4.0 | 5.0 | 8.0 | 8.0 | 5.0 | 5.0 | 8.0 | 4.0 |
79 | 8.0 | 5.0 | 5.0 | 2.0 | 5.0 | 4.0 | 7.0 | 1.0 | 5.0 | 5.0 | ... | 4.0 | 5.0 | 5.0 | 5.0 | 5.0 | 7.0 | 1.0 | 1.0 | 5.0 | 5.0 |
80 rows × 21 columns
__課題9.4__:作成した MatrixT をもとに、アイスクリームの好みに関する相関係数を作成してください。また、その相関行列をカラーマップで図示してください。
# 相関行列を計算し表示する
cormatT = correlation_matrix(matrixT)
pd.DataFrame(cormatT)
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | ... | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0 | 1.000000 | 0.011381 | 0.495591 | 0.413890 | -0.070105 | -0.136815 | 0.690602 | -0.109666 | 0.017512 | 0.580423 | ... | 0.544725 | -0.038752 | -0.229693 | -8.804017e-02 | 0.329103 | 0.027056 | 0.515384 | 0.122253 | 0.127640 | -0.042397 |
1 | 0.011381 | 1.000000 | -0.429860 | -0.179789 | 0.046072 | -0.106825 | 0.004457 | 0.389208 | 0.225875 | 0.037866 | ... | 0.299920 | -0.025166 | 0.585508 | 2.277762e-01 | -0.344459 | 0.240827 | 0.455067 | 0.175518 | -0.478230 | -0.177101 |
2 | 0.495591 | -0.429860 | 1.000000 | 0.666794 | -0.023783 | -0.004480 | 0.574312 | -0.269097 | 0.181891 | 0.150580 | ... | 0.353737 | -0.106153 | -0.374887 | -7.355253e-02 | 0.562616 | 0.006664 | 0.133937 | -0.173151 | 0.252252 | 0.210168 |
3 | 0.413890 | -0.179789 | 0.666794 | 1.000000 | 0.022780 | 0.055789 | 0.693344 | -0.108406 | 0.484647 | 0.465862 | ... | 0.398989 | 0.109995 | -0.486135 | -1.263707e-01 | 0.699302 | 0.275118 | 0.315077 | -0.015813 | 0.296380 | 0.477380 |
4 | -0.070105 | 0.046072 | -0.023783 | 0.022780 | 1.000000 | 0.517517 | 0.254505 | -0.421860 | 0.333325 | 0.193671 | ... | 0.092018 | -0.371756 | 0.265690 | 4.695911e-01 | -0.030744 | 0.117856 | 0.293513 | 0.027389 | 0.563606 | 0.111392 |
5 | -0.136815 | -0.106825 | -0.004480 | 0.055789 | 0.517517 | 1.000000 | 0.041814 | -0.111559 | 0.231147 | 0.210932 | ... | -0.269976 | -0.027542 | 0.142769 | 3.448676e-01 | 0.022863 | -0.001553 | 0.105472 | 0.067078 | 0.382004 | -0.143398 |
6 | 0.690602 | 0.004457 | 0.574312 | 0.693344 | 0.254505 | 0.041814 | 1.000000 | -0.132954 | 0.498964 | 0.608964 | ... | 0.628002 | 0.010507 | -0.255671 | 2.002099e-01 | 0.594260 | 0.381463 | 0.523324 | 0.127772 | 0.347021 | 0.372045 |
7 | -0.109666 | 0.389208 | -0.269097 | -0.108406 | -0.421860 | -0.111559 | -0.132954 | 1.000000 | 0.193952 | -0.001549 | ... | -0.239712 | 0.368370 | 0.221048 | 3.509571e-01 | -0.185779 | 0.026056 | -0.022049 | 0.327307 | -0.439491 | -0.210063 |
8 | 0.017512 | 0.225875 | 0.181891 | 0.484647 | 0.333325 | 0.231147 | 0.498964 | 0.193952 | 1.000000 | 0.273518 | ... | 0.351357 | -0.188773 | 0.192168 | 5.533842e-01 | 0.410637 | 0.564432 | 0.361619 | 0.439725 | 0.231358 | 0.174258 |
9 | 0.580423 | 0.037866 | 0.150580 | 0.465862 | 0.193671 | 0.210932 | 0.608964 | -0.001549 | 0.273518 | 1.000000 | ... | 0.203558 | 0.122318 | -0.270258 | 5.984268e-02 | 0.324001 | 0.277220 | 0.323540 | 0.078432 | 0.274879 | 0.064651 |
10 | 0.316308 | 0.360266 | 0.072104 | 0.263658 | 0.140574 | 0.128461 | 0.248054 | 0.226927 | 0.171407 | 0.349130 | ... | 0.085416 | 0.074494 | 0.199551 | 2.838889e-02 | -0.157273 | 0.170500 | 0.489777 | 0.075490 | -0.148360 | -0.245010 |
11 | -0.233146 | 0.249345 | -0.101409 | -0.015056 | 0.405708 | 0.147665 | -0.118301 | 0.195115 | 0.139514 | -0.028784 | ... | -0.012865 | -0.182562 | 0.234755 | 3.860450e-01 | -0.119018 | -0.235456 | 0.139139 | 0.072196 | 0.215049 | 0.170200 |
12 | 0.339743 | 0.408903 | 0.127257 | 0.262064 | 0.143607 | 0.067635 | 0.321651 | 0.050737 | 0.533430 | 0.029582 | ... | 0.630606 | -0.244461 | 0.350348 | 2.661770e-01 | 0.232690 | 0.428598 | 0.816513 | 0.570403 | -0.079985 | 0.034148 |
13 | 0.286075 | 0.335538 | 0.250452 | 0.052130 | 0.149505 | -0.041519 | 0.352102 | -0.114969 | 0.105604 | -0.170181 | ... | 0.429988 | -0.084592 | 0.439664 | 2.578992e-01 | 0.060623 | 0.312119 | 0.522628 | 0.059502 | -0.225332 | 0.033838 |
14 | -0.018603 | 0.107080 | -0.225151 | -0.200055 | 0.635680 | 0.398999 | 0.123690 | 0.104492 | 0.294512 | -0.006095 | ... | 0.069886 | -0.021034 | 0.313381 | 7.013962e-01 | 0.050519 | 0.058934 | 0.319629 | 0.460915 | 0.345603 | -0.041135 |
15 | 0.110569 | 0.041797 | -0.074796 | -0.180894 | 0.006937 | -0.004356 | -0.069804 | 0.450200 | -0.085751 | -0.003660 | ... | -0.296513 | -0.295576 | 0.178755 | 2.659591e-01 | -0.394390 | -0.482760 | 0.002605 | 0.334767 | 0.049055 | -0.121640 |
16 | 0.059220 | 0.246302 | 0.019735 | -0.259917 | 0.186100 | 0.286797 | -0.067533 | -0.047718 | -0.091210 | -0.242421 | ... | 0.067284 | -0.073657 | 0.425416 | 2.394208e-01 | -0.154415 | -0.195771 | 0.345690 | -0.073867 | -0.179052 | -0.003851 |
17 | 0.061599 | 0.082401 | 0.063898 | 0.040488 | 0.551937 | 0.500429 | 0.333333 | 0.140592 | 0.407840 | 0.080342 | ... | 0.179265 | -0.047480 | 0.194399 | 7.196625e-01 | 0.229076 | 0.249538 | 0.438868 | 0.496076 | 0.337411 | 0.122782 |
18 | -0.050597 | 0.077252 | -0.189067 | -0.181677 | 0.181774 | 0.287027 | 0.056919 | 0.164409 | 0.167812 | 0.124165 | ... | -0.205029 | -0.133898 | 0.170337 | 5.000669e-01 | 0.002075 | 0.042271 | -0.016991 | 0.547222 | 0.016000 | 0.021424 |
19 | -0.081522 | 0.793626 | -0.334841 | -0.312978 | -0.005712 | -0.045058 | -0.080817 | 0.319569 | 0.143956 | -0.172342 | ... | 0.182175 | -0.233210 | 0.716373 | 2.994685e-01 | -0.449742 | 0.304097 | 0.418165 | 0.202481 | -0.482127 | -0.164492 |
20 | 0.636428 | 0.061873 | 0.412526 | 0.342274 | -0.279599 | -0.053048 | 0.561656 | 0.323021 | 0.057583 | 0.447293 | ... | 0.296492 | 0.446955 | -0.266120 | 1.568838e-01 | 0.402782 | 0.129034 | 0.238060 | -0.103207 | 0.023425 | 0.089917 |
21 | 0.533762 | 0.295168 | -0.041501 | -0.017707 | 0.035927 | -0.403022 | 0.476515 | 0.038043 | 0.170314 | 0.299853 | ... | 0.485795 | -0.284937 | 0.183164 | 2.209621e-01 | -0.008984 | 0.366089 | 0.470883 | 0.384338 | -0.127022 | 0.082465 |
22 | 0.439137 | 0.402610 | -0.039401 | 0.314311 | -0.001392 | -0.097041 | 0.320431 | -0.001158 | 0.060497 | 0.226978 | ... | 0.348985 | 0.232317 | -0.013716 | -3.296485e-02 | 0.181905 | 0.360856 | 0.595870 | 0.151449 | -0.164891 | 0.186739 |
23 | -0.080472 | 0.141680 | -0.252007 | -0.412978 | 0.207960 | 0.047504 | -0.226635 | -0.272490 | -0.232447 | -0.198672 | ... | 0.105353 | -0.486873 | 0.272258 | -2.338457e-01 | -0.554904 | -0.285018 | 0.027444 | -0.243693 | 0.278473 | -0.146648 |
24 | 0.365360 | 0.587777 | -0.014129 | -0.001353 | -0.267340 | -0.454264 | 0.105488 | 0.113391 | -0.083016 | 0.034573 | ... | 0.291259 | 0.024815 | 0.397258 | -1.536747e-01 | -0.233915 | 0.283985 | 0.368032 | -0.039940 | -0.621889 | -0.253676 |
25 | 0.699258 | 0.295171 | 0.273077 | 0.354027 | -0.170759 | -0.160398 | 0.570722 | 0.315001 | 0.110788 | 0.637331 | ... | 0.404968 | 0.391800 | -0.130490 | 1.415886e-01 | 0.344112 | 0.274569 | 0.429670 | 0.103488 | -0.147988 | -0.093074 |
26 | 0.163611 | 0.468272 | 0.010533 | 0.389432 | -0.256617 | -0.056442 | 0.364806 | 0.340298 | 0.199251 | 0.241243 | ... | 0.238847 | 0.360746 | 0.007897 | 5.287587e-02 | 0.174384 | 0.465399 | 0.393212 | 0.014336 | -0.396071 | 0.352194 |
27 | 0.007670 | 0.350740 | -0.086905 | -0.253881 | 0.315259 | 0.124857 | -0.081104 | 0.053650 | 0.205493 | -0.311887 | ... | 0.314659 | -0.190793 | 0.692315 | 5.210868e-01 | -0.090334 | 0.220853 | 0.504390 | 0.203201 | -0.179435 | -0.194098 |
28 | 0.225204 | 0.055919 | 0.334841 | 0.608261 | 0.104238 | 0.331548 | 0.434616 | 0.061775 | 0.578306 | 0.496120 | ... | 0.092461 | 0.187582 | -0.063846 | 1.497342e-01 | 0.471345 | 0.395126 | 0.254920 | 0.274407 | -0.075727 | -0.022533 |
29 | 0.127702 | 0.062291 | 0.057878 | -0.003696 | 0.372203 | 0.395544 | -0.020006 | -0.301724 | 0.102297 | 0.160507 | ... | -0.039771 | -0.338846 | 0.325467 | 4.842430e-02 | -0.087508 | -0.020057 | 0.139743 | 0.159569 | 0.210887 | -0.341368 |
... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... |
50 | 0.122120 | -0.011988 | 0.032179 | 0.117124 | 0.545203 | 0.588524 | 0.100105 | -0.311226 | 0.055338 | 0.195276 | ... | 0.010205 | 0.064592 | -0.120636 | 1.653846e-01 | 0.197045 | -0.105939 | 0.183778 | -0.117916 | 0.520589 | 0.100480 |
51 | 0.582650 | 0.139073 | 0.174480 | 0.112710 | 0.216280 | -0.032142 | 0.501126 | -0.039244 | 0.034890 | 0.301043 | ... | 0.474210 | -0.199547 | 0.126257 | 1.969037e-01 | 0.046932 | 0.089994 | 0.569168 | 0.171203 | 0.324672 | 0.118782 |
52 | 0.755819 | 0.175622 | 0.488490 | 0.481304 | -0.251784 | -0.477916 | 0.673734 | 0.115283 | 0.290788 | 0.368454 | ... | 0.631062 | -0.101995 | -0.140868 | -8.002520e-02 | 0.287034 | 0.130218 | 0.377335 | 0.082258 | -0.044808 | 0.061332 |
53 | 0.164159 | 0.048591 | 0.158784 | 0.410092 | 0.241251 | -0.122210 | 0.338711 | -0.411931 | 0.114587 | 0.192601 | ... | 0.519759 | 0.184259 | -0.458137 | -1.375925e-01 | 0.549807 | 0.237788 | 0.252774 | -0.336042 | 0.317377 | 0.626392 |
54 | 0.263070 | 0.537325 | -0.211538 | -0.191565 | 0.047565 | 0.210578 | 0.079766 | 0.371986 | -0.022047 | 0.190108 | ... | 0.222611 | 0.236431 | 0.191048 | 2.252546e-01 | -0.139564 | -0.059979 | 0.399133 | 0.153017 | -0.016817 | -0.285228 |
55 | 0.073222 | 0.074746 | -0.146411 | -0.160492 | 0.319882 | 0.409330 | 0.099527 | -0.073647 | 0.109572 | -0.101904 | ... | 0.322454 | -0.042858 | 0.216501 | 4.083203e-01 | 0.177092 | 0.155032 | 0.500792 | 0.521172 | 0.220501 | 0.035981 |
56 | 0.566825 | 0.298898 | 0.236683 | 0.370406 | -0.460885 | -0.369173 | 0.339440 | 0.249301 | -0.067262 | 0.338457 | ... | 0.201015 | 0.334671 | -0.174451 | -2.450114e-01 | 0.118727 | 0.219649 | 0.205076 | -0.140278 | -0.299935 | -0.023486 |
57 | 0.064036 | 0.361799 | -0.078139 | 0.166794 | 0.132526 | -0.183348 | 0.141217 | 0.142417 | 0.131175 | 0.213052 | ... | -0.051333 | 0.284280 | 0.163205 | 1.681086e-01 | -0.002532 | 0.309468 | 0.115063 | -0.149592 | -0.122019 | 0.075520 |
58 | 0.700372 | -0.286024 | 0.350786 | 0.369591 | -0.018826 | 0.209712 | 0.405613 | -0.144369 | -0.267476 | 0.579790 | ... | 0.101804 | 0.151119 | -0.432974 | -2.547258e-01 | 0.182376 | -0.201840 | 0.197294 | -0.214811 | 0.393570 | 0.020667 |
59 | 0.095099 | 0.103596 | -0.156417 | -0.001665 | 0.182694 | 0.192333 | -0.009011 | -0.135903 | -0.346200 | 0.066342 | ... | -0.008268 | 0.015262 | -0.058639 | -2.908180e-02 | -0.135984 | -0.051194 | 0.147675 | -0.240185 | 0.157047 | 0.146976 |
60 | 0.120651 | 0.259209 | 0.323390 | 0.495602 | 0.454470 | 0.166098 | 0.506058 | -0.193591 | 0.615115 | 0.391340 | ... | 0.568748 | -0.129087 | 0.118479 | 3.812537e-01 | 0.510060 | 0.567984 | 0.509844 | -0.024624 | 0.124259 | 0.393969 |
61 | 0.764145 | -0.045753 | 0.515813 | 0.520527 | 0.109355 | -0.083693 | 0.771746 | -0.147843 | 0.330000 | 0.611246 | ... | 0.581318 | 0.113243 | -0.252074 | 2.466059e-01 | 0.714425 | 0.300048 | 0.364382 | 0.133080 | 0.228218 | 0.146203 |
62 | 0.281455 | 0.434798 | 0.022301 | 0.126028 | 0.455068 | 0.132492 | 0.390819 | -0.183566 | 0.594446 | 0.279397 | ... | 0.477408 | -0.411272 | 0.372041 | 2.798790e-01 | 0.080924 | 0.386418 | 0.605758 | 0.466970 | 0.055255 | -0.058030 |
63 | 0.092925 | 0.255560 | -0.083754 | 0.084806 | 0.553401 | 0.309420 | 0.215881 | -0.073864 | 0.341216 | 0.538699 | ... | 0.049329 | -0.010507 | 0.020185 | 2.903043e-01 | 0.099043 | -0.018658 | 0.048332 | -0.145309 | 0.348765 | -0.066937 |
64 | 0.106292 | 0.304024 | -0.138206 | 0.035931 | -0.029300 | 0.098898 | -0.034805 | 0.060943 | -0.192401 | -0.106285 | ... | -0.084531 | 0.260075 | 0.151734 | -8.259374e-02 | -0.167913 | -0.140262 | 0.162261 | -0.285257 | -0.247470 | 0.082199 |
65 | 0.309698 | 0.186028 | -0.020521 | 0.129727 | -0.043143 | 0.054981 | 0.121292 | 0.215363 | -0.029408 | 0.299272 | ... | -0.130162 | 0.396462 | -0.007693 | 1.888602e-01 | 0.155908 | 0.056891 | -0.002858 | 0.023633 | -0.011963 | -0.258977 |
66 | 0.686173 | 0.061957 | 0.337809 | 0.291704 | 0.212740 | 0.068411 | 0.643459 | -0.036361 | 0.131826 | 0.534617 | ... | 0.433481 | 0.296655 | -0.103261 | 3.869879e-01 | 0.537464 | 0.322381 | 0.448109 | 0.115352 | 0.136341 | 0.068968 |
67 | -0.209925 | 0.197177 | -0.174347 | -0.294626 | 0.358844 | 0.229935 | -0.112348 | -0.024345 | 0.165974 | -0.131032 | ... | -0.108612 | -0.005468 | 0.545061 | 4.949144e-01 | -0.031774 | 0.198519 | 0.120561 | 0.445254 | -0.302202 | -0.311086 |
68 | 0.417824 | -0.144361 | 0.463315 | 0.543826 | 0.311492 | 0.095186 | 0.699688 | -0.268688 | 0.268001 | 0.380099 | ... | 0.559698 | 0.184941 | -0.330013 | 2.184864e-01 | 0.693500 | 0.427670 | 0.407172 | -0.131410 | 0.449356 | 0.532649 |
69 | 0.537896 | -0.099385 | 0.184689 | 0.226039 | -0.043143 | -0.045419 | 0.225561 | -0.080233 | 0.073521 | 0.425810 | ... | 0.074843 | -0.270315 | -0.142322 | -3.049846e-17 | 0.090753 | -0.017779 | 0.217243 | 0.158986 | 0.176460 | -0.034708 |
70 | 0.544725 | 0.299920 | 0.353737 | 0.398989 | 0.092018 | -0.269976 | 0.628002 | -0.239712 | 0.351357 | 0.203558 | ... | 1.000000 | -0.203524 | -0.029723 | 3.571907e-02 | 0.466824 | 0.426935 | 0.738256 | 0.140477 | 0.072000 | 0.354692 |
71 | -0.038752 | -0.025166 | -0.106153 | 0.109995 | -0.371756 | -0.027542 | 0.010507 | 0.368370 | -0.188773 | 0.122318 | ... | -0.203524 | 1.000000 | -0.386195 | -8.881371e-02 | 0.321723 | 0.111196 | -0.192897 | -0.226316 | -0.265825 | 0.079099 |
72 | -0.229693 | 0.585508 | -0.374887 | -0.486135 | 0.265690 | 0.142769 | -0.255671 | 0.221048 | 0.192168 | -0.270258 | ... | -0.029723 | -0.386195 | 1.000000 | 5.368296e-01 | -0.534652 | 0.177384 | 0.245031 | 0.325315 | -0.394026 | -0.498062 |
73 | -0.088040 | 0.227776 | -0.073553 | -0.126371 | 0.469591 | 0.344868 | 0.200210 | 0.350957 | 0.553384 | 0.059843 | ... | 0.035719 | -0.088814 | 0.536830 | 1.000000e+00 | 0.109469 | 0.356848 | 0.233084 | 0.491879 | 0.056280 | -0.125600 |
74 | 0.329103 | -0.344459 | 0.562616 | 0.699302 | -0.030744 | 0.022863 | 0.594260 | -0.185779 | 0.410637 | 0.324001 | ... | 0.466824 | 0.321723 | -0.534652 | 1.094695e-01 | 1.000000 | 0.399011 | 0.184077 | 0.127396 | 0.249811 | 0.459620 |
75 | 0.027056 | 0.240827 | 0.006664 | 0.275118 | 0.117856 | -0.001553 | 0.381463 | 0.026056 | 0.564432 | 0.277220 | ... | 0.426935 | 0.111196 | 0.177384 | 3.568481e-01 | 0.399011 | 1.000000 | 0.416807 | 0.270717 | -0.084503 | 0.150867 |
76 | 0.515384 | 0.455067 | 0.133937 | 0.315077 | 0.293513 | 0.105472 | 0.523324 | -0.022049 | 0.361619 | 0.323540 | ... | 0.738256 | -0.192897 | 0.245031 | 2.330844e-01 | 0.184077 | 0.416807 | 1.000000 | 0.327008 | -0.007027 | 0.232111 |
77 | 0.122253 | 0.175518 | -0.173151 | -0.015813 | 0.027389 | 0.067078 | 0.127772 | 0.327307 | 0.439725 | 0.078432 | ... | 0.140477 | -0.226316 | 0.325315 | 4.918785e-01 | 0.127396 | 0.270717 | 0.327008 | 1.000000 | -0.077469 | -0.191747 |
78 | 0.127640 | -0.478230 | 0.252252 | 0.296380 | 0.563606 | 0.382004 | 0.347021 | -0.439491 | 0.231358 | 0.274879 | ... | 0.072000 | -0.265825 | -0.394026 | 5.627984e-02 | 0.249811 | -0.084503 | -0.007027 | -0.077469 | 1.000000 | 0.282244 |
79 | -0.042397 | -0.177101 | 0.210168 | 0.477380 | 0.111392 | -0.143398 | 0.372045 | -0.210063 | 0.174258 | 0.064651 | ... | 0.354692 | 0.079099 | -0.498062 | -1.255995e-01 | 0.459620 | 0.150867 | 0.232111 | -0.191747 | 0.282244 | 1.000000 |
80 rows × 80 columns
# 得られた相関行列をカラーマップで表示する。
import matplotlib.ticker as ticker
plt.pcolor(cormatT, cmap=plt.cm.Blues)
plt.colorbar()
plt.gca().get_xaxis().set_major_locator(ticker.MaxNLocator(integer=True))
plt.gca().get_yaxis().set_major_locator(ticker.MaxNLocator(integer=True))
plt.xlim([0, len(cormatT)])
plt.ylim([0, len(cormatT)])
plt.show()
__課題9.5__:作成した matrixT をもとに、アイスクリームの好みに関する因子分析を実行し、80人の男女を色分けして、第一因子と第二因子でプロットしてください。また、この結果から、アイスクリームの好みに関して言えることを考察してください。
# 因子分析の実行
fa = FactorAnalysis()
factors = fa.fit_transform(normalize2(matrixT))
# 第一因子と第二因子でプロットする
plt.figure(figsize=(8, 8))
for x, y, name in zip(factors[:, 0], factors[:, 1], ids):
plt.text(x, y, name, alpha=0.8, size=8)
plt.scatter(factors[:, 0], factors[:, 1], alpha=0.7, c=gender, cmap=plt.cm.Blues)
plt.title("Factor Analysis")
plt.xlabel("The factor score")
plt.ylabel("The factor score")
plt.grid(True)
plt.show()
# この結果から、アイスクリームの好みに関して言えることを考察してください。
# 1番〜40番は女性、41番〜80番は男性であるが、相関行列のカラーマップを見た限り、
# 女性と男性で好みがくっきり分かれるということではなさそうである。
# しかし因子分析のプロットでは比較的男性の多いエリア、比較的女性の多いエリアなどがあるので、
# 男性に好まれる味の傾向、女性に好まれる味の傾向というものはありそうである。
__今日の課題提出__:計算結果を.ipynb ファイル(または.jsonファイル)として保存し、指定したアドレスまでメールしてください。メールタイトルは「__アイスクリーム統計学789__」とし、メール本文に学籍番号と氏名を明記のこと。また、感想も書いてくれると喜びます。今後の講義の改善につながるかも知れません。