人工智能数据处理的小知识
来源:互联网 发布:国债逆回购 知乎 编辑:程序博客网 时间:2024/05/22 06:25
1.打开文件
- 读文件
pd.read_csv(path)pd.read_excel(path)pd.read_txt(path)#图片plt.imread(path)#mat文件from scipy.io import loadmatdata1=loadmat(path)#二进制方式读取with open(file_path,mode='rb') as file: data = pickle.load(file,encoding='ISO-8859-1')
- 写文件
df.to_excel(path)
- 连接数据库
#导入模块import sqlite3 as sqlite3# 跟数据库建立连接connection = sqlite3.connect('dbpath')# 读取数据库文件data = pd.read_sql("SQL语句",connection)#操作数据库connection.execute(SQL语句)# 写入数据库data.to_sql('dbpath',connection)
2.分割样本数据,生成训练数据和测试数据
#用于切割训练数据和样本数据from sklearn.model_selection import train_test_splitX_train,x_test,Y_train,y_true = train_test_split(data,target,test_size=0.2)
3.将DataFrame中字符串列转为数字
#定义函数def transform(items): unique_list = datas[items].unique() def change_string(item): return np.argwhere(item==unique_list)[0][0] datas[items]=datas[items].map(change_string)#遍历列,对非数字列使用函数for i in datas.columns[datas.dtypes=='object']: transform(i)
4.归一化处理
for i in datas.loc[:,col]: datas[i]/= datas[i].sum()
5.过滤异常数据
samples = datas[(np.abs(datas-datas.mean(axis=0))<= 2*(datas.std(axis=0))).all(axis=1)]
6.循环训练模型
# 使用机器学习模型进行预测sklearn_model_dic = { 'KNN':KNeighborsRegressor(), 'Ridge':Ridge(), 'Lasso':Lasso(), 'Linear':LinearRegression()}# 分别使用各种机器学习模型训练并预测数据,把预测结果保存到一个字典里,用每个算法的名称做键,保留各个算法的预测值predict_y_dic = {}for key,model in sklearn_model_dic.items(): model.fit(X_train,y_train) preidct_y_ = model.predict(x_test) predict_y_dic[key] = preidct_y_
7.循环展示图片
plt.figure(figsize=(12,18))for i in range(100): plt.subplot(10,10,i+1) plt.imshow(x_test[i].reshape(8,8)) plt.axis('off') title = 'KNN:'+ str(knn_y_[i]) + '\nLOGIC:' + str(logistic_y_[i]) + '\nTrue:' + str(y_true[i]) plt.title(title)
8.网格化数据处理
# 获取x\y轴的取值范围xmin,xmax = train[:,0].min()-0.5 , train[:,0].max()+0.5ymin,ymax = train[:,1].min()-0.5 , train[:,1].max()+0.5# 生成x、y两个列表做网格化处理x = np.arange(xmin,xmax,0.1)y = np.arange(ymin,ymax,0.1)xx,yy = np.meshgrid(x,y)x_test = np.c_[xx.ravel(),yy.ravel()]
9.给算法打分
# 测量线性回归模型的分数from sklearn.metrics import r2_scorer2_score(y_true,y_pre)#测量算法得分knn.score(x_test,y_true)
10.数据降维处理
PCA 用于数据降维,减少运算时间,避免过拟合
n_components参数设置需要保留特征的数量,如果是小数,则表示保留特征的比例
- 导入模块
#主成分分析(principal components analysis),主要用于数据降维的from sklearn.decomposition import PCA
- 创建pca对象
pca = PCA(n_components=150,whiten=True)
- 使用pca训练数据
pca.fit(X_train,y_train)
- 对数据进行降维处理
X_train_pca = pca.transform(X_train)x_test_pca = pca.transform(x_test)
结果将由原来的784个特征变为了150个特征
11.使用GridSearchCV来调参
C = [1,3,5,7,9]gamma = [0.0001,0.0005,0.001,0.005,0.01,0.05]#创建GridSearchCV对象,estimator参数是需要进行调参处理的机器学习模型clf = GridSearchCV(svc,param_grid={'C':C,'gamma':gamma})#开始调参(理解数据,确定哪种参数更合适)clf.fit(X_train_pca,y_train)#best_params_来查看选中的最优参数解clf.best_params_#预测结果,查看评分y_pre = clf.predict(x_test_pca)clf_score = clf.score(x_test_pca,y_true)clf_score
阅读全文
0 0
- 人工智能数据处理的小知识
- 关于人工智能,不得不知的小知识
- 关于人工智能的小知识总结
- python 数据处理的小技巧
- 人工智能——知识的表示
- java语言编写的人工智能小测试
- 各种对数据处理的小技巧
- 超级链接的小知识
- 自己的小知识
- 有用的小知识
- 琐碎的小知识
- List的小知识
- 备忘的小知识
- js的小知识
- 回车键的小知识
- shell 的小知识
- mysql的小知识
- java的小知识
- js获取浏览器当前时间
- myeclipse安装maven
- 有没有php和mysql 的图书管理系统 帮帮忙
- Reveal安装与使用
- jackson解析json字符串,首字母大写会自动转为小写
- 人工智能数据处理的小知识
- 购物车,添加:判断(为空,为数字,等于8位数)搜索名称显示
- Springboot 整合 Dubbo/ZooKeeper 详解 SOA 案例
- 用ARVR编辑器开启圣诞节,营销也能玩出新花样
- Oracle学习2:别名&字符串拼接
- Zookeeper实现分布式锁
- 神经网络训练时,出现NaN loss
- 笔记2017.12.19
- (备忘录)Rxjava2+Retrofit封装1