python实现机器学习算法XGBoost 查询数据库数据保存为pandas.dataframe
from sqlalchemy import create_engine
# 初始化数据库连接,使⽤pymysql模块
engine = create_engine('mysql+pymysql://⽤户名:host:3306/数据库名')
# 查询语句,选出employee表中的所有数据
sql = '''
SELECT 字段 FROM 表名 WHERE 条件
'''君主专制国家
# read_sql_query的两个参数: sql语句,数据库连接
datat = pd.read_sql_query(sql, engine)
新居入伙请柬# 输出employee表的查询结果
print(datat.head(10))
获取特征值和⽬标值,拆分特征为测试集合训练集(0.2为例)
肉丝面的做法del_lection import train_test_split最大的半岛
# Split-out validation datat
莲藕汤的功效array = datat.values
# 假设前5列为特征最后⼀列为⽬标值
X = array[:,:5]
y = array[:,5]
print(X)
print(y)
validation_size = 0.20
电脑上怎么用微信
ed = 7
X_train, X_validation, Y_train, Y_validation = ain_test_split(X, y, test_size=validation_size, random_state=ed)使⽤XGBoost进⾏预测,打印精准率,召回率和f1,混淆矩阵和准确率
ics import classification_report
东北春节习俗from xgboost import XGBClassifier
# 拟合XGBoost模型
lr = XGBClassifier(scale_pos_weight=负样本/正样本, n_estimatores=1000, max_depth=6,subsample=0.8,colsample_btree=0.8) # learning_rate=0.1,
# n_estimators=1000, # 树的个数--1000棵树建⽴xgboost
# max_depth=6, # 树的深度
# min_child_weight = 1, # 叶⼦节点最⼩权重
# gamma=0., # 惩罚项中叶⼦结点个数前的参数
# subsample=0.8, # 随机选择80%样本建⽴决策树
# colsample_btree=0.8, # 随机选择80%特征建⽴决策树
# objective='multi:softmax', # 指定损失函数
# scale_pos_weight=3.3, # 解决样本个数不平衡的问题
# random_state=27, # 随机数
lr.fit(X_train, Y_train)
predictions = lr.predict(X_validation)
# 打印分类准确率分数
print(accuracy_score(Y_validation, predictions))
# 打印混淆矩阵
print(confusion_matrix(Y_validation, predictions))
# 打印精准率,召回率和f1
print(classification_report(Y_validation, predictions))
>豆腐皮炒肉