whiten matrix times エラー。TypeError: flexible type で reduce を実行できない。
私はkmeansでクラスタリングする前にデータを正規化する必要があります。私の行列はデータベースから取得され、変換後、行列を正規化するために白色化を使用すると、エラーが発生します。
トレースバック (最も最近の呼び出し):
ファイル "<stdin>", 行 1, in <module>
ファイル "/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/scipy/cluster/vq.py", 行 133, in whiten
std_dev = std(obs, axis=0)
ファイル "/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/numpy/core/fromnumeric.py", 行 2817, in std
keepdims=keepdims)
ファイル "/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/numpy/core/_methods.py", 行 116, in _std
keepdims=keepdims)
ファイル "/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/numpy/core/_methods.py", 行 86, in _var
arrmean = um.add.reduce(arr, axis=axis, dtype=dtype, keepdims=True)
TypeError: flexible type で reduce を実行できない。
エラーの主な原因は、最後の文章です。 TypeError: flexible type で reduce を実行できません。
何度も印刷した結果、私の行列はdtypeを持たず、次のように印刷されることがわかりました。
<スパン
array([['1', '25', '1', ... , '0', '1', '9011.92'],
['0', '28', '0', ... , '0', '0', '2400'],
['1', '34', '1', ... , '0', '1', '1.97'],
... ,
['1', '31', '1', ... , '0', '1', '0'],
['0', '23', '1', ... , '0', '1', '3700'],
['0', '41', '1', ... , '0', '1', '3700']],
dtype='|S9')
そこで、dtypeの問題だろうと推測し、dtypeについて調べたら、この記事にたどり着き、こう啓発されました。<スパン http://www.cnblogs.com/hhh5460/p/5129032.html
行列のdtype型はastypeで変更できることがわかったので、試しに自分の行列のdtypeを
points = points.astype(float)
プリントアウトはすべて浮動小数点数です。
>>>プリントポイント
[[ 1.00000000e+00 2.50000000e+01 1.00000000e+00 ... , 0.00000000e+00
1.00000000e+00 9.01192000e+03]である。
[ 0.00000000e+00 2.80000000e+01 0.00000000e+00 ... , 0.00000000e+00
0.00000000e+00 2.40000000e+03] です。
[ 1.00000000e+00 3.40000000e+01 1.00000000e+00 ... , 0.00000000e+00
1.00000000e+00 1.97000000e+00]です。
... ,
[ 1.00000000e+00 3.10000000e+01 1.00000000e+00 ... , 0.00000000e+00
1.00000000e+00 0.00000000e+00]です。
[ 0.00000000e+00 2.30000000e+01 1.00000000e+00 ... , 0.00000000e+00
1.00000000e+00 3.70000000e+03]です。
[ 0.00000000e+00 4.10000000e+01 1.00000000e+00 ... , 0.00000000e+00
1.00000000e+00 3.70000000e+03]]
whiten関数で再度正規化すると、エラーは報告されない:。
>>> 白色化(ポイント)
array([[ 2.12715108e+00, 2.19163343e+00, 1.25619815e+00, ... ,
0.00000000e+00, 1.25619815e+00, 7.88747918e-01]です。
[ 0.00000000e+00, 2.45462944e+00, 0.00000000e+00, .... ,
0.00000000e+00, 0.00000000e+00, 2.10054573e-01]です。
[ 2.12715108e+00, 2.98062147e+00, 1.25619815e+00, ...]。,
0.00000000e+00, 1.25619815e+00, 1.72419795e-04]です。
... ,
[ 2.12715108e+00, 2.71762546e+00, 1.25619815e+00, ... ,
0.00000000e+00, 1.25619815e+00, 0.00000000e+00]です。
[ 0.00000000e+00, 2.01630276e+00, 1.25619815e+00, ...]。,
0.00000000e+00, 1.25619815e+00, 3.23834133e-01]です。
[ 0.00000000e+00, 3.59427883e+00, 1.25619815e+00, ...]。,
0.00000000e+00, 1.25619815e+00, 3.23834133e-01]]).
パーフェクト~~~~~。
関連
-
Python Decorator 練習問題
-
[解決済み] typeerror 'builtin_function_or_method' オブジェクトに '__getitem__' という属性がない。
-
[解決済み] sys.stdout.flush()メソッドの使用法
-
[解決済み] Python ValueError: JSONオブジェクトをデコードできませんでした
-
[解決済み] 変動係数とNumPy
-
[解決済み] Pylint の無効な定数名
-
[解決済み] TypeError: 'WebElement' object is not iterable error.
-
[解決済み] なぜtorch.catでPyTorchのテンソルを追加できないのですか?
-
[解決済み] SQLAlchemy のデフォルトの DateTime
-
anaconda の使用中に問題が発生し、conda のエラーが報告されました。
最新
-
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 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】Python: SyntaxError: キーワードは式になり得ない
-
[解決済み】Pythonで2D辞書を作成する
-
[解決済み】Pandasでデータ(.datファイル)を読み込む
-
PythonにおけるReflectionの概要
-
[解決済み] データ型「datetime64[ns]」と「<M8[ns]」との違い?
-
[解決済み] pandasでcsvファイルを読み込む際のエラー[CParserError.Reading a csv file in pandas]。データのトークン化に失敗しました。Cエラーです。バッファオーバーフローが検出されました - 不正な入力ファイルの可能性があります] 。
-
[解決済み] plt.close()とplt.clf()の相違点
-
[解決済み] statsmodelsのOLSフィットで、パラメータが1つしか得られないのはなぜですか?
-
[解決済み] NameError: 名前 'request' が定義されていません。
-
[解決済み] Queue'という名前のモジュールがない