def independentComponentAnalysis(data, n_components): kurtosis = {} for iterN in range(1, n_components): ic = FastICA(n_components = iterN, random_state= seed).fit_transform(data) ic = pd.DataFrame(ic) ic = ic.kurtosis(axis = 0) kurtosis[iterN] = ic.abs().mean() plt.figure() plt.plot(list(kurtosis.keys()), list(kurtosis.values())) plt.xlabel("Number of Components") plt.ylabel("Kurtosis") return plt, kurtosis, ic