机器学习之正态分布拟合 您所在的位置:网站首页 如何拟合正态分布曲线 机器学习之正态分布拟合

机器学习之正态分布拟合

2024-07-10 22:32| 来源: 网络整理| 查看: 265

文章目录 核心思想什么是正态分布?正态分布的参数标准正态分布:正态分布的特例 代码也可以试试哦

核心思想 什么是正态分布?

正态分布也被称为高斯分布或者钟形曲线(因为它看起来像一个钟),这是统计学中最重要的概率分布,就像我们在大自然中经常看到的那样,它有点神奇。例如,身高、体重、血压、测量误差、智商得分等都服从正态分布。

正态分布的参数

正态分布总是以平均值为中心,而曲线的宽度则由标准差(SD)决定。、这是两个正态分布,x轴上的高度单位是英寸,y轴上是特定高度对应的人数。

婴儿的平均身高为20英寸,标准差为0.6英寸 成年人的身高为70英寸,标准差为4英寸

了解正态分布标准差的意义在于,它遵循一个经验法则,即大约95%的测量值落在均值附近的+/-2倍个标准差之间。

推论:95%的人口落在平均值+/-2*SD之间

所有正态分布的共同特征

它们都是对称的平均数 = 中位数根据经验法则,我们可以确定正态分布曲线离均值标准差范围内的数据百分比。 标准正态分布:正态分布的特例

如前所述,正态分布根据参数值(平均值和标准差)有许多不同的形状。标准正态分布是正态分布的一个特例,均值为0,标准差为1。这个分布也称为Z分布。

标准正态分布上的值称为标准分数或Z分数。标准分数表示某一特定观测值高于或低于平均数的SD值。

代码 def circulating(df): cond = df.abs() - df.mean() > 3*df.std() cond.sum() # 小于3σ标准的总和 # 让小于3σ标准的那些作为条件 即布尔索引 # 借助any()函数, 测试是否有True,有一个或以上返回True,反之返回False cond = cond.any(axis = 1) df2 = df.drop(labels=df[cond].index) return df2 也可以试试哦 data=pd.read_csv('Titanic.train.csv') data=data.drop(['PassengerId','Name','Ticket','Cabin'],axis=1) imputer=SimpleImputer(strategy='mean') data['Age']=imputer.fit_transform(data[['Age']]) for col in data.columns: if data[col].dtype=='object': data[col]=data[col].astype('category') x=data.drop(['Survived'],axis=1) y=data['Survived'] x_train,x_test,y_train,y_test=train_test_split(x,y,test_size=0.2,random_state=0) params={'max_depth':[2,3,4], 'learning_rate':[0.05,0.1,0.15,0.2,1], 'n_estimators':[30,50,80,100]} estimator=LGBMClassifier(objective='binary',reg_alpha=0.1, reg_lambda=0.2) gbm=GridSearchCV(estimator,params) gbm.fit(x_train,y_train,early_stopping_rounds=10, categorical_feature=['Sex','Embarked'], eval_metric=['auc','binary'], eval_set=[(x_train,y_train)], eval_names='train', verbose=10) model=gbm.best_estimator_ y_pred=model.predict(x_test) roc_auc=roc_auc_score(y_test,model.predict_proba(x_test)[:,1]) accuracy=accuracy_score(y_test,y_pred)


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有