019.(5.16-5.18)機械学習分類問題に関する実用的なメモ

データ探索的分析

機能工学

  • 外れ値処理の解決策:
    ここに画像の説明を挿入
    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関数を実行できます。

  • パンダの使い方to_csv()

  • 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)

  • 最適化アルゴリズムの長所と短所を判断する信頼できる方法は、それが収束するかどうか、つまり、パラメーターが安定した値に達したかどうか、およびパラメーターが変化し続けるかどうかを確認することです。

  • PandasのDataFrame型をNumpyの配列型に変換する3つの方法

  • return 1.0/(1+exp(-inX))
    TypeError: only size-1 arrays can be converted to Python scalars
    # 这里是因为inX是一个numpy的矩阵,要调用numpy.exp处理
    # 对numpy矩阵,有的时候调用math.function()也能用,但有的时候用不了(会出现不匹配的问题)
    
  • ここに画像の説明を挿入
    ここに画像の説明を挿入
    ここに画像の説明を挿入

その他のアイデア

基盤はまだ弱く、初めて関連コード、データ分析と処理、機械学習を書くとき、私はたくさんの授業料を払いました。

さらに、最も基本的なプログラム構造、特にループに現れる累積演算などのリセット値の問題に注意してください。
ここに画像の説明を挿入

おすすめ

転載: blog.csdn.net/u013598957/article/details/106159660