from sklearnmodel_selection import train_test_splitfrom sklearnensemble import RandomForestRegressorfrom sklearnmetrics import r2_scoreimport numpy as npimport pandas as pd# 加载数据集并进行预处理data = pdread_c
增加MSN
def predict_price(year, kilometers_driven, mileage, engine, power, seats, msn): # 从原始数据中选择需要进行训练的特征和目标变量 features = ['Year', 'Kilometers_Driven', 'Mileage', 'Engine', 'Power', 'Seats', 'Msn'] target = ['Price'] X = data[features] y = data[target]
# 进行训练集和测试集的划分
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)
# 定义随机森林回归模型,并进行训练和预测
rf = RandomForestRegressor(n_estimators=100, random_state=42)
rf.fit(X_train, y_train)
predicted_price = rf.predict(np.array([year, kilometers_driven, mileage, engine, power, seats, msn]).reshape(1, -1))
# 计算 r2 分数并返回
y_pred = rf.predict(X_test)
r2 = r2_score(y_test, y_pred)
return predicted_price[0], r2
进行预测
predicted_price, r2 = predict_price(year, kilometers_driven, mileage, engine, power, seats, msn) print('r2 score:', r2
原文地址: https://www.cveoy.top/t/topic/gHBh 著作权归作者所有。请勿转载和采集!