機械学習分類問題に関する実用的なメモ
データ探索的分析
-
散布図法は、外れ値を検出するのに非常に実用的です
-
pd.croostab:クロス集計、これに従って描画することもできます(プロット)
パンダの基本(13)-クロスタブクロス集計値 -
sns.countplotは、海で生まれたライブラリの一種の分類マップであり、その機能は、バーを使用して各ビンの観測数を表示することです。
Pythonデータの視覚化-seabornライブラリのカウントプロット -
sns.heatmap()(ヒートマップ)
公式文書Seaborn
5分紹介(6)-ヒートマップヒートマップ
機能工学
-
外れ値処理の解決策:
f1 [] []のような場合、エラーが報告されるため、なぜこれを書くのですか?データフレームの列の最大値と場所を変更します。ilocの使用法
パンダスライス操作:SettingWithCopyWarningは見落としがちです
-
.value_counts()はデータ分布を表示できます
-
2種類以上の値を持つ非数値機能を処理
します:ワンホットコードを使用し、pandas.get_dummies()を使用します
pandas.get_dummies(data, prefix=None, prefix_sep='_', dummy_na=False, columns=None, sparse=False, drop_first=False, dtype=None)
get_dummiespandas.get_dummiesのサポート指定された列へのワンホットエンコーディングの
概要
-
pandasのsort_values()関数の原理は、SQLのorder byに似ています。データセットは、特定のフィールドのデータに従って並べ替えることができます。この関数は、指定された列のデータまたはのデータに従って並べ替えることができます。指定された行。
モデリングチューニング
-
トレーニングセットデータは、トレーニングデータとテストデータに分けられます。
random.shuffle(a):シーケンス内の要素をシャッフルするために使用されます。
random.sampleの使用法は、主にリストの指定された長さの乱数をインターセプトするために使用されますが、リスト自体の順序は変更されません。これはスライスであることに注意してください。pandas.sample()
を区別することに注意してくださいPython-Pandasはどのようにデータをシャッフルしますか?パンダは単純に分割されています。さらに、
-
random.uniform(x、y):[x、y]の範囲内にある次の実数をランダムに生成します。戻り値は浮動小数点数であることに注意してください。
-
一般的なK分割交差検定:
補足:交差検定は主に、モデルが複雑すぎることによって引き起こされる過剰適合を防ぐために使用されます。これは、トレーニングデータの一般化能力を評価するための統計的方法です。基本的な考え方は、元のデータをトレーニングセットとテストセット(検証セットとも呼ばれます)に分割することです。トレーニングセットはモデルのトレーニングに使用され、テスト(検証セット)セットはトレーニングされたモデルのテストに使用されます。 。モデルの評価指標。
K分割交差
検定は、K分割交差検定データセットの分割を実現するためのパンダに基づいています -
リストは追加(スプライス)できますが、減算することはできませんが、条件が満たされた場合はセットを減算できます。
-
システム関数は、文字列をコマンドに変換して、サーバー上でpythonベースのos.system関数を実行できます。
-
numpyのマット関数:行列演算
Python 1でのNumpyマットの使用。mat
()関数のデータは、セミコロン(;)で区切られた文字列、またはコンマ(、)で区切られたリスト形式にすることができます。array()関数のデータは、後者の形式のみにすることができます。2. mat()関数の行列の積を使用できます(アスタリスク)*または.dot()関数で、結果は同じです。行列の対応する位置要素を乗算するには、numpy.multiply()関数を呼び出す必要があります。対照的に、array()関数の行列の積は、.dot()関数のみを使用できます。アスタリスクの乗算(*)は、行列の対応する位置要素が乗算されることを意味します。これは、numpy.multiply()関数の結果と同じです。
-
numpy累積関数の例:
>>> a=np.array([[1,2,3],[4,5,6]]) >>> np.sum(a,axis=0) array([5, 7, 9]) # 每行相加,对列求和 >>> np.sum(a,axis=1) array([ 6, 15]) # 每列相加,对行求和
-
numpy配列の反復変更について:
>>> a = np.arange(8) >>> a array([0, 1, 2, 3, 4, 5, 6, 7]) >>> for i in a: i= 2 >>> a array([0, 1, 2, 3, 4, 5, 6, 7]) >>>
-
Dataframe.insert(loc、column、value、allow_duplicates = False):データフレームの指定された列にデータを挿入します。
-
確率的勾配降下法:BGDが一度に1つのサンプルのみを使用するのと比較して、計算量を節約します。その特性のため、正解率は一般に、改善なしではBGDほど良くありません。
深層学習に不可欠:確率的勾配降下(SGD)最適化アルゴリズムと視覚的
教師あり学習-確率的勾配降下アルゴリズム(sgd)とバッチ勾配降下アルゴリズム(bgd) -
最適化アルゴリズムの長所と短所を判断する信頼できる方法は、それが収束するかどうか、つまり、パラメーターが安定した値に達したかどうか、およびパラメーターが変化し続けるかどうかを確認することです。
-
return 1.0/(1+exp(-inX)) TypeError: only size-1 arrays can be converted to Python scalars # 这里是因为inX是一个numpy的矩阵,要调用numpy.exp处理 # 对numpy矩阵,有的时候调用math.function()也能用,但有的时候用不了(会出现不匹配的问题)
-
その他のアイデア
基盤はまだ弱く、初めて関連コード、データ分析と処理、機械学習を書くとき、私はたくさんの授業料を払いました。
さらに、最も基本的なプログラム構造、特にループに現れる累積演算などのリセット値の問題に注意してください。