Python으로 익숙한 ML Cycle1: Python

9932 단어 기계 학습Python
Python 설치부터 실제 코드 작성까지

종점

  • Python의 개발 환경을 보완합니다.
  • Python의 몇 개의 라이브러리 코드로 수학적인 일을 표현해 보세요.
  • 파이썬 개발 환경 구축 Hello World!출력


    설명


    다음부터 Python(버전 3.6.6)과 IDE의 PyCharm을 설치합니다.
  • Python: https://www.python.org/downloads/
  • PyCharm: https://www.jetbrains.com/pycharm/
  • 주의하다
  • Python은 2018/09 현재 최신 3.7.0을 설치하지 마십시오.이 버전은tensorflow를 지원하지 않습니다.
  • PyCharm은 Professional 버전과 Community 버전 두 가지가 있습니다.둘 다 가능하지만 Professional 버전은 허가비가 필요하기 때문에 우선 무료입니다. 이런 분들은 Community 버전을 선택하세요.
  • Python은 Java에 비해 IDE가 없어도 쓸 수 있지만 IDE를 사용합니다.나는 이런 잘못에 시간을 들이고 싶지 않다.
    또한 IDE라면 PyCharm이 아니더라도 가능합니다.Visual Studio도 Python을 쓸 수 있을 것 같아요. 예를 들면 그것에 익숙해지면 그쪽도 괜찮아요.단, 앞으로 PyCharm을 사용하는 것을 전제로 대화를 진행하기 때문에 VS를 사용하는 경우에는 적절히 보충해 주십시오.
    하면, 만약, 만약...
  • PyCharm을 사용하여 python(Windows) 이동
  • PyCharm 작업 시작
  • 초기 설정을 진행합니다. ※PyCharm을 사용하여 python(Windows) 이동print "Hello World!"는Python2의 것이므로 이번 환경(Python3)에서는 움직이지 않습니다. 주의하십시오.
    초기 설정이 완료되면 먼저 프로젝트를 만듭니다.
  • 1단계.첫 번째 Python 프로젝트 작성 및 실행
  • 태그 요소의 표시 속성을 수정합니다.
    빨리 하고 싶은 사람.
  • Intellij IDEA에서 Python Hello World로!!
  • 태그 요소의 표시 속성을 수정합니다.
    마지막
  • PyCharm 사용 방법
  • 한번 보세요.

    확인


    프로젝트를 만들고 다음 코드를 쓴 다음 실행합니다.
    print("Hello World!")
    
    출력
    Hello World!
    

    Python의 기본 지식 이해


    설명


    우선, 디버깅에서 자주 사용하는 상호작용 실행 환경인 Python 컨트롤러를 사용합니다.
    나는 PyCharm의 왼쪽 아래 모퉁이에 작은 "Python Console"이 있다고 생각한다.그것을 클릭하거나 위쪽 도구 모음의 Tools에서 Python Console을 찾아 클릭합니다.다음 프롬프트가 나타납니다.
    PyDev console: starting.
    Python 3.6.6 (v3.6.6:4cf1f54eb7, Jun 27 2018, 03:37:03) [MSC v.1900 64 bit (AMD64)] on win32
    
    >>>
    
    여기에 코드를 쓰고 Enter를 누르면 바로 결과가 나타납니다.
    >>> print("Hello World!")
    Hello World!
    
    앞으로 자주 사용할 거니까 기억하세요.
    이것은 Python의 기본 문법입니다. 여기는 설명하지 않습니다.대신 파이썬의 모든 과정에 참여해 주십시오.다음은 본 과정의 내용을 이해하는 것을 전제로 한다.
    또한 Python의 문법에 관해서는 앞으로도 너무 많은 설명을 할 생각은 없습니다.힘들어서.인터넷의 문장과 서적을 적당히 참고하세요.가능한 한 필요한 길잡이를 하다.
    전체 Python3(6) 사양은 Progate 에 있습니다.

    기계 학습에서 자주 사용하는 라이브러리를 사용해 보세요.


    설명


    먼저 numpy, matplotlib, scipypandas 모듈을 설치합니다.PyCharm(또는 IntelliJ)에 모듈 설치 방법
  • https://docs.python.org/3.6/
  • 태그 요소의 표시 속성을 수정합니다.
    모듈을 설치한 후 다음 글에서 무엇을 할 수 있는지 확인하십시오.
  • numpy: 특히 매트릭스 연산을 쉽고 빠르게 수행할 수 있는 모듈
  • PyCharm을 사용하여 패키지를 추가하는 방법

  • 10분 NumPy 속습 강좌 학습
  • 특히 http://www.numpy.org/ 사용 방법은 대체로 이해할 수 있다.
  • matplotlib: 차트 등을 그리는 데 사용되는 모듈
  • Quickstart tutorial
  • matplotlib 시작

  • matplotlib.org/gallery
  • 이하도 순조롭게 진행될 수 있다.
  • import matplotlib matplotlib.use('TkAgg')
    import matplotlib.pyplot as plt
    
  • scipy: 수치 계산 라이브러리.numpy$\subset$scipy의 관계입니다.
  • SciPy: Python에서 matplotlib 드로잉이 제대로 작동하지 않을 때 처리
  • https://docs.scipy.org/doc/scipy/reference/index.html
  • SciPy Tutorial
  • pandas: 데이터를 직관적으로 처리하는 라이브러리입니다.그것을 사용하여 데이터 추출, 성형, 출력을 한다.
  • pandas: NumPy vs. SciPy vs. other packages
  • http://pandas.pydata.org/pandas-docs/stable/
  • pandas의 기본 조작
  • pandas to_csv: pandas에서 csv/tsv 파일 읽기(read_csv,read_table)
  • pandas read_csv: https://pandas.pydata.org/pandas-docs/stable/generated/pandas.DataFrame.to_csv.html
  • 확인

  • 1. 다음 연립 방정식의 함수를 구해내다.입력은 $a$, $b$, $c$, $d$, 그리고 $i$, $j$입니다.
  • \left(
    \begin{matrix}
    a &b \\
    c &d \\
    \end{matrix}
    \right)
    \left(
    \begin{matrix}
    x_1 \\
    x_2
    \end{matrix}
    \right)
    =
    \left(
    \begin{matrix}
    i \\
    j
    \end{matrix}
    \right)
    
    이미지 내보내기
    >>> solve_2dim_equations(a=3, b=0, c=0, d=2, i=12, j=26)
    array([ 4., 13.])
    
  • 2. 정적 분포의 밀도 함수를 출력하는 도표입니다. $\mu$및 $\sigma$도메인을 정의하려면 상수를 적절히 적용하십시오.
  • f(x) = \frac{1}{\sqrt{2 \pi \sigma^2}} \exp\left({- \frac{(x - \mu)^2}{2 {\sigma}^2}}\right).
    
  • 3. 정적 분포 $N(\mu=172.14,\sigma^2=5.57^2)$에 맞는 1000개의 샘플 데이터를 추출하여 CSV로 출력하십시오.참고로 이 분포는 일본 남성 30세입니다.
  • 이미지 내보내기
    0,166.99038183853008
    1,166.51281214908536
    2,181.5585432128473
    3,162.77441753222197
    4,168.48261956594868
    5,172.88492726845533
    6,170.89622660999441
    ...
    
  • 4. 위에서 내보낸 CSV를 읽어 배포 그림으로 그려 넣으십시오.
  • 형상
    https://pandas.pydata.org/pandas-docs/stable/generated/pandas.read_csv.html#pandas.read_csv

    실천 문제


    1. 샘플 데이터 만들기


    Cycle2는 PRML(상)의 서론 또는 제3장의 선형 회귀 모델을 처리합니다.여기서 필요한 샘플 데이터를 만듭니다.
    $x\in${$0,0\,0.01,\0.02,\dots,\0.99$} 100개의 입력 데이터에 대해 각각 정적 분포 $N(\sin(2\pix), 0.3^2)$에 맞는 샘플 데이터를 추출하십시오.다음 두 개의 출력으로 그것을 표현하세요.그러나 CSV로 내보내는 데이터는 $x$축으로 무작위로 정렬됩니다.
  • CSV를 통한 출력
  • 플롯에서 출력
  • 형상
    CSV
    0.9400000000000001,-0.878558954149004
    0.14,0.3878279859542065
    0.8200000000000001,-1.442692345490618
    0.37,0.5459918361055303
    0.56,-0.8708510248577344
    0.33,0.6818388375590906
    ...
    

    2. 혼돈 이론 입문


    접영 효과라는 말 알아?접영 효과는'일본에서 나비가 날개를 펴면 미국에서 허리케인이 발생한다'는 등 미세한 차이가 이후 결과에 큰 영향을 미칠 수 있는 표어를 말한다..
    사실 수학바람이 불면 통가게가 돈을 번다이라는 분야에서 사람들은 이 현상에 대해 깊이 있게 연구했다.
    그 중에서 우리는 논리 방정식이라고 불리는 생물 개체수의 증감에 관한 모델을 사용하여 이런 현상을 체험한다.
    어느 지역에 수백 마리의 토끼가 서식하고 있다.매달 토끼 개체 수를 측정하는 한 조사원은 다음과 같은 몇 가지를 알아차렸다.
  • 미끼(식물)장의 크기와 미끼의 양에 따라 이 지역에 살 수 있는 토끼의 개체 수의 상한선을 결정한다.
  • 개체수가 상한선보다 적을 때 이 지역에서 자라는 미끼가 부족하기 때문에 개체수는 월 단위로 증가한다.
  • 한편, 개체 수가 상한선보다 많을 때 이 지역의 음식을 먹고 굶어 죽는 토끼가 나타나 개체 수가 월 단위로 줄어든다.
  • 또한 이 지역의 토끼의 천적, 즉 뱀과 토끼를 먹는 원주민은 매달 일정한 비율로 토끼를 죽이기 때문에 개체 수가 상응하여 감소한다.
  • 조사원이 이 현상을 생태학자에게 알렸을 때 그 생태학자는 다음과 같은 수학 모형을 세웠다.
    f(n + 1) - f(n) = f(n)(1 - f(n)) -h, \\
    
    여기서 $f(n)$는 $n$개월에 관측된 규정된 개체수의 상한선과 실제 생활하는 토끼의 개체수의 비율을 나타내고, $h$는 천적이 토끼를 죽인 수량과 상한선의 비율을 나타낸다.
    $f(n)<1$일 때는 음식이 너무 많고, $f(n)>1$일 때는 음식이 부족합니다. $f(n)$는 0보다 커야 합니다.
    $h=1$이면 토끼의 천적이 한 달 안에 이 지역에 서식할 수 있는 토끼 개체 수의 상한선을 죽였다는 뜻이다. $h$0에 가까울수록 천적이 한 달 안에 죽인 토끼의 개체 수가 적다는 것을 의미한다. $h$도 틀림없이 0 이상이다.
    이상의 조건하에서 $h$의 값이 0에서 1 사이에 여러 가지 변화가 발생할 때, 10년 후(=120개월 후) 토끼 개체 수의 비례 $f(120)$를 시뮬레이션하십시오.또한 초기 값은 $f(0) = 1$입니다.

    좋은 웹페이지 즐겨찾기