기계 학습 입문
이 블로그에서 저는 Kaggle 과정(기계학습 입문)의 기본 개념을 수정하고 있습니다. 우리는 이곳에서 우리의 첫 번째 모델을 구축할 것입니다. 이것은 완전히 기본적인 것입니다. 따라서 이 주제에 대해 어떠한 경험도 필요 없습니다. 시작합시다!
제1과: 모형은 어떻게 작동합니까?
다음 예를 살펴보겠습니다.
기계 학습도 마찬가지다.우리는 결정 트리라는 모형부터 시작할 것이다.좀 더 기이한 모델들이 더 정확한 예측을 할 수 있다.
저것은 무엇입니까?
침실 수가 많을수록 가격이 높을 때 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
Reference
이 문제에 관하여(기계 학습 입문), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/ayaebrahim/intro-to-machine-learning-fk9텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)