機械は入門して、Pythonの基礎知識を理解します

5854 ワード

01機械学習


機械学習は通常、アプリケーションを変更する必要がなく、データ学習モードと予測結果に基づくアルゴリズムテクニックです.

02番


Numerical Pythonを表すNumber Fithonは、Pythonが線形代数ベースのプログラムを簡単に記述できる典型的なパッケージです.大量のデータを並べて演算し、演算速度が速いことを保証します.
numberfiarray()関数は、Pythonのリストなどの異なる文字を入力し、endarrayに変換する機能を実行します.pandarray配列のshape変数はpanarrayのサイズ,すなわち行数と列数を有し,panarray配列の次元さえ知ることができる.
np.Array():endarrayに変換する機能
import numpy as np

array = np.array([1,2,3])
array2 = np.array([[1,2,3],
		   [2,3,4]])
           

#array 의 형태 : (3,) --> 1차원 (행만 존재)
#array2 의 형태 : (2,3) --> 2차원 (2행 3열)
endarray内のデータ型は同じデータ型のみです.
.ndim:次元の抽出
print('array2 : {:0}차원'.format(array2.ndim))
.astype("type"):タイプの変更
np.スケジュール():range()に似た機能
np.zeros(), np.ones():0と1充填
sequence_array = np.arange(10)
print(sequence_array)

zero_array = np.zeros((3,2), dtype = 'int32')
print(zero_array)

