我正在尝试在不同的特征分数和相应的录取机会之间绘制8x8 correlation matrix
。我可以知道应该怎么做吗?
import tensorflow as tf
import numpy as np
import pylab as plt
from sklearn.model_selection import train_test_split
from sklearn import preprocessing
import pandas as pd
admit_data = np.genfromtxt('admission_predict.csv', delimiter= ',')
X_data, Y_data = admit_data[1:,1:8], admit_data[1:,-1]
x_train, x_test, y_train_, y_test_ = train_test_split(
X_data,
Y_data,
test_size=0.3,
random_state=42
)
scaler = preprocessing.StandardScaler()
x_train = scaler.fit_transform(x_train)
x_test = scaler.fit_transform(x_test)
y_train = y_train_.reshape(len(y_train_), no_labels)
y_test = y_test_.reshape(len(y_test_), no_labels)
data = admit_data
df = pd.DataFrame(data, columns = ['Serial No.','GRE Score','TOEFL Score','University Rating','SOP','LOR','CGPA','Research','Chance of Admit'])
df.corr()
这是我正在阅读的代码,我的文件看起来like this
请帮助我绘制8x8 correlation matrix
,到目前为止,我的代码未返回8x8 correlation matrix
答案 0 :(得分:1)
那
import matplotlib.pyplot as plt
cors = df.corr()
plt.matshow(cors)
plt.yticks(range(cors.shape[1]), cors.columns, fontsize=7)
plt.xticks(range(cors.shape[1]), cors.columns, fontsize=7, rotation=90)
plt.colorbar()
要使用除“序列号”列以外的所有列,请改用以下cors:
cors = df.drop("Serial No.", axis=1).corr()
答案 1 :(得分:0)
例如:
import numpy as np
import matplotlib.pyplot as plt
one = np.random.rand(80).reshape(8, 10)
corr = np.corrcoef(one)
fig, ax = plt.subplots(nrows=1, ncols=1, figsize=(6, 6))
mat = ax.imshow(corr)
fig.colorbar(mat, ax=ax, shrink=0.8)