기계 학습 입문

제 세 번째 블로그에 오신 것을 환영합니다!
이 블로그에서 저는 Kaggle 과정(기계학습 입문)의 기본 개념을 수정하고 있습니다. 우리는 이곳에서 우리의 첫 번째 모델을 구축할 것입니다. 이것은 완전히 기본적인 것입니다. 따라서 이 주제에 대해 어떠한 경험도 필요 없습니다. 시작합시다!
제1과: 모형은 어떻게 작동합니까?
다음 예를 살펴보겠습니다.
  • 네 사촌 동생이 부동산 투기로 수백만 달러를 벌었어.네가 데이터 과학에 흥미가 있기 때문에, 그는 너와 비즈니스 파트너가 되기를 원한다.그는 자금을 제공할 것이고, 너는 각종 주택 가치를 예측하는 모델을 제공할 것이다.
  • 그가 '직감' 을 말하기 전에 집값을 어떻게 예측했는지 알고 싶지만, 그가 과거에 보았던 집에서 가격 모델을 식별하고, 이러한 모델을 이용하여 그가 고려하고 있는 새 집을 예측했다는 의문이 더 많다.
    기계 학습도 마찬가지다.우리는 결정 트리라는 모형부터 시작할 것이다.좀 더 기이한 모델들이 더 정확한 예측을 할 수 있다.

    저것은 무엇입니까?
  • DT(결책수)는 집을 두 종류로만 나눈다.
  • 우리는 데이터를 사용하여 집을 두 조로 나누는 방법을 결정한다
  • 그리고 각 그룹의 예측 가격을 다시 확정한다.데이터에서 포획 모델을 의합 또는 훈련 모델이라고 한다.
  • 데이터가 합쳐지면 이를 새로운 데이터에 응용하여 추가 신혼집의 가격을 예측할 수 있다.
  • 의사 결정 트리 개선

    침실 수가 많을수록 가격이 높을 때 DT1이 더 의미가 있을 거라고 갑자기 생각하게 될 거예요. 그렇죠?
    이것은 완전히 진짜가 아니다.
    땅덩어리 크기, 범죄율 등 추가적인 특징이 있기 때문이다.
    이렇게 하면 추가 "분할"인 예측 가격에 영향을 미칠 수 있는 추가 트리를 찾을 수 있습니다.

    leaf는 우리가 가격을 예측하는 곳이다.
    잎의 분할과 값은 데이터에 의해 결정되기 때문에 우리가 사용할 데이터를 검사해야 한다.
    제2과: 기초 데이터 탐색(검사 데이터)
    어떤 ML모델을 구축하기 위해서는 우리의 데이터를 익히고 충분히 이해해야 한다. 이를 위해 유명한 라이브러리 중 하나는'판다'다.
    팬더가 뭐예요?
    판다는 데이터를 탐색하고 처리하는 주요 도구다.
    팬더=>pd
    가져오기
    import pandas as pd
    
    판다의 가장 중요한 부분은 데이터 프레임워크다.
    데이터 상자에 저장된 데이터 형식은 표로 여겨질 수 있습니다.이것은 Excel의 워크시트 또는 SQL 데이터베이스의 테이블과 유사합니다.
    판다는 우리가 이런 데이터로 하고 싶은 대부분의 일을 처리할 수 있는 강력한 방법이 있다.
    코드 좀 만들어 주세요!
    이 데이터 세트 확인: Homes in Melbourne, Australia
    여느 때처럼 나를 검사해code
    해석 데이터 설명
    그 결과 원시 데이터 집합의 열당 8개의 숫자가 나왔다.첫 번째 숫자는count입니다. 몇 줄이 비결핍 값을 가지고 있는지 보여 줍니다.
    값이 부족한 원인은 매우 많다.예를 들어 한 채의 방을 조사할 때 두 번째 방의 크기를 수집하지 않는다.우리는 데이터를 잃어버린 화제로 돌아갈 것이다.
    두 번째 값은 평균값, 즉 평균값이다.
    세 번째 값은 std(표준 편차)로 값의 분포 상황을 측정한다.
    최소치, 25%, 50%, 75%와 최대치를 설명하려면 각 열을 최저치에서 최고치로 정렬하는 것을 상상해 보세요.
    첫 번째 (최소) 값은 최소값입니다.
    목록의 4분의 1을 훑어보면 25% 보다 크고 75% 보다 작은 25% 의 값을 발견할 수 있다.
    50퍼센트는 75퍼센트의 정의와 유사하며 최대치는 최대치이다.
    제 3 과 당신의 첫 번째 기계 학습 모형
    본 수업에서 우리는 위에서 설명한 내용을 응용하여 모델을 구축할 것이다.가자!
    모델링을 위한 데이터 선택
    우리는 여기에 이렇게 많은 변수가 있기 때문에, 우리는 우리의 직감으로 그 중 일부를 선택할 것이다.
  • 변수/열을 선택하려면 데이터가 모인 모든 열의 목록을 보아야 합니다.
  • =>
    melbourne_data.columns
    
    출력=> 색인([교외, 주소, 방, 유형, 가격, 방법, 셀러지, 날짜, 거리, 우편번호, 침실2, 욕실, 자동차, 토지면적, 건축면적, 연간 건설, 의회면적, 격자, 길이, 지역명칭, 부동산계수, 데이터 유형, 대상)
    우리는 약간의 가치관이 부족하다
  • 우리는 현재 가장 간단한 선택을 취해 우리의 데이터에서 집을 삭제할 것이다.(우리가 지금 고려할 수 있는 것은'나'는'사용할 수 없다'는 뜻이다.)
  • melbourne_data = melbourne_data.dropna(axis=0)
    
    이제 데이터에서 세션을 선택할 것입니다
    다음 두 가지 방법을 따라야 합니다.
  • -점 표현, 예측 목표 선택
  • - 열 목록을 선택하고, 열 목록을 사용하여 기능
  • 을 선택합니다.
    예측 목표 선택
    너는 점 기호로 변수를 끌어낼 수 있다
    이 열은 한 열의 데이터만 있는 df처럼 하나의 시리즈에 저장된다.
    우리는 점기호를 사용하여 예측할 열을 선택할 것이다. 이를 예측목표라고 부른다.
    우리는 예측 목표를'y'라고 부른다.
    그래서 우리는 멜버른 데이터의 집값을 보존해야 한다.
    y = melbourne_data.Price
    
    기능 선택
    열 또는 기능우리의 예에서, 이것들은 집값을 확정하는 데 쓰일 것이다.때때로 우리는 목표 열을 제외한 모든 열을 특성으로 사용한다.다른 때는 기능이 적을수록 좋다.
    이제 우리는 몇 가지 특성만 있는 모델을 구축할 것이다.잠시 후 우리는 서로 다른 기능을 사용하여 구축된 모델을 어떻게 교체하고 비교하는지 보게 될 것이다.
    우리는 열 이름 목록을 제공함으로써 여러 기능을 선택합니다.
    다음 예는 다음과 같습니다.
    melbourne_features = ['Rooms', 'Bathroom', 'Landsize', 'Lattitude', 'Longtitude']
    
    우리는 우리의 데이터를 "X"라고 부른다
    X = melbourne_data[melbourne_features]
    
    좀 더 자세히 살펴보겠습니다.
    X.describe()
    
    출력=>방 욕실 면적 격자 길이
    6196.000000 6196.000000 6196.000000 6196.000000 6196.000000 6196.000000 6196.000000
    평균치 2.931407 1.576340 471.006940-37.807904 144.990210
    표준 0.971079 0.711362 897.449881 0.075850 0.099165
    최소값 1.000001.000000000000000000-38.164920 144.542370
    25% 2.000000 1.000000 152.000000 -37.855438 144.926198
    50% 3.000000 1.000000 373.000000 -37.802250 144.995800
    75% 4.000000 2.000000 628.000000 -37.758200 145.052700
    최대 8.00000 8.00000 3700000000000 - 37.4570090 145.526350

    X.head()
    
    출력 =>
    방 욕실 크기 격자 길이
    1 2 1.0 156.0 -37.8079 144.9934
    2 3 2.0 134.0 -37.8093 144.9944
    4 4 1.0 120.0 -37.8072 144.9941
    6 3 2.0 245.0 -37.8024 144.9993
    7 2 1.0 256.0 -37.8060 144.9954
    모델 구축
    우리는 scikit 학습 라이브러리를 사용하여 우리의 모델을 만들 것입니다.
    (sklearn)은 데이터 프레임에 저장된 데이터 형식을 모델링하는 데 가장 유행하는 라이브러리입니다.
    모델을 구축하고 사용하는 단계는 다음과 같습니다.
    정의: 어떤 유형의 모델이 될까요?결정 트리?다른 유형의 모델?모델 유형에 대한 추가 매개변수도 지정됩니다.
    Fit: 제공된 데이터에서 패턴을 캡처합니다.이것은 모델링의 핵심이다.
    예측: 그렇게 들린다
    평가: 모델 예측의 정확성을 확정한다.
    다음은scikit learn을 사용하여 결정 트리 모델을 정의하고 특징과 목표 변수를 사용하여 이를 의합하는 예이다.
    from sklearn.tree import DecisionTreeRegressor
    
    # Define model.Specify a number for random_state to ensure same results each run
    melbourne_model = DecisionTreeRegressor(random_state=1)
    
    # Fit model
    melbourne_model.fit(X, y)
    
    출력 =>
    DecisionTreeGressor(임의 상태=1)
    많은 기계 학습 모형은 모형 훈련이 일정한 임의성을 가지도록 허용한다.
    random state에 숫자를 지정하면 실행할 때마다 동일한 결과를 얻을 수 있습니다.
    우리는 어떤 숫자를 사용하든지 모델의 품질은 우리가 선택한 값에 완전히 달려 있지 않다.
    우리는 지금 예측을 할 수 있는 의합 모델이 하나 생겼다.
    print("Making predictions for the following 5 houses:")
    print(X.head())
    print("The predictions are")
    print(melbourne_model.predict(X.head()))
    
    수출=>다음 5개 주택 예측:
    방 욕실 크기 격자 길이
    1 2 1.0 156.0 -37.8079 144.9934
    2 3 2.0 134.0 -37.8093 144.9944
    4 4 1.0 120.0 -37.8072 144.9941
    6 3 2.0 245.0 -37.8024 144.9993
    7 2 1.0 256.0 -37.8060 144.9954
    예측은 정확하다
    [1035000. 1465000. 1600000. 1876000. 1636000.]
    내 최종 코드 보기Here
    오늘 여기까지 우리는 이미 절반의 과정을 마쳤습니다. 우리는 곧 다가올 블로그에서 계속할 것입니다!
    네가 지금 어떻게 모형을 세우는지 배워서 알기를 바란다.
    리소스 및 문서:
    1. Kaggle Course
    2. W3schools
    3. Pandas documentation

    좋은 웹페이지 즐겨찾기