one_array = np.ones((2,3), dtype = 'int32)
print(one_array)
.reforme():次元とサイズの変更
array1 = np.arrange(10)

#(-1,5)는 자동으로 2차원 (2,5)로 변환, 총 데이터는 10개
array2 = array1.reshape(-1,5)

#(5,-1)은 자동으로 2차원 (5,2)로 변환, 총 데이터는 10개
array3 = array1.reshape(5,-1)
.reforme(-1,1)表示を2 Dに変換

番号2-1のfiのインデックス


  • ≪特定データの抽出|Specific Data Extract|oem_src≫:必要な場所のインデックス値を指定して、その場所のデータを返します.

  • スライド(Slicing):連続インデックスから基準を抽出
  • array1 = np.arrange(start =1, stop = 10)
    array3 = array1[1:-1]
    print(array3)
    
    >>>[2,3,4,5,6,7,8,9]
  • ペンインデックス:リストまたはカレンダーの形式で一定のインデックスセットを指定し、その位置データを返すカレンダー
  • .
  • ブール索引(Boolean Indexing):特定の条件下の真/偽値索引のセットに基づいて、真索引の位置にあるデータの標準
  • を返す.
    array1d = np.arrange(start =1, stop = 10)
    
    array3 = array1d[array1d >5]
    print(array3)
    
    >>>[6,7,8,9]

    2-2マトリクスのソート-sort()、argsort()


    np.sort():昇順でソート
    降順にソートするためにnp.sort()[:-1]とともに使用します.
    行方向のソートを行うにはnpを使用します.sort(array, axis=0)
    列方向をソートするためにnp.sort(array, axis =1)
    array2d = np.array([[8,12]
    		    [7,1]])
                
    sort_array2d_axis0 = np.sort(array2d, axis=0)
    sort_array2d_axis1 = np.sort(array2d, axis=1)
    
    >>>[[7 1]
        [8 12]]
        
    >>>[[8 12]
        [1 7]]
    np.argsort():ソートマトリクスのソースマトリクスインデックスを抽出する
    org_array = np.array([3,1,9,5])
    sort_indices = np.argsort(org_array)
    print(sort_indices)
    
    >>>[1,0,3,2]

    03データハンドル-パンダ


    パネルは2 Dデータ処理を可能にします.リスト、コレクション、番号付けファイルなどの内部データやcsvなどのファイルを簡単にDataFrameに変更でき、データの加工/分析を簡素化できます.
    PandasのコアオブジェクトはDataFrameです.行と列からなる2 Dデータを含むデータ構造をDataFrameと呼びます.SeriesとDataFrameはいずれもIndexをキー値とする.両者の違いは,Seriesは1コラムのみのデータ構造体であり,DataFrameは複数コラムのデータ構造体である.
    pd.read csv():csvファイルフォーマットを変換するAPI
    df = pd.read_csv('경로')
    .shape:データフレームのサイズ(行、列)
    .info():行全体の個数、列ごとのデータ型、non-nullの個数、完全なカレブ型要約などが含まれます.
    .describe():count、mean、std、min、25%、50%、75%、maxなど.
    .value counts():対応するカフ値のタイプと数を決定します.
    df.value_counts()

    3-1 DataFrameのコラムデータセットの作成と変更


    df.drop(axis = 0, inplace = False)

    drop()メソッドにaxis=1と入力すると、ドラッグアンドドロップ操作が列方向に実行されることを示します.labelsに必要なコラム名を入力し、axis=1を入力すると、指定したドロップダウンメニューが配置されます.
    axis=0でローを削除する場合は、主に例外値データを削除するために使用されます.
    Inplace=Falseの場合、既存の元のデータは触れないことを意味し、Inplace=Trueの場合、元のデータに変更することを意味します.
    df[‘コラム名’]min(),df[「コラム名」].max(),df[「コラム名」].sum():最小値、最大値、合計を抽出します.

    3-2 DataFrame選択とフィルタリング


    DataFrameの[]演算子
  • 以降の[]演算子はnumberfiの[]またはSeriesの[]とは異なります.
  • DataFrameの後の[]に入力する値には、カラムの演算を指定するカラム名、または名前付きインデックスのみを指定するカラム名を指定する必要があります.
  • DataFrame[0:2]のようなスムーズな演算を使用してデータを抽出しないことをお勧めします.
  • DataFrameのiloc[]演算子
    iloc[]は位置ベースのインデックスのみを許可するため、行と列の整数または整数のスライドとファンのリスト値を入力する必要があります.フローティングインデックスは指定されていません.
    #첫 번째 행 첫 번째 열 데이터 추출 
    
    df.iloc[0,0]
    
    #인덱싱이 아닌 명칭을 입력하면 오류 발생
    
    df.iloc[0, 'name'] --> 오류 발생
    DataFrameのloc[]演算子
    loc[]名前に基づいてデータを抽出します.したがって、行位置にはDataFrameのインデックス値、列位置にはコラム名を入力します.
    df.loc[1, 'name']
    被呼インデックス:df[条件式]
    예를들어,
    
    df = pd.read_csv('경로')
    
    age_over_60 = df[df['age'] >60][['name','age']].head()
    print(age_over_60)
  • と条件:&
  • or条件:|
  • Not条件:~
  • 3対3のソート、集約関数、および適用グループBy


    .sort values(by=,昇順=True,inplace=False):by順
    df_sorted = df.sort_values(by = ['name'] , ascending = True, Inplace = False)
    昇順=True:昇順でソート
    昇順=False:降順
    .groupby(「コラム名」):入力したコラム名に従ってグループ化されたDataFrame Groupオブジェクトを返します.
    df_group = df.group_by('col_name').count()

    3-4欠落データ処理


    コラムに値がないNULL形式の処理
    基本的に,機械学習アルゴリズムはNAN値を処理しないため,他の値で代用する必要がある.
    NaN値は、平均、分散、総和などの関数を計算する場合を除く.
    .isna():NANを検証するかどうか
    df.isna().sum() 
    #각 칼럼별로 NaN의 총합을 보여준다.
    .fillna():欠損データの置換
    df['col_name'] = df['col_name'].fillna('hi')

    3-5 apply lambdaデータ加工


    Lambda x:x 2では、入力パラメータと返される入力パラメータを区切る計算式を使用します.の左側に入力パラメータ、右側に戻り値が表示されます.
    a=[1,2,3]
    squares = map(lambda x : x**2, a)
    list(squares)
    
    >>>[1,4,9]
    .apply(lambda x:x計算式)
    df['name_len'] = df['name'].apply(lambda x : len(x))
    df[['name','name_len']].head()
    
    #df['name']이 x에 들어갈 입력인자