안녕하세요, Stackoverflow 커뮤니티!임의의 포리스트 (파이썬)에서 대상 및 독립 변수
임의의 포리스트 알고리즘을 사용하여 "House Sales in King County"을 분석하고 싶습니다. 지금까지 데이터를로드하고 데이터를 준비했지만 그 목표와 독립 변수를 선택하는 데 어려움을 겪었습니다.
목표는 데이터 집합의 모든 변수를 입력 변수로 선택하고 대상 변수는 가격이어야합니다.
내 코드 (아래 참조)는 현재 어떻게 든 작동하지만 내 목표 (다른 변수를 통해 가격을 예측)에 근접하지는 않습니다. 나는 여러 가지 접근법을 시도했다. 그러나 모든 것이 오류로 끝났다. (레이블의 수 = 17은 샘플의 수와 일치하지 않는다 = 15128). 누군가가
# Load Libraries
from sklearn.ensemble import RandomForestClassifier
from sklearn.metrics import roc_auc_score
from sklearn.cross_validation import train_test_split
import pandas as pd
dataset= pd.read_csv('kc_house_data.csv')
dataset = dataset.drop('id', axis=1)
dataset = dataset.drop('date', axis=1)
dataset = dataset.drop('zipcode', axis=1)
dataset = dataset.drop('long', axis=1)
cols = ['price', 'bathrooms', 'floors', 'bedrooms', 'sqft_living', 'sqft_lot', 'waterfront', 'view', 'condition', 'grade', 'lat', 'sqft_above']
dataset[cols] = dataset[cols].applymap(np.int64)
print(dataset.shape)
print(dataset.dtypes)
# Splitting Dataset
Train,Test = train_test_split(dataset, test_size = 0.3, random_state = 176)
Train_IndepentVars = Train.values[:, 3:5]
Train_TargetVar = Train.values[:,5]
Test_IndepentVars = Test.values[:, 3:5]
Test_TargetVar = Test.values[:,5]
##RF
main=['view', 'bedrooms', 'floors', 'grade']
rf_model = RandomForestClassifier(max_depth=30,n_estimators=15)
rf_model.fit(Train_IndepentVars, Train_TargetVar)
predictions = rf_model.predict(Train_IndepentVars)
###Confusion Matrix
from sklearn.metrics import confusion_matrix
# Confusion Matrix
print(" Confusion matrix ", confusion_matrix(Train_TargetVar, predictions))
importance = rf_model.feature_importances_
importance = pd.DataFrame(importance, index=Train.columns[3:5],
columns=["Importance"])
print(importance)
답장을 보내 주셔서 감사합니다. "견적가의 수"란 무엇을 의미합니까? 그것이 정확히 요점입니다. 3 가지 이상의 기능을 사용하고 싶습니다. 그러나 코드면에서 어떻게 사용되는지 모르겠습니다. –
나는 나의 대답을 편집했다. 저것 좀 봐. – pissall
코드를 보내 주셔서 감사합니다 !!! 불행하게도, 그것은 나를 잡아 : TypeError : '['욕실 ','바닥 ','침실 ','sqft_living ','sqft_lot ','워터 프론트 ','전망 ','조건 ','등급 ' 'sqft_above'] '은 (는) 잘못된 키입니다. –