ML
文章平均质量分 68
Dawei_01
这个作者很懒,什么都没留下…
展开
-
推荐系统Surprise库内置推荐算法
在推荐系统的建模过程中,我们将用到python库 Surprise(Simple Python RecommendatIon System Engine),是scikit系列中的一个。简单易用,同时支持多种推荐算法:基础算法/baseline algorithms基于近邻方法(协同过滤)/neighborhood methods矩阵分解方法/matrix factorization-based (...原创 2018-04-07 20:43:06 · 4923 阅读 · 1 评论 -
pandas按属性值筛选,isin
import pandas as pddf = pd.DataFrame({'countries':['US','UK','Germany','China']})dfOut[34]: countries0 US1 UK2 Germany3 China说明实例如上,有两种方式,第一种:df1=df[df["countries"...转载 2018-12-10 17:23:31 · 1968 阅读 · 0 评论 -
过滤掉出现次数少的行---pandaa.groupby
需求:过滤掉pandas DataFrame中出现次数较少的行,可以采用下面的写法:df为待过滤数据df_family_car = df.groupby("PLATE_INFO_EX").filter(lambda x: (len(x) > 500 and len(x)<1000))详细研究groupby用法,参考链接:https://blog.csdn.net/song...原创 2018-12-06 20:30:46 · 5418 阅读 · 2 评论 -
回归与logistic regression
参考:7月算法——邹博关于回归的讲义1:线性回归线性回归是求一个参数theata ,去拟合大部分样本,线性回归表达式: 2:用极大似然估计解释最小二乘法:函数值可以写为: ...原创 2018-09-13 16:43:25 · 380 阅读 · 0 评论 -
欠采样(undersampling)和过采样(oversampling)会对模型带来怎样的影响
参考:知乎专栏项目中出现了二分类数据不平衡问题,研究总结下对于类别不平横问题的处理经验:1:为什么类别不平衡会影响模型的输出:许多模型的输出类别是基于阈值的,例如逻辑回归中小于0.5的为反例,大于则为正例。在数据不平衡时,默认的阈值会导致模型输出倾向与类别数据多的类别。因此可以在实际应用中,解决办法包括:1)调整分类阈值,使得更倾向与类别少的数据。2)选择合适的评估标准,比...原创 2018-06-28 17:41:51 · 48210 阅读 · 7 评论 -
PANDAS 数据合并与重塑(concat篇)
工作需要pandas拼接组合,看到写的比较好的博客。一下内容位为转载:pandas作者Wes McKinney 在【PYTHON FOR DATA ANALYSIS】中对pandas的方方面面都有了一个权威简明的入门级的介绍,但在实际使用过程中,我发现书中的内容还只是冰山一角。谈到pandas数据的行更新、表合并等操作,一般用到的方法有concat、join、merge。但这三种方法对于很多新手来...转载 2018-05-24 20:26:06 · 4964 阅读 · 0 评论 -
pandas数据去除某些列,合并列,去重,重建索引
def select_data2collision(): data1 = data.iloc[:,45:] #取45列以后的数据 data2 = pd.concat([data["CASEID"],data1], axis=1) #把caseid的列合并进去 print(data2.head()) data3 = data2.drop_duplicates(['C...原创 2018-05-24 20:30:58 · 6399 阅读 · 0 评论 -
数据归一化,标准化,正则话的联系与区别
数据处理的features engineering过程中,常常需要根据算法的input数据格式对数据进行预处理,对数值性数的表处理可以提高算法的精度,保证算法的可信度。常用的数据处理办法有数据归一化,标准话和正则话。1:数据归一化(Normalization) 1.把数据变为(0,1)之间的小数。主要是为了方便数据处理,因为将数据映射到0~1范围之内,可以使处理过程更加便捷、快速。2.把有量纲表达...原创 2018-06-04 20:22:29 · 1011 阅读 · 0 评论 -
pandas-loc和iloc索引的对比
pandas读取数据后可以很方便的索引数据,其中我们可以直接从pandas数据读取,例如:df = pd.DataFrame({'A': ['a', 'b', 'a'], 'B': ['b', 'a', 'c'],'C': [1, 2, 3]}) dfOut[54]: A B C0 a b 11 b a 22 a c 3df["A"]Out[5...原创 2018-05-23 19:53:33 · 1165 阅读 · 0 评论 -
Random Forest(sklearn参数详解)
本篇不是介绍RF的,关于RF网上有很多通俗易懂的解释西瓜书与统计学习方法等很多教材中的解释也都足够本篇仅针对如何使用sklearn中的RandomForestClassifier作记录代码案例:class sklearn.ensemble.RandomForestClassifier(n_estimators=10, crite-rion=’gini’, max_depth=None, m...转载 2018-04-28 11:20:01 · 897 阅读 · 0 评论 -
sklearn常用分类算法集合
# coding=gbk ''''' Created on 2016年6月4日 @author: bryan ''' import time from sklearn import metrics import pickle as pickle import pandas as pd # Multinomial Naive Ba...转载 2018-04-28 10:04:01 · 1795 阅读 · 0 评论 -
特征选择算法--Relief与ReliefK
本文转载自:https://blog.csdn.net/ferrarild/article/details/187926131:ReiiefRelief算法最早由Kira提出,最初局限于两类数据的分类问题。Relief算法是一种特征权重算法(Feature weighting algorithms),根据各个特征和类别的相关性赋予特征不同的权重,权重小于某个阈值的特征将被移除。Relief算法中特...转载 2018-04-25 11:04:19 · 1612 阅读 · 0 评论 -
【转】关于使用sklearn进行数据预处理 —— 归一化/标准化/正则化
一、标准化(Z-Score),或者去除均值和方差缩放公式为:(X-mean)/std 计算时对每个属性/每列分别进行。将数据按期属性(按列进行)减去其均值,并处以其方差。得到的结果是,对于每个属性/每列来说所有数据都聚集在0附近,方差为1。实现时,有两种不同的方式:使用sklearn.preprocessing.scale()函数,可以直接将给定数据进行标准化。>>> from...转载 2018-04-30 19:24:38 · 521 阅读 · 0 评论 -
推荐系统--Surprise模型选择模块selection moudle
Surprise库中 The model_selection package 提供了算法的交叉验证和参数选择功能1:交叉验证迭代器 (类似于scikit-learn)KFold基础k折交叉验证RepeatedKFold 多次k折交叉验证.ShuffleSplit乱序训练集和数据集下的基础交叉验证LeaveOneOut在测试集上每个用户只取一个评分做交叉验证PredefinedKFold:数据集...原创 2018-04-06 13:22:22 · 1438 阅读 · 0 评论 -
推荐系统---surprise库的测试
1:加载数据集def load_format2trainset(): file_path = "F:\\ML\\recommendation_data\\music_playlist_farmat.txt" # 指定文件格式 reader = Reader(line_format='user item rating timestamp', sep=',') # 从文...原创 2018-04-05 15:36:34 · 2253 阅读 · 1 评论 -
推荐系统Surprise--度量准则与评估标准
一:Surprise中基于近邻的方法(协同过滤)可以设定不同的度量准则。具体如下:相似度度量标准度量标准说明1:cosine用户(items)之间的cosine 相似度2:msd用户(items)之间的均方差误差3:pearson用户(items)之间的皮尔逊相关系数4:pearson_baseline计算用户(item)之间的(缩小的)皮尔逊相关系数,使用基准值进行居中而不是平均值。1:cosi...原创 2018-04-08 11:12:49 · 2089 阅读 · 0 评论 -
loc中关于列的索引,加不加[]的区别
df.loc[,["列名]]列名加[] 返回值是dataframe,不加返回的Seriescurrent_district = district_city.loc[district_city["TOLLGATE_ID"]==gate_current,["district"]]current_districtOut[4]: district416 天河区typ...原创 2018-12-11 17:13:34 · 843 阅读 · 0 评论