天池寒假训练营-Task4 baseline

# 导包
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
#  读入数据
data_train = pd.read_csv(r'data/happiness_train_complete.csv',encoding='gbk')
data_test = pd.read_csv(r'data/happiness_test_complete.csv',encoding='gbk')

#%% 查看一下标签
data_train.happiness.value_counts() 
# %% 去除异常标签
data = data_train[data_train.happiness!=-8]
data.happiness.value_counts() 
data.info
data.describe()
data_train.reset_index(inplace=True)
#%%
#  统计每个列的异常值个数
#  取值为负数的定义为异常值。
#  调查数据表不能有负数出现。
def abnormal_det(data):
    columns = data.columns
    for column in columns:
        if data[column].dtype != 'object':
            data[column] = list(map(lambda x:x if x > 0 else np.nan,data[column]))
            print('%s 的异常值个数为:%d' % (column,len(data.loc[data[column] < 0,:][column])))
# %%
abnormal_det(data)
data1 = data.drop(["survey_time", "edu_other", "property_other", "invest_other"],axis=1)
x_train = data1.iloc[:,2:] 
y_train = data1.iloc[:,1]
from lightgbm import LGBMRegressor
lgb = LGBMRegressor(n_estimators=200)
lgb.fit(x_train, y_train)

pred = lgb.predict(x_train)
from sklearn.metrics import mean_squared_error as mse
result = mse(y_train, pred)
print(result)

test = data_test.drop(["id","survey_time", "edu_other", "property_other", "invest_other"],axis=1)
abnormal_det(test)
test_pred = lgb.predict(test)
id = pd.DataFrame(data_test.id)
happiness = pd.DataFrame(test_pred,columns=["happiness"])
happiness.describe()
happiness.happiness.value_counts
result = pd.concat([id,happiness],axis=1)
result.to_csv("result.csv",index=False)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值