kNN 알고리즘 회귀 실례: 집값 예측
10278 단어 기계 학습
문서 목록
실전 내용
집값을 예측하다
코드는 다음과 같습니다.#!/usr/bin/env python
# -*- coding:utf-8 -*-
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
from sklearn import preprocessing
from sklearn.neighbors import KNeighborsRegressor
from sklearn.metrics import mean_squared_error
#load csv
cols = ['accommodates','bedrooms','bathrooms','beds','price','minimum_nights','maximum_nights','number_of_reviews']
features = ['accommodates','bedrooms','bathrooms','beds','minimum_nights','maximum_nights','number_of_reviews']
dataset = pd.read_csv('listings.csv')
dataset = dataset[cols]
dataset = dataset.dropna()
#analyze dataset roughly
print(dataset.head())
print(dataset.shape)
print(dataset.dtypes)
print(dataset.columns)
# change types of labels
dataset['price'] = dataset.price.str.replace("\$|,",'').astype(float)
# analyze dataset through plot
#
'''
sns.pairplot(dataset)
plt.show()
'''
# preprocessing minmaxscaler
min_max_scaler = preprocessing.MinMaxScaler()
dataset_minmax = dataset.copy()
dataset_minmax[features] = min_max_scaler.fit_transform(dataset[features])
print(dataset_minmax.head())
#cut dataset
train_minmax = dataset_minmax[features].iloc[:2792]
train_minmax = train_minmax.sample(frac=1,random_state=0) #shuffle
test_minmax = dataset_minmax[features].iloc[2792:]
label_train = dataset_minmax.price.iloc[:2792]
label_test = dataset_minmax.price.iloc[2792:]
#training
knn = KNeighborsRegressor()
knn.fit(train_minmax,label_train)
#evaluating
label_predictions = knn.predict(test_minmax)
print(len(label_predictions))
print(label_predictions.shape)
label_mse = mean_squared_error(label_test, label_predictions)
rmse = label_mse ** (1/2)
print("RMSE:%f"%rmse)
print(pd.Series(label_predictions))
참고 자료
클래식 알고리즘의 K 근접 (회귀 부분) sns.lmplot () 의 비교적 상세한 사용법 Python에서 판다스 DataFrame의 어떤 일/몇 열numpy 증가 공차원reshape(-1,1)과reshape(1,-1)를 어떻게 삭제하는지는 무슨 뜻입니까?어떻게 seaborn으로 다변량 분석을 합니까?어떻게 귀일화 수치를 복원합니까?
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
형태소 분석은 데스크톱을 구성하는 데 도움이?
문자×기계 학습에 흥미를 가져와 개인 범위의 용도를 생각해, 폴더 정리에 사용할 수 있을까 생각해 검토를 시작했습니다.
이번 검토에서는 폴더 구성 & text의 읽기 → mecab × wordcloud를 실시하고 있...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.
#!/usr/bin/env python
# -*- coding:utf-8 -*-
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
from sklearn import preprocessing
from sklearn.neighbors import KNeighborsRegressor
from sklearn.metrics import mean_squared_error
#load csv
cols = ['accommodates','bedrooms','bathrooms','beds','price','minimum_nights','maximum_nights','number_of_reviews']
features = ['accommodates','bedrooms','bathrooms','beds','minimum_nights','maximum_nights','number_of_reviews']
dataset = pd.read_csv('listings.csv')
dataset = dataset[cols]
dataset = dataset.dropna()
#analyze dataset roughly
print(dataset.head())
print(dataset.shape)
print(dataset.dtypes)
print(dataset.columns)
# change types of labels
dataset['price'] = dataset.price.str.replace("\$|,",'').astype(float)
# analyze dataset through plot
#
'''
sns.pairplot(dataset)
plt.show()
'''
# preprocessing minmaxscaler
min_max_scaler = preprocessing.MinMaxScaler()
dataset_minmax = dataset.copy()
dataset_minmax[features] = min_max_scaler.fit_transform(dataset[features])
print(dataset_minmax.head())
#cut dataset
train_minmax = dataset_minmax[features].iloc[:2792]
train_minmax = train_minmax.sample(frac=1,random_state=0) #shuffle
test_minmax = dataset_minmax[features].iloc[2792:]
label_train = dataset_minmax.price.iloc[:2792]
label_test = dataset_minmax.price.iloc[2792:]
#training
knn = KNeighborsRegressor()
knn.fit(train_minmax,label_train)
#evaluating
label_predictions = knn.predict(test_minmax)
print(len(label_predictions))
print(label_predictions.shape)
label_mse = mean_squared_error(label_test, label_predictions)
rmse = label_mse ** (1/2)
print("RMSE:%f"%rmse)
print(pd.Series(label_predictions))
클래식 알고리즘의 K 근접 (회귀 부분) sns.lmplot () 의 비교적 상세한 사용법 Python에서 판다스 DataFrame의 어떤 일/몇 열numpy 증가 공차원reshape(-1,1)과reshape(1,-1)를 어떻게 삭제하는지는 무슨 뜻입니까?어떻게 seaborn으로 다변량 분석을 합니까?어떻게 귀일화 수치를 복원합니까?
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
형태소 분석은 데스크톱을 구성하는 데 도움이?문자×기계 학습에 흥미를 가져와 개인 범위의 용도를 생각해, 폴더 정리에 사용할 수 있을까 생각해 검토를 시작했습니다. 이번 검토에서는 폴더 구성 & text의 읽기 → mecab × wordcloud를 실시하고 있...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.