Closed ikanago closed 2 years ago
スケーリングはこのライブラリの本質ではないので,scikit-learn にあるやつを使うのもよさそうです: https://scikit-learn.org/stable/modules/generated/sklearn.preprocessing.MinMaxScaler.html#sklearn.preprocessing.MinMaxScaler
classifier 内部のスケーリングは関数名とは全く違う処理をしていそうなので、共通化というより classifier のスケーリング関数の名前変更が必要そうです
関数名とは全く違う処理とはどういうことですか? do_x_scaleのパラメーターがtrueなら_min_max_scalingを適用するののどこが変ですか?
do_x_scale はいいと思います。get_y_scale とか do_y_scale , あと rev_y_scale が変というだけです。 https://github.com/Qulacs-Osaka/scikit-qulacs/blob/478ac8218a0f7f3c3b38f1661b806ffa8778ca77/skqulacs/qnn/classifier.py#L194 https://github.com/Qulacs-Osaka/scikit-qulacs/blob/478ac8218a0f7f3c3b38f1661b806ffa8778ca77/skqulacs/qnn/classifier.py#L207 https://github.com/Qulacs-Osaka/scikit-qulacs/blob/478ac8218a0f7f3c3b38f1661b806ffa8778ca77/skqulacs/qnn/classifier.py#L219
one-hotなどの内部表現にする動作はスケーリングではないということですか?確かにそうです..
scikit_learn に one-hot 化と逆変換をやるやつがあるのでその辺の処理は自前でやらなくてよさそうです https://scikit-learn.org/stable/modules/generated/sklearn.preprocessing.OneHotEncoder.html
これ実装しますs
one-hotすごいな ほかにもこういうすごいのあるかも scikit_learnのPreprocessing に目を通します
one-hotと逆変換はできても、softmaxと確率表示ができないのが気になります。 それと、入力形式が変わってくるから、微妙に破壊的変更になるのもポイントです (たとえば、元データで...?) 何やってるのかわかんなくなってきました
スケーリングのコードが重複しているため,class(あるいは関数) として切り出したほうがいいと思います.