工作中遇到的问题3:seaborn画图,特征重要性,洗牌(重组),代码运行时间
2018-03-15 14:32
246 查看
1、画图import pandas as pd
import numpy as np
import seaborn as sns
import matplotlib.pyplot as plt
%matplotlib inline
paraz_list.append('label')
sns.pairplot(train[paraz_list], size = 2.5)
plt.show()
X_scaler = StandardScaler()
X_train = X_scaler.fit_transform(X_train)
X_test = X_scaler.transform(X_test)
X = pd.DataFrame()
for i in range(0,1000,100):
for col in df_train.columns:
x = list(df_train[col])
shuffle(x)
df_train[col] = x
X = pd.concat([X,df_train],axis=0)
5、随机生成样本进行预测,并保存n = 0
m =0
import os
if os.path.isfile('data.csv'):
os.remove('data.csv')
with open('data.csv', 'w',newline='') as csvfile:
fieldnames = [ 'para1', 'para2', 'para3','label']
writer = csv.DictWriter(csvfile, fieldnames=fieldnames)
writer.writeheader()
while n < 100:
data = []
for i in ['para'+str(i) for i in [1,2,3]]:
# a = (random.randint(data[i].min(),data[i].max()))
data.append(random.uniform(test[i].min(),test[i].max())) # 生成浮点数
ypred = clf.predict([data])
m = m +1
# print(ypred)
if 0.2> ypred[0] >=0.18: # 条件
# print(ypred[0])
writer.writerow({ 'para1':data[1], 'para2':data[2], 'para3':data[3],
'label':ypred[0]})
n = n + 1
csvfile.close()
print('生成了%d个随机数'%m)
print('%d满足条件的'%n)6、记录代码运行时间import datetime
starttime = datetime.datetime.now()
endtime = datetime.datetime.now()
print('use time:',endtime - starttime))
import numpy as np
import seaborn as sns
import matplotlib.pyplot as plt
%matplotlib inline
#para_list为字段名,train为数据集,'label'为标签:0,1(观察0,1数据的分布) for para in paraz_list: facet = sns.FacetGrid(train, hue="label",aspect=4) facet.map(sns.kdeplot,para,shade= True) facet.set(xlim=(train[para].min(), train[para].max())) facet.add_legend()2、相关性sns.set()
paraz_list.append('label')
sns.pairplot(train[paraz_list], size = 2.5)
plt.show()
#data.corr()-->correlation matrix sns.heatmap(train.corr('spearman'),annot=True,cmap='RdYlGn',linewidths=0.2) fig=plt.gcf() fig.set_size_inches(10,8) plt.show()3、标准化,模型训练,输出特征重要性#标准化
X_scaler = StandardScaler()
X_train = X_scaler.fit_transform(X_train)
X_test = X_scaler.transform(X_test)
#输出特征重要性 from sklearn.ensemble import RandomForestRegressor rfr = RandomForestRegressor() rfr.fit(X_train, y_train) pre = rfr.predict(X_test) imp = rfr.feature_importances_ imp = pd.DataFrame({'feature': X_all.columns, 'score': imp}) print(imp.sort_values(by='score',ascending=False))
#观察模型对验证集的预测效果 from scipy.stats import probplot f = plt.figure(figsize=(8, 6)) ax = f.add_subplot(111) probplot(y_test - pre, plot=ax)4、洗牌,重新组合#按列
X = pd.DataFrame()
for i in range(0,1000,100):
for col in df_train.columns:
x = list(df_train[col])
shuffle(x)
df_train[col] = x
X = pd.concat([X,df_train],axis=0)
5、随机生成样本进行预测,并保存n = 0
m =0
import os
if os.path.isfile('data.csv'):
os.remove('data.csv')
with open('data.csv', 'w',newline='') as csvfile:
fieldnames = [ 'para1', 'para2', 'para3','label']
writer = csv.DictWriter(csvfile, fieldnames=fieldnames)
writer.writeheader()
while n < 100:
data = []
for i in ['para'+str(i) for i in [1,2,3]]:
# a = (random.randint(data[i].min(),data[i].max()))
data.append(random.uniform(test[i].min(),test[i].max())) # 生成浮点数
ypred = clf.predict([data])
m = m +1
# print(ypred)
if 0.2> ypred[0] >=0.18: # 条件
# print(ypred[0])
writer.writerow({ 'para1':data[1], 'para2':data[2], 'para3':data[3],
'label':ypred[0]})
n = n + 1
csvfile.close()
print('生成了%d个随机数'%m)
print('%d满足条件的'%n)6、记录代码运行时间import datetime
starttime = datetime.datetime.now()
endtime = datetime.datetime.now()
print('use time:',endtime - starttime))
相关文章推荐
- 我老遇到代码没检验出有错但一运行就会说有个问题导致程序停止工作
- 工作中遇到的问题--实现程序运行时就加载CustomerSetting的第二种方法
- nodejs npm grunt 运行调试代码遇到的问题
- DNS 服务器遇到很多运行时间事件问题解决办法。
- 代码没问题一运行就说与偶个问题导致程序停止正常工作了
- java sigar 获取本地信息代码实例,以及运行遇到的问题
- C#计算代码运行时间,以及总秒数转换为时间格式的问题
- 《Thinking in Java》RMI远程方法示例代码运行是可能遇到的问题及解决方法
- spring实战4第21章样例代码运行时遇到的问题
- [项目过程中所遇到的各种问题记录]学习篇——对工作以来的学习过的开源项目进行总结—动软代码生成工具
- mysql 关于查询时间的中工作中遇到的一些问题 有代表性的
- python机器学习-预测分析核心算法3-2代码在python3下运行遇到的一些问题
- 工作中遇到的问题--Hibernate一对多保存简化Service层代码
- 遇到问题---web访问超长时间操作请求时方法会自动运行两次--nginx自动重试导致的post提交两次
- 运行BinaryNet代码中遇到的问题
- 浅析深究什么是中间件 发布时间: 2016-06-10 作者:本站编辑 浏览次数:128 摘要: 因为工作的原因,我从金蝶集团调入金蝶中间件公司工作以来,经常遇到一个问题就是中间件公司是个什么
- 练习 2017-08-13 获取进程数据-编译和运行Java代码 问题在截图上 留待解决。
- 2015年工作中遇到的问题111-120
- 最大子数组问题-暴力求解-c++代码实现及运行实例结果
- 测试代码运行时间