机器学习
lisenpy
记录学习及工作中遇到的问题
展开
-
用ChatGPT写了几个脚本
最近很火的chatGPT写代码项目 解放我的双手原创 2023-02-05 14:18:48 · 1304 阅读 · 0 评论 -
浅谈线性PCA的实现过程
PCA 主成分分析法,是当今最流行的降维算法之一。其中又分为核PCA,线性PCA,对应于不同形态的数据降维他识别最靠近数据集的超平面,然后将数据投影到这个超平面上。从上面的图中,可以发现将数据投影到C1这个轴上能保留最大的差异性,其他两条虚线保留的差异性比C1实线少,而选择一条能保留最大差异性的轴就是PCA降维技术比较简单的思想。PCA算法可以找到对差异贡献最大的轴,以及一条和这个轴正交的轴,在上图中C2,C2是对剩余的差异性贡献最大的轴,因为上图是一个二维数据,在更高维的数据中找到与前两条线正交的原创 2021-05-29 16:38:01 · 427 阅读 · 0 评论 -
深拷贝和浅拷贝的区别
昨天面试的时候遇到的一个问题。浅拷贝可以使用列表自带的copy()函数(如list.copy()),或者使用copy模块的copy()函数。深拷贝只能使用copy模块的deepcopy(),所以使用前要导入:fromcopy import deepcopy如果拷贝的对象里的元素只有值,没有引用,那浅拷贝和深拷贝没有差别,都会将原有对象复制一份,产生一个新对象,对新对象里的值进行修改不会影响原有对象,新对象和原对象完全分离开。简单说就是我随意定义一个列表,列表中还包含列表,这时候使用c原创 2021-05-29 15:08:55 · 157 阅读 · 0 评论 -
使用随机森林算法编写评分卡模型
数据来源于信贷用户,数据量级为2W首先读取数据# 忽略警告import warningswarnings.filterwarnings('ignore')# 导入常用库pandas/Numpy/matplotlibimport pandas as pdimport numpy as npimport matplotlib.pyplot as plt# jupyter图形界面显示图片%matplotlib inline# jupyter显示所有特征pd.set_option('dis原创 2021-05-21 11:25:05 · 1706 阅读 · 1 评论 -
xgboost 参数详细述说
XGBoost参数详细说明:常规框架参数:boostergbtree 树模型做为基分类器(默认)gbliner 线性模型做为基分类器silentsilent=0时,不输出中间过程(默认)silent=1时,输出中间过程nthreadnthread=-1时,使用全部CPU进行并行运算(默认)nthread=1时,使用1个CPU进行运算。scale_pos_weight正样本的权重,在二分类任务中,当正负样本比例失衡时,设置正样本的权重,模型效果更好。例如,当正负翻译 2021-05-19 17:29:20 · 3037 阅读 · 0 评论 -
随机森林参数说明
RF参数详细说明:bagging框架参数:n_estimators:也就是弱学习器的最大迭代次数,或者说最大的弱学习器的个数。一般来说n_estimators太小,容易欠拟合,n_estimators太大,计算量会太大,并且n_estimators到一定的数量后,再增大n_estimators获得的模型提升会很小,所以一般选择一个适中的数值。默认是100。oob_score:即是否采用袋外样本来评估模型的好坏。默认识False。个人推荐设置为True,因为袋外分数反应了一个模型拟合后的泛化能力。cr原创 2021-05-19 17:19:54 · 4589 阅读 · 0 评论 -
使用聚类算法制作 RFM 模型 以投资用户为例
这篇文章主要是记录下,我工作中用到的算法与模型的组合。算是一种分析思路吧,顺便谈一下不足之处。首先RFM模型大多数情况是用在高频消费场景,主要分析用户的最近购买时间,购买次数,以及购买金额。依据这三个指标可以对用户进行划分。例如零售业,顾客群体比较稳定,且客户的购买行为及频次相对固定,一个客户从前一礼拜购买数三次。如今只来一次,那么数据本身的反应就会很快。但是在投资行业,本身投资周期分为长、中、短,分别对应了1年以内,1-5年,5年以上,用户的投资频率较低,投资金额较大,且最近投资时长可能在一个产品周原创 2021-04-25 16:06:40 · 301 阅读 · 2 评论 -
网格搜索对knn的使方法
from sklearn.model_selection import GridSearchCVparam = [{'weights':['distance','uniform'],'n_neighbors':[3,4,5]}]from sklearn.neighbors import KNeighborsClassifierknn=KNeighborsClassifier()grid_search = GridSearchCV(knn,param,cv=5,verbose=3)grid_sear原创 2021-02-24 16:07:03 · 213 阅读 · 0 评论 -
sklearn模型训练后保存的方法
使用joblib 这个库可以将训练好的模型保存,以便下次使用。from sklearn.datasets import load_irisfrom sklearn.linear_model import LogisticRegressionfrom sklearn.model_selection import train_test_splitdata= load_iris()x,y=data.data,data.targetxtr,xte,ytr,yte = train_test_split(x原创 2021-02-20 15:35:06 · 1709 阅读 · 0 评论 -
对电信用户流失的逻辑斯提回归分析
import numpy as npimport pandas as pdimport seaborn as snsimport matplotlib.pyplot as pltimport statsmodels.api as smimport statsmodels.formula.api as smf# 将数据读入pandaschurn = pd.read_csv('churn.csv', sep=',', header=0)churn.columns = [heading.low原创 2021-02-20 15:23:12 · 256 阅读 · 0 评论 -
基于决策树的快消领域商业分析预测
还在整理原创 2021-01-04 15:54:13 · 314 阅读 · 1 评论 -
信用卡违约用户分析-SGD分类
在DataFountain平台上的用户逾期行为预测竞赛项目。数据来源于某银行公布的网上公开数据集,为银行真实信贷用户信息,应用于信用逾期预测、信用卡评分等业务场景。import pandas as pd import numpy as npdata=pd.read_csv('C:/Users/luoyang/Desktop/信用卡逾期分析/train.csv',\index_col='CUST_ID',iterator=True)#csv文件接近500M,全部读入内存不够,iterator参数允许原创 2020-10-19 00:52:46 · 915 阅读 · 1 评论 -
使用线性回归算法对中国平安收盘价的预测
import pandas as pdimport numpy as npimport datetimeimport mathimport osimport matplotlib.pyplot as pltfrom matplotlib import stylefrom sklearn.model_selection import cross_val_scorefrom sklearn import preprocessing, svmfrom sklearn.model_selectio原创 2020-10-13 16:12:24 · 279 阅读 · 0 评论 -
评估随机森林,极端树,SVC,MLP的集成决策器对于决策结果的影响。
import numpy as npimport structimport matplotlib.pyplot as pltfrom sklearn.ensemble import RandomForestClassifier,BaggingClassifier,VotingClassifierfrom sklearn.svm import LinearSVC,SVCfrom sklearn.linear_model import LogisticRegression,LinearRegressi原创 2020-09-18 12:56:34 · 602 阅读 · 0 评论 -
BaggingClassifier分类器的使用方法
from sklearn.ensemble import RandomForestClassifier,VotingClassifier,BaggingClassifierfrom sklearn.tree import DicisionTreeClassifierbag_clf=BaggingClassifier(DecisionTreeClassifier(), n_estimators=500, max_samples=100, bootstrap=True, n_jobs=-1,原创 2020-09-17 12:17:18 · 8897 阅读 · 2 评论 -
投票分类器VotingClassfier的使用
投票分类器有硬投票和软投票两种,硬投票是对结果进行投票,软投票是对多种结果的预测精度加权后取最高值投票。这里使用硬投票举个例子from sklearn.model_selection import train_test_splitfrom sklearn.datasets import make_moonsx,y=make_moons(n_samples=1000,noise=0.25,random_state=42)xtr,xte,ytr,yte=train_test_split(x,y,tes原创 2020-09-16 22:07:15 · 3473 阅读 · 0 评论 -
使用决策树完成随机森林分类
使用sklearn 的decisiontreeclassfier 函数再数据集上完成随机森林分类。import numpy as npfrom sklearn.model_selection import GridSearchCVfrom sklearn.tree import DecisionTreeClassifierfrom sklearn.model_selection import cross_val_scorefrom sklearn.model_selection import t原创 2020-09-16 10:41:09 · 527 阅读 · 0 评论 -
对同一数据源使用LinearSVC和SGDClassifier训练
其实就是为了查看不同分类算法在相同数据源中的应用是否会产生不同的决策边界。以及不同的决策边界是否有收敛值。使用sklearn自带的数据包iris。在线性可分离数据集上训练“LinearSVC”。然后在同一个数据集上训练一个“SVC”和一个“sgdclassizer”。导入数据:from sklearn import datasetsiris = datasets.load_iris()X = iris["data"][:, (2, 3)] # 使用花瓣长、宽属性y = iris["targ原创 2020-09-14 16:02:03 · 938 阅读 · 0 评论 -
对电商平台用户行为分析
还没整理好代码,我以为今天能发 看来要明天整理上note才行了原创 2020-08-02 15:18:48 · 263 阅读 · 0 评论 -
基于SVM分类-平安股价
import pandas as pdfrom sklearn import svm,preprocessingfrom data_out import *ZGPA = pd.read_csv('zgpn.csv')ZGPA.index = ZGPA['date']df_CB = ZGPA.sort_index(ascending=True, axis=0)df_CB = df_CB.set_index('date')df_CB = df_CB.sort_index()#print df原创 2020-08-30 11:09:42 · 236 阅读 · 0 评论 -
基于k近临算法对平安股价的预测
import pandas as pdimport numpy as npimport matplotlib.pyplot as pltimport osimport mathfrom sklearn import neighborsfrom sklearn.model_selection import GridSearchCVfrom sklearn import preprocessing, svmfrom sklearn.preprocessing import MinMaxScale原创 2020-08-19 22:49:30 · 237 阅读 · 0 评论 -
电信客户流失分析
采用二值型逻辑斯蒂模型。先等一下原创 2020-08-15 19:57:31 · 363 阅读 · 0 评论 -
预测股价——线性回归模型
import pandas as pdimport numpy as npimport datetimeimport mathimport osimport matplotlib.pyplot as pltfrom matplotlib import stylefrom sklearn.model_selection import cross_val_scorefrom sklearn import preprocessing, svmfrom sklearn.model_selectio原创 2020-08-15 23:27:41 · 3228 阅读 · 1 评论 -
LabelEncoder使用方法及处理多列文本的方法
大多数机器学习算法跟数字打交道,所以有时把这些文本标签转换为数字。Scikit-Learn 为这个任务提供了一个转换器 LabelEncoder :from sklearn.preprocessing import LabelEncodere=LabelEncoder()hc= a['ocean_proximity']hce=e.fit_transform(hc)hcehce.shape训练转换后的文本会按相同描述分到一个数字。该方法只适合转换一列的文本数据,转换多列的文本数据会报错,原创 2020-08-13 16:44:47 · 2003 阅读 · 0 评论 -
sklearn imputer填充方法总结
Scikit-Learn 提供了一个方便函数处理缺失值: Imputer 。下面是其使用方法:首先,需要 创建一个 Imputer 实例,指定用某属性的中位数来替换该属性所有的缺失值:from sklearn.preprocessing import Imputer imputer = Imputer(strategy="median")imputer.fit(df)imputer 计算出了每个属性的中位数,并将结果保存在了实例变量 statistics_ 中。虽然此时 只有属性 total_原创 2020-08-13 16:20:14 · 3168 阅读 · 0 评论 -
机器学习过程中可以获取的开源数据源网址
提供几个真实可以获得真实数据的开源数据网址,在这里可以找到你需要用到的人工智能和以及机器学习需要用到的算法检验数据。算是我自己记录一下数据源的网址吧。1、UC Irvine Machine Learning Repository2、Kaggle datasets3、Amazon’s AWS datasets打不开的话需要自己搭梯子...原创 2020-08-11 11:23:48 · 248 阅读 · 0 评论 -
对信号源连接人群的停留时间分析——聚类分析
#-*- coding: utf-8 -*-#数据标准化到[0,1]import pandas as pd#参数初始化filename = '../data/business_circle.xls' #原始数据文件standardizedfile = '../tmp/standardized.xls' #标准化后数据保存路径data = pd.read_excel(filename, index_col = u'基站编号') #读取数据data = (data - data.min())原创 2020-08-10 23:30:53 · 537 阅读 · 0 评论 -
sklearn库Imputer包的丢失及替代方法
在sklearn的0.22以上版本的sklearn去除了Imputer类,我们可以使用SimpleImputer类代替。或者降级回版本sklearn 0.19from sklearn.impute import SimpleImputer#有如下的一些参数sklearn.impute.SimpleImputer( missing_values=nan, strategy='mean', fill_value=None, verbose=0, copy=True, add_in原创 2020-08-07 13:21:38 · 909 阅读 · 0 评论