[解決済み】ピアソン相関計算中に「ValueError: Connectenation axis のすべての入力配列寸法は正確に一致しなければなりません」を取り除くには?
2022-02-03 22:53:19
質問
を計算しようとしています。
Pearson Correlation
提供された gist に基づいて
ここで
. 変な話ですが
ValueError: all the input array dimensions for the concatenation axis must match exactly, but along dimension 1, the array at index 0 has size 52 and the array at index 1 has size 1
エラーが発生しました(データフレームには52件のレコードがあります)。
以下は提供された関数です。
def cor_selector(X, y, num_feats):
cor_list = []
feature_name = X.columns.tolist()
# calculate the correlation with y for each feature
for i in X.columns.tolist():
cor = np.corrcoef(X[i], y)[0, 1] # error happens during the 2nd call to here
cor_list.append(cor)
# replace NaN with 0
cor_list = [0 if np.isnan(i) else i for i in cor_list]
# feature name
cor_feature = X.iloc[:, np.argsort(np.abs(cor_list))[-num_feats:]].columns.tolist()
# feature selection? 0 for not select, 1 for select
cor_support = [True if i in cor_feature else False for i in feature_name]
return cor_support, cor_feature
以下は私のスクリプトです。
df = pd.read_csv(DATA_CSV) # shape: (52, 5)
X = df[['a', 'b', 'c']]
y = df[['d']]
num_feats = 3
cor_support, cor_feature = cor_selector(X, y, num_feats)
print(str(len(cor_feature)), 'selected features')
フルスタックトレース
Traceback (most recent call last):
File "/Applications/PyCharm.app/Contents/plugins/python/helpers/pydev/pydevd.py", line 1438, in _exec
pydev_imports.execfile(file, globals, locals) # execute the script
File "/Applications/PyCharm.app/Contents/plugins/python/helpers/pydev/_pydev_imps/_pydev_execfile.py", line 18, in execfile
exec(compile(contents+"\n", file, 'exec'), glob, loc)
File "/Users/talha/PycharmProjects/covid19/store_data.py", line 275, in <module>
cor_support, cor_feature = cor_selector(X, y, num_feats)
File "/Users/talha/PycharmProjects/covid19/store_data.py", line 254, in cor_selector
cor = np.corrcoef(X[i], y)[0, 1]
File "<__array_function__ internals>", line 6, in corrcoef
File "/Users/talha/.local/share/virtualenvs/covid19-g87yyZJK/lib/python3.7/site-packages/numpy/lib/function_base.py", line 2526, in corrcoef
c = cov(x, y, rowvar)
File "<__array_function__ internals>", line 6, in cov
File "/Users/talha/.local/share/virtualenvs/covid19-g87yyZJK/lib/python3.7/site-packages/numpy/lib/function_base.py", line 2390, in cov
X = np.concatenate((X, y), axis=0)
File "<__array_function__ internals>", line 6, in concatenate
解決方法は?
インデックス0にシリーズを、インデックス1にデータフレームを渡しているようです。
np.corrcoef
. スクリプトの中で
y = df[['d']]
を
y = df['d']
と入力すれば、動作するはずです。
関連
-
[解決済み] ImportError: IProgress が見つかりませんでした。インストールされていますが、jupyterとipywidgetsをアップデートしてください。
-
[解決済み] モジュール 'pandas' には属性 'Panel' がありません。
-
pandas DataFrame を日付比較に変換するとき、datetimelike 値の .dt アクセッサしか使用できないエラーが発生しました。
-
pandas 基本特性メソッド ランダム整理(3つ) --- 記述統計 / 重複排除カウント / グループソート
-
pandasがDataframeやSeriesを扱うとき、カラム名なしでデータのカラムを受け取る。
-
pandasを使ってexcelのvlookup関数を実装する
-
Pandasシリーズ関連トランスフォーム
-
[解決済み】データを3つのセット(トレーニング、検証、テスト)に分割する方法とは?)
-
[解決済み] PandasのDataFrame apply()で全コアを使用するようにするか?
-
[解決済み] pandasのデータフレームでNoneをNaNに置き換える
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】ピアソン相関計算中に「ValueError: Connectenation axis のすべての入力配列寸法は正確に一致しなければなりません」を取り除くには?
-
[解決済み] ImportError: IProgress が見つかりませんでした。インストールされていますが、jupyterとipywidgetsをアップデートしてください。
-
pandas DataFrame を日付比較に変換するとき、datetimelike 値の .dt アクセッサしか使用できないエラーが発生しました。
-
pandas 基本特性メソッド ランダム整理(3つ) --- 記述統計 / 重複排除カウント / グループソート
-
pandasがDataframeやSeriesを扱うとき、カラム名なしでデータのカラムを受け取る。
-
pandasを使ってexcelのvlookup関数を実装する
-
Pandasシリーズ関連トランスフォーム
-
pandas to_csv to save data with Chinese messy codeの問題と解決法
-
[解決済み】データを3つのセット(トレーニング、検証、テスト)に分割する方法とは?)
-
[解決済み] pandasのデータフレームでNoneをNaNに置き換える