【KNN算法实战】基于KNN的房屋价格预测实战

总体思路:

1.拿到数据后,首先查看数据基本情况,筛选需要的列。

2.进行数据预处理:数据去重、缺失值处理、异常值处理【该案例中'price'列需要进行格式清晰与数据类型转换】

3.建模与评估:首先需要对数据进行Z-score标准化,然后进行训练集与测试集的划分,用训练集训练模型,用测试集预测和对模型评估。

新知:

【数据格式清洗】

模版:

DataFrame['target_col'] = DataFrameDataFrame['target_col'].str.replace('old str', 'new str').astype(data_type)

【异常值的判断标准】

标准分判断(Zscore)

标准分:衡量数据距离均值多少个标准差;公式:(xi - xmean) / xstd

经验法则:约68%的数据位于距离均值1标准差范围内;约95%数据位于距离均值2标准差范围内;几乎全部数据位于距离均值3标准差范围内

模版:

z_score = (DataFrame['target_col'] - DataFrame['target_col'].mean()) / DataFrame['target_col'].std()
drop_index = DataFrame[z_score.abs() > 3].index

DataFrame.drop(drop_index, inplace = True)

【对数据进行Zscore标准化】

目的是为了去量纲

标准化所在库: from sklearn.preprocessing import StandardScaler

模版: DataFrame[target_cols] = StandardScaler().fit_transform(DataFrame[target_cols])

【回归模型的评估标准】

回归模型常使用均方误差(MSE)、均方根误差(RMSE)、平均绝对误差(MAE)进行评估,三个指标的值越小越好

注意:分类模型和回归模型使用的评估方法不同,不能混用!

模型评估所在库: sklearn.metrics 

模版:

from sklearn.metrics import mean_squared_error, r2_score, mean_absolute_error
print(mean_squared_error(y_test, y_predict))
print(pow(mean_squared_error(y_test, y_predict), 0.5))
print(mean_absolute_error(y_test, y_predict))
print(r2_score(y_test, y_predict))  # R方值

 

猜你喜欢

转载自www.cnblogs.com/yangzhehan/p/12311352.html
今日推荐