機械学習1日目

7767 ワード


  • 人工知能.
    :コンピュータを通じて人間の思考と学習などの知能を実現する技術

  • 機械学習
    :コンピュータの自主学習による人工知能性能向上の技術方法

  • 深く勉強する.
    :人間のニューラルネットワークに似た方法で情報を処理する

  • 領域サイズ
    人工知能>機械学習>深度学習
  • 機械学習とは何ですか。


  • データベースの学習と予測方法.

  • 人工知能の1つの分野で、コンピュータが学ぶことができるアルゴリズムと技術の分野を開発します.

  • 統計学、データマイニングとコンピュータ科学を結合した分野

  • ルールベースのエキスパートシステム
    :if文とelse文のハードコーディングコマンドを使用するシステム
  • 欠点:X
  • は、さまざまな状況に適したすべてのルールを作成できます.

  • 最近の機械学習

    データ学習プロパティとモードを使用します.
    結果に基づいて未知のデータの将来の結果(値、サブテーブル)を予測

  • 実習

  • 肥満度データを利用して学ぶ


  • scikit-elarnの使用
  • Python使いやすいマシン学習フレームワーク、ライブラリ
  • 回帰、分類、クラスタリング階層の縮小、特性エンジニアリング、前処理.
  • 機械学習に必要な機能、例えばクロス検証
  • 学習に必要なデータを提供する

  • KNNライブラリの使用
  • プロパティ
    :
  • 、類似したデータ間で類似した結果が生成されることを前提としています.

  • 学習順序

  • モデル定義
    	```python
    		from sklearn.neighbors import KNeighborsClassifier # KNN클래스
    		bmi_model = KNeighborsClassifier(n_neighbors=5) #가장 가까운 이웃 수
    
    	 ```

  • 勉強する
  • 動作経路が異なる
    			```python
    			#현재 작업 경로 표시
    			!pwd #!를 쓰면 프롬프트 창(시스템 명령어) 사용할 수 있다.
    			# 현재 폴더 내부 상황
    			!ls
    			#작업경로 변경
    			%cd ./drive/MyDrive/Colab\ Notebooks/22.04.11\ 머신러닝 
    				```
  • データ読み込み
  • 		#1. 판다스 import
    		import pandas as pd
    		
    		#2. csv파일 로딩
    		bmi_data = pd.read_csv('./data/bmi_lbs.csv', encoding='euc-kr')
    
    		#3. 위쪽 5개 살펴보기
    		bmi_data.head()

  • 肥満度コラムの種類を確認してみましょう.
    bmi_data['Label'].unique()
    bmi_data['Label'].value_counts()


  • 単位の変更
    # 몸무게를 파운드 -> kg단위로 변경
    bmi_data['Weight(kg)'] = bmi_data['Weight(lbs)']*0.453592

  • 親データ出力
      bmi_data.head()

  • 記述()関数を使用して技術統計をチェックする
    bmi_data.describe()


  • 質問と答えを分離する
    X = bmi_data[['Height','Weight(kg)']]
    y = bmi_data['Label']
  • 予測
  • サンプリングデータ
  • X_sample = bmi_data.iloc[[80,105,275,300,345],[2,4]]
    y_sample = bmi_data.iloc[[80,105,275,300,345],0]
  • 予測結果は変数
    pre = bmi_model.predict(X_sample)
  • を含む.
  • 評価<-最も重要(検証)
  • モデルを用いて関数
  • を評価する
    #정확도(전체 중에서 정확히 맞춘 비율 계산)
     from sklearn.metrics import accuracy_score 
             
    #실제 정답, 모델의 예측값, 0.0(하나도 못맞췄을 경우) ~ 1.0(다 맞췄을 경우)
    score = accuracy_score(y_sample, pre) 

    に質問

  • 500人の肥満者のデータを学び、その中から5人を抽出して評価する方法は正しくない.
  • はすでに500名のモデルを学んでいるので、相対的に抽出した5名が当たっている可能性が高い.
  • だから機械学習では訓練用データと評価用データは予め区別されている.
  • の一般比率は7:3です.
  • 列データ(70%)、テストデータ(30%)

  • トレーニングと評価のためのデータ分離
    from sklearn.model_selection import train_test_split
    #기본적으로 75:25 비율, test_size를 통해 비율 조절 가능, random_state - 고정된 데이터로  
    X_train,X_test,y_train,y_test = train_test_split(X,y,test_size=0.3,random_state=219)

  • トレーニング用、評価用、定義から評価
     
            bmi_model2 = KNeighborsClassifier()
    		bmi_model2.fit(X_train,y_train)
    		pre2 = bmi_model2.predict(X_test)
    		score2 = accuracy_score(y_test,pre2)
    		score2

  • 出力画面


  • モデルの利用
    bmi_model2.predict([[178,74],[188,65]])