사내 연구회 기계 학습 입문(4.Python으로 프로그램을 써 보자)

오늘은 갑자기 파이썬에서 기계 학습 프로그램을 작성하기 전에 "간단한 프로그램"을 작성하고 싶습니다.

소재



BMI를 계산하는 프로그램입니다.
  • 체중(kg)과 신장(cm)을 입력하고 계산한 결과(BMI)를 출력합니다.
  • 계산식의 키는 단위가 미터(m)이므로 주의합니다.BMI計算式: 体重(kg) ÷ 身長(m)の2乗

  • 코드를 작성해 보자.



    Python 가상 환경을 활성화하고 "jupyter notebook"을 시작합니다.以下のコマンドを実行
    $ cd C:\ml-intro
    $ env\Scripts\activate.bat
    $ jupyter notebook

    우선 체중과 키를 입력하는 코드
    weight, height 라는 변수에 input 함수(미리 준비된 내장 함수)의 결과를 대입하고 있네요.
    파이썬의 경우 변수는 이름 (변수 이름)을 결정하기 만하면 변수 유형에 대해 특별히 결정하지 않습니다.
    weight = input('体重(kg)を入力:')
    height = input('身長(cm)を入力:')
    

    jupyter notebook에서 위의 코드를 써서 실행해 보면 체중 입력을 제대로 구했어요.


    다음에 입력받은 체중과 신장을 바탕으로 BMI를 계산하여 출력하는 부분입니다.
    실은, input 함수에 의해 얻은 입력은, 캐릭터 라인이므로, weight, height는, 캐릭터 라인형이라고 하는 취급이 되고 있습니다.
    문자 예형 그대로라면, 수치 계산을 할 수 없기 때문에, 형태 변환할 필요가 있습니다.
    (소수점수를 취급하므로, 부동 소수점수형으로 형 변환합니다.)
    weight = float(weight)        # 文字列型から浮動小数点数型に型変換
    height = float(height) / 100  # 型変換&単位をcmからmに変換 
    bmi = weight / (height ** 2)  # BMI計算式
    print(bmi)                    # 標準出力する組み込み関数
    

    실행 결과는 이런 느낌입니다. (BMI의 값이 제대로 출력되었습니다.)



    프로그램을 개선합시다.



    또한 「일본 비만 학회의 비만도 판정 기준」에 따라 "비만도"도 함께 출력해 봅시다.


    BMI
    비만도


    18.5 미만
    저체중(야세)

    18.5 이상, 25 미만
    보통 체중

    25 이상, 30 미만
    비만(1도)

    30 이상, 35 미만
    비만(2도)

    35 이상, 40 미만
    비만(3도)

    40이상
    비만(4도)


    BMI의 값에 따라 비만도의 출력을 바꾸고 싶기 때문에 if 및 elif 구문에 의한 조건 분기군요.
    위로부터 차례로 조건식을 판정해, true가 된 블록을 실행하면 이후의 조건식은 판정되지 않고, 구문 전체가 종료하는 점이 포인트군요.
    if bmi < 18.5:
        print('低体重(やせ)')
    elif bmi < 25.0:
        print('普通体重')
    elif bmi < 30.0:
        print('肥満(1度)')
    elif bmi < 35.0:
        print('肥満(2度)')
    elif bmi < 40.0:
        print('肥満(3度)')
    else:
        print('肥満(4度)')
    

    실행 결과는 이런 느낌입니다. (비만도도 제대로 출력되었습니다.)


    요약



    오늘은 파이썬으로 간단한 프로그램을 작성해 보았습니다.
    다음 번에도 파이썬에 익숙해지기 때문에 좀 더 프로그램을 작성하려고합니다.

    다음 번은 "5. 계속 파이썬으로 프로그램을 작성해 보자"입니다.
    사내 연구회 기계 학습 입문(5. 계속 Python으로 프로그램을 써 보자)

    좋은 웹페이지 즐겨찾기