【人工智能项目】- 机器学习实现收入分类预测报告

8 财政收入预测分析 财政收入,是指政府为履行其职能、实施公共政策和提供公共物品与服务需要而筹集的一切资金的总和。财政收入表现为政府部门在一定时期内(一般为一个财政年度)所取得的货币收入。财政收入是衡量一国政府财力的重要特征,政府在社会经济活动中提供公共物品和服务的范围和数量,在很大程度上取决于财政收入的充裕状况。在我国现行的分税制财政管理体制下,地方财政收入不但是国家财政收入的重要组成部分,而且具有其相对独立的构成内容。 阅读详情

【人工智能项目】- 机器学习实现收入分类预测报告

题目

利用age、workclass、…、native_country等13个特征预测收入是否超过50k,是一个二分类问题。

训练集

32561个样本,每个样本14个特征,其中6个连续性特征、9个离散型特征。
在这里插入图片描述
特征介绍:
Age:年龄;
Workclass:离散值,表示工作类型,包括私人的,不为公司的,不为公司的,联邦政府的,地方政府的,州政府的,没有薪水的,从未工作过的;
Fnlwgt:连续值;
Education:学历背景;
Education-num:受教育时间;
Maritial_status:婚姻状况;
Occupation:职业;
Relationship:关系;
Race:种族;
Sex性别;
Captital_gain:资本收益;
Captital loss:损失;
Hours/week 工作时长;
Native country:国籍;
Income:收入。为该问题的label;

测试集

16281个样本,每个样本14个特征。
在这里插入图片描述

即在测试集中,根据age等14个特征,预测income是否超过50k,二分类问题。

说明

部分特征的值为“?”,表示缺失值,需要对其先处理。

实验部分

1.导入数据

# Data Manipulation 
import numpy as np
import pandas as pd

# Visualization 
import matplotlib.pyplot as plt
import missingno   #缺失值
import seaborn as sns
from pandas.tools.plotting import scatter_matrix
from mpl_toolkits.mplot3d import Axes3D

# Feature Selection and Encoding
from sklearn.feature_selection import RFE, RFECV
from sklearn.svm import SVR
from sklearn.decomposition import PCA
from sklearn.preprocessing import OneHotEncoder, LabelEncoder, label_binarize

# Machine learning 
import sklearn.ensemble as ske
from sklearn import datasets, model_selection, tree, preprocessing, metrics, linear_model
from sklearn.svm import LinearSVC
from sklearn.ensemble import RandomForestClassifier, GradientBoostingClassifier
from sklearn.neighbors import KNeighborsClassifier
from sklearn.naive_bayes import GaussianNB
from sklearn.linear_model import LinearRegression, LogisticRegression, Ridge, Lasso, SGDClassifier
from sklearn.tree import DecisionTreeClassifier
#import tensorflow as tf

# Grid and Random Search
import scipy.stats as st
from scipy.stats import randint as sp_randint
from sklearn.model_selection import GridSearchCV
from sklearn.model_selection import RandomizedSearchCV

# Metrics
from sklearn.metrics import precision_recall_fscore_support, roc_curve, auc

# Managing Warnings 
import warnings
warnings.filterwarnings('ignore')

# Plot the Figures Inline
%matplotlib inline
# 读取文件
train_data = pd.read_csv("train.csv")
test_data = pd.read_csv("test.csv")
# 查看前5行数据
train_data.head()
AgeWorkclassfnlgwtEducationEducation numMarital StatusOccupationRelationshipRaceSexCapital GainCapital LossHours/WeekNative countryIncome
039State-gov77516Bachelors13Never-marriedAdm-clericalNot-in-familyWhiteMale2174040United-States<=50K
150Self-emp-not-inc83311Bachelors13Married-civ-spouseExec-managerialHusbandWhiteMale0013United-States<=50K
238Private215646HS-grad9DivorcedHandlers-cleanersNot-in-familyWhiteMale0040United-States<=50K
353Private23472111th7Married-civ-spouseHandlers-cleanersHusbandBlackMale0040United-States<=50K
428Private338409Bachelors13Married-civ-spouseProf-specialtyWifeBlackFemale0040Cuba<=50K
# 查看前5行数据
test_data.head()
AgeWorkclassfnlgwtEducationEducation numMarital StatusOccupationRelationshipRaceSexCapital GainCapital LossHours/WeekNative country
025Private22680211th7Never-marriedMachine-op-inspctOwn-childBlackMale0040United-States
138Private89814HS-grad9Married-civ-spouseFarming-fishingHusbandWhiteMale0050United-States
228Local-gov336951Assoc-acdm12Married-civ-spouseProtective-servHusbandWhiteMale0040United-States
344Private160323Some-college10Married-civ-spouseMachine-op-inspctHusbandBlackMale7688040United-States
418?103497Some-college10Never-married?Own-childWhiteFemale0030United-States
train_data.shape
(32561, 15)
test_data.shape
(16281, 14)
train_data.info()
<class 'pandas.core.frame.DataFrame'>
RangeIndex: 32561 entries, 0 to 32560
Data columns (total 15 columns):
Age               32561 non-null int64
Workclass         32561 non-null object
fnlgwt            32561 non-null int64
Education         32561 non-null object
Education num     32561 non-null int64
Marital Status    32561 non-null object
Occupation        32561 non-null object
Relationship      32561 non-null object
Race              32561 non-null object
Sex               32561 non-null object
Capital Gain      32561 non-null int64
Capital Loss      32561 non-null int64
Hours/Week        32561 non-null int64
Native country    32561 non-null object
Income            32561 non-null object
dtypes: int64(6), object(9)
memory usage: 3.7+ MB
train_data.describe(include=['O'])
WorkclassEducationMarital StatusOccupationRelationshipRaceSexNative countryIncome
count325613256132561325613256132561325613256132561
unique916715652422
topPrivateHS-gradMarried-civ-spouseProf-specialtyHusbandWhiteMaleUnited-States<=50K
freq22696105011497641401319327816217902917024720
test_data.describe(include=['O'])
WorkclassEducationMarital StatusOccupationRelationshipRaceSexNative country
count1628116281162811628116281162811628116281
unique91671565241
topPrivateHS-gradMarried-civ-spouseProf-specialtyHusbandWhiteMaleUnited-States
freq112105283740320326523139461086014662
train_data.columns
Index(['Age', 'Workclass', 'fnlgwt', 'Education', 'Education num',
       'Marital Status', 'Occupation', 'Relationship', 'Race', 'Sex',
       'Capital Gain', 'Capital Loss', 'Hours/Week', 'Native country',
       'Income'],
      dtype='object')
train_data.dtypes
Age                int64
Workclass         object
fnlgwt             int64
Education         object
Education num      int64
Marital Status    object
Occupation        object
Relationship      object
Race              object
Sex               object
Capital Gain       int64
Capital Loss       int64
Hours/Week         int64
Native country    object
Income            object
dtype: object

2.可视化

train_data.loc[:,['Age','fnlgwt','Capital Gain','Capital Loss','Hours/Week']].plot(subplots=True,figsize=(15,10))
array([<matplotlib.axes._subplots.AxesSubplot object at 0x000001C5C361C898>,
       <matplotlib.axes._subplots.AxesSubplot object at 0x000001C5C368E630>,
       <matplotlib.axes._subplots.AxesSubplot object at 0x000001C5C36B2A58>,
       <matplotlib.axes._subplots.AxesSubplot object at 0x000001C5C345CEB8>,
       <matplotlib.axes._subplots.AxesSubplot object at 0x000001C5C348D358>],
      dtype=object)

在这里插入图片描述

data_int=train_data.loc[:,['Age','fnlgwt','Capital Loss','Hours/Week']]
f,ax=plt.subplots(figsize=(15,15))
sns.heatmap(data_int.corr(),annot=True, linewidths=.5, fmt= '.1f',ax=ax)
<matplotlib.axes._subplots.AxesSubplot at 0x1c5c3604a20>

在这里插入图片描述

data_int.plot(kind='scatter',x='Hours/Week',y='fnlgwt',figsize=(15,8))
<matplotlib.axes._subplots.AxesSubplot at 0x1c5c3daab70>

在这里插入图片描述

data_int['Hours/Week'].plot(kind='hist',bins=50,figsize=(15,8))
plt.ylim(0,10000)
#每周工作时长看起来集中在40小时比较多
(0, 10000)

在这里插入图片描述

#看一下income与工作时长的关系
data_1=train_data.loc[:,['Hours/Week','Income']]
data_1.boxplot(by='Income',figsize=(8,8))
plt.ylim(20,70)
(20, 70)

在这里插入图片描述

plt.figure(figsize=(15,8))
sns.stripplot(x='Hours/Week',y='Income',data=data_1,jitter=True)
#小于5万美金的工作时长似乎在0-60之间分布比较均匀
#大于5万美金的似乎主要在30-50之间
#工作时间与薪资有一定相关性
<matplotlib.axes._subplots.AxesSubplot at 0x1c5c3e1eba8>

在这里插入图片描述

sns.pairplot(train_data.loc[:,['Age','fnlgwt','Capital Loss','Hours/Week','Income']],hue='Income',size=5)
<seaborn.axisgrid.PairGrid at 0x1c5c8ebf208>

在这里插入图片描述

x=train_data.loc[:,['Age', 'fnlgWt', 'Capital Loss', 'Hours/Week']]
y=train_data.Income
less_than_50k=(y.value_counts()[0])/len(y)
more_than_50k=(y.value_counts()[1])/len(y)
plt.figure(figsize=(10,8))
sns.countplot(y,)
print('年收入少于50k的占: %.2f' % less_than_50k)
print('年收入高于50k的占: %.2f' % more_than_50k)
年收入少于50k的占: 0.76
年收入高于50k的占: 0.24

在这里插入图片描述

train_data[['Education num','Education']].head(5)
#每种学历对应一个编号
Education numEducation
013Bachelors
113Bachelors
29HS-grad
3711th
413Bachelors
#大多数的学历在编号9,10,13
#9=HS-grad
#10=Some-college
#13=Bachelors
train_data['Education num'].value_counts().plot(kind='barh',figsize=(15,8),grid=False)
# print(data['education.num']==9)
<matplotlib.axes._subplots.AxesSubplot at 0x1c5cf5f8a20>

在这里插入图片描述

#性别和收入
sex_with_income=train_data[['Sex','Income']]
plt.figure(figsize=(8,8))
sex_with_income.Sex.value_counts().plot()
sex_with_income.Income.value_counts().plot()
plt.legend()
<matplotlib.legend.Legend at 0x1c5cf5f8e80>

在这里插入图片描述

特征EDA

# 读取文件
train_data = pd.read_csv("train.csv")
test_data = pd.read_csv("test.csv")
train_data.describe(include=['O']).columns
Index(['Workclass', 'Education', 'Marital Status', 'Occupation',
       'Relationship', 'Race', 'Sex', 'Native country'],
      dtype='object')
test_data.describe(include=['O']).columns
Index(['Workclass', 'Education', 'Marital Status', 'Occupation',
       'Relationship', 'Race', 'Sex', 'Native country'],
      dtype='object')
train_data[['Income','Workclass']].groupby(['Workclass'],as_index=False).mean()
WorkclassIncome
0?0.104031
1Federal-gov0.386458
2Local-gov0.294792
3Never-worked0.000000
4Private0.218673
5Self-emp-inc0.557348
6Self-emp-not-inc0.284927
7State-gov0.271957
8Without-pay0.000000
train_data[['Income','Education']].groupby(['Education'],as_index=False).mean()
EducationIncome
010th0.066452
111th0.051064
212th0.076212
31st-4th0.035714
45th-6th0.048048
57th-8th0.061920
69th0.052529
7Assoc-acdm0.248360
8Assoc-voc0.261216
9Bachelors0.414753
10Doctorate0.740920
11HS-grad0.159509
12Masters0.556587
13Preschool0.000000
14Prof-school0.734375
15Some-college0.190235
train_data[['Income','Marital Status']].groupby(['Marital Status'],as_index=False).mean()
#婚姻状态的相关性不高,可以drop
Marital StatusIncome
0Divorced0.104209
1Married-AF-spouse0.434783
2Married-civ-spouse0.446848
3Married-spouse-absent0.081340
4Never-married0.045961
5Separated0.064390
6Widowed0.085599
train_data[['Income','Occupation']].groupby(['Occupation'],as_index=False).mean()
#有缺失数据,drop掉
OccupationIncome
0?0.103635
1Adm-clerical0.134483
2Armed-Forces0.111111
3Craft-repair0.226641
4Exec-managerial0.484014
5Farming-fishing0.115694
6Handlers-cleaners0.062774
7Machine-op-inspct0.124875
8Other-service0.041578
9Priv-house-serv0.006711
10Prof-specialty0.449034
11Protective-serv0.325116
12Sales0.269315
13Tech-support0.304957
14Transport-moving0.200376
train_data[['Income','Relationship']].groupby(['Relationship'],as_index=False).mean()
#drop
RelationshipIncome
0Husband0.448571
1Not-in-family0.103070
2Other-relative0.037717
3Own-child0.013220
4Unmarried0.063262
5Wife0.475128
train_data[['Income','Race']].groupby(['Race'],as_index=False).mean()
#保留
RaceIncome
0Amer-Indian-Eskimo0.115756
1Asian-Pac-Islander0.265640
2Black0.123880
3Other0.092251
4White0.255860
train_data[['Income','Sex']].groupby(['Sex'],as_index=False).mean()
#先保留
SexIncome
0Female0.109461
1Male0.305737
train_data[['Income','Native country']].groupby(['Native country'],as_index=False).mean()
#drop
Native countryIncome
0?0.250429
1Cambodia0.368421
2Canada0.322314
3China0.266667
4Columbia0.033898
5Cuba0.263158
6Dominican-Republic0.028571
7Ecuador0.142857
8El-Salvador0.084906
9England0.333333
10France0.413793
11Germany0.321168
12Greece0.275862
13Guatemala0.046875
14Haiti0.090909
15Holand-Netherlands0.000000
16Honduras0.076923
17Hong0.300000
18Hungary0.230769
19India0.400000
20Iran0.418605
21Ireland0.208333
22Italy0.342466
23Jamaica0.123457
24Japan0.387097
25Laos0.111111
26Mexico0.051322
27Nicaragua0.058824
28Outlying-US(Guam-USVI-etc)0.000000
29Peru0.064516
30Philippines0.308081
31Poland0.200000
32Portugal0.108108
33Puerto-Rico0.105263
34Scotland0.250000
35South0.200000
36Taiwan0.392157
37Thailand0.166667
38Trinadad&Tobago0.105263
39United-States0.245835
40Vietnam0.074627
41Yugoslavia0.375000
train_data.describe().columns
Index(['Age', 'fnlgwt', 'Education num', 'Capital Gain', 'Capital Loss',
       'Hours/Week', 'Income'],
      dtype='object')
g=sns.FacetGrid(train_data,col='Income')
g.map(plt.hist,'Age',bins=20)
print('观察:')
print("小于50k的年龄在20-40")
print('大于50k的人数少,在30-50之间')
print('年龄应该作为特征之一保留')
观察:
小于50k的年龄在20-40
大于50k的人数少,在30-50之间
年龄应该作为特征之一保留

在这里插入图片描述

#保留的分类特征:sex,race,education
grid=sns.FacetGrid(train_data,col='Income',row='Education',size=3,aspect=2)
grid.map(plt.hist,'Age',alpha=0.5,bins=20)
grid.add_legend()
print('观察:')
print('三种学历:bachelors,HS-grad,some-college')
print('some-college年薪小于5万的主要在20-30之间最多')
观察:
三种学历:bachelors,HS-grad,some-college
some-college年薪小于5万的主要在20-30之间最多

在这里插入图片描述

grid=sns.FacetGrid(train_data,col='Income',row='Education',size=3,aspect=2)
grid.map(plt.hist,'fnlgwt',alpha=0.5,bins=20)
grid.add_legend()
print('观察:')
print('drop特征fnlwgt')
观察:
drop特征fnlwgt

在这里插入图片描述

train_data.columns
Index(['Age', 'Workclass', 'fnlgwt', 'Education', 'Education num',
       'Marital Status', 'Occupation', 'Relationship', 'Race', 'Sex',
       'Capital Gain', 'Capital Loss', 'Hours/Week', 'Native country',
       'Income'],
      dtype='object')
grid=sns.FacetGrid(train_data,col='Income',row='Race',size=3,aspect=2)
grid.map(plt.hist,'Hours/Week',alpha=0.5,bins=20)
grid.add_legend()
# print('观察:')
# print('drop特征hours.per.week)
<seaborn.axisgrid.FacetGrid at 0x1c5d1739278>

在这里插入图片描述

train_data.columns
Index(['Age', 'Workclass', 'fnlgwt', 'Education', 'Education num',
       'Marital Status', 'Occupation', 'Relationship', 'Race', 'Sex',
       'Capital Gain', 'Capital Loss', 'Hours/Week', 'Native country',
       'Income'],
      dtype='object')
train_data
AgeWorkclassfnlgwtEducationEducation numMarital StatusOccupationRelationshipRaceSexCapital GainCapital LossHours/WeekNative countryIncome
039State-gov77516Bachelors13Never-marriedAdm-clericalNot-in-familyWhiteMale2174040United-States0
150Self-emp-not-inc83311Bachelors13Married-civ-spouseExec-managerialHusbandWhiteMale0013United-States0
238Private215646HS-grad9DivorcedHandlers-cleanersNot-in-familyWhiteMale0040United-States0
................................................
3256052Self-emp-inc287927HS-grad9Married-civ-spouseExec-managerialWifeWhiteFemale15024040United-States1

32561 rows × 15 columns

#保留的分类特征:sex,race,education
grid=sns.FacetGrid(train_data,row='Race',size=3,aspect=5)
grid.map(sns.pointplot,'Education','Income','Sex',markers=["^", "o"], linestyles=["-", "--"])
grid.add_legend()
print('女性的收入始终小于男性')
print('黑人博士学位的收入很高,亚裔女博士收入比亚裔男博士高')
print('亚裔和印度裔硕士的收入高,其中亚裔男性比女性高,印度裔女性与男性一样高')
女性的收入始终小于男性
黑人博士学位的收入很高,亚裔女博士收入比亚裔男博士高
亚裔和印度裔硕士的收入高,其中亚裔男性比女性高,印度裔女性与男性一样高

在这里插入图片描述

#categorical and numerical features的相关性
#sex,race,education
grid = sns.FacetGrid(train_data, row='Education', col='Income', size=2.2, aspect=1.6)
grid.map(sns.barplot, 'Sex', 'Age', alpha=0.5, ci=None)
grid.add_legend()
<seaborn.axisgrid.FacetGrid at 0x1c5d119ba20>

在这里插入图片描述

start

# 读取文件
import pandas as pd

train_data = pd.read_csv("train.csv")
test_data = pd.read_csv("test.csv")
train_data.columns
Index(['Age', 'Workclass', 'fnlgwt', 'Education', 'Education num',
       'Marital Status', 'Occupation', 'Relationship', 'Race', 'Sex',
       'Capital Gain', 'Capital Loss', 'Hours/Week', 'Native country',
       'Income'],
      dtype='object')
#drop 特征
train_data=train_data.drop(['Workclass','fnlgwt','Education','Marital Status',
                'Occupation','Relationship','Capital Gain','Capital Loss','Native country','Hours/Week'],axis=1)
#drop 特征
test_data = test_data.drop(['Workclass','fnlgwt','Education','Marital Status',
                'Occupation','Relationship','Capital Gain','Capital Loss','Native country','Hours/Week'],axis=1)
train_data.shape
(32561, 5)
test_data.shape
(16281, 4)
train_data.Race.unique()
array([1, 2, 3, 4, 5], dtype=int64)
train_data
AgeEducation numRaceSexIncome
03913110
15013110
32559229110
32560529101

32561 rows × 5 columns

test_data
AgeEducation numRaceSex
025721
138911
16280351311

16281 rows × 4 columns

模型

target='Income'
x_columns=[x for x in train_data.columns if x not in [target]]
X_train=train_data[x_columns]
Y_train=train_data['Income']
from sklearn.model_selection import train_test_split
x_train,x_valid,y_train,y_valid=train_test_split(X_train,Y_train,test_size=0.1)
x_train.shape,y_train.shape,x_valid.shape,y_valid.shape
((29304, 4), (29304,), (3257, 4), (3257,))
from sklearn.ensemble import RandomForestClassifier
rf = RandomForestClassifier()
rf.fit(x_train,y_train)
RandomForestClassifier()
rf.feature_importances_
array([0.4581014 , 0.38324504, 0.03954043, 0.11911313])
from sklearn.model_selection import cross_val_score
scores=cross_val_score(rf,x_valid,y_valid)
print(round(scores.mean()*100,2),'%')
77.1 %

from sklearn.tree import DecisionTreeClassifier
rf = DecisionTreeClassifier()
rf.fit(x_train,y_train)
DecisionTreeClassifier()
rf.feature_importances_
array([0.39165374, 0.43142822, 0.0535285 , 0.12338954])
from sklearn.model_selection import cross_val_score
scores=cross_val_score(rf,x_valid,y_valid)
print(round(scores.mean()*100,2),'%')
74.82 %

submit.csv

predict = rf.predict(test_data)
predict
array([0, 0, 0, ..., 1, 1, 1], dtype=int64)
import pandas as pd
df = pd.DataFrame({"income":predict})
df.to_csv("submit.csv",index=None)
df.head()
income
00
10
20
30
40

小结

本节主要是通过机器学习实现对收入分类的预测。
瓷们,点赞评论收藏走起来呀!!!
在这里插入图片描述

Python数据分析与机器学习----收入的预测分析 一、题目 利用age、workclass、…、native_country等13个特征预测收入是否超过50k,是一个二分类问题。 二、训练集 32561个样本,每个样本14个特征,其中6个连续性特征、9个离散型特征 三、测试集 16281个样本,每个样本14个特征, 即在测试集中,根据age等14个特征,预测income是否超过50k,二分类问题。 四、说明 部分特征的值为“?”,表示缺失值,需要对其先处理。 五、实验过程和结果 import numpy as np import pandas as pd 阅读详情

相关推荐

实战八:美国人口普查数据进行收入预测分类

第一步:读取数据 # 读入数据 import pandas as pd df = pd.read_csv("data/adult.data", header=None) print(df.head()) 第二步:数据处理 # 数据处理一:去除字符串数值前面的空格 str_cols=[1,3,5,6,7,8,9,13,14] for col in str_cols: df.il...

超级圈的博客 9240

Spark MLlib机器学习库-Adult数据集实例上手

在本实验中,我们将使用以下模型进行训练:逻辑回归、KNN、随机森林、朴素贝叶斯、决策树、梯度提升树、多层感知器、线性支持向量机、One-vs-Rest。可能强扭的瓜不甜,有些预测结果不尽人意

thuink的博客 2112

如何应用人工智能和机器学习来预测消费者的行为

人工智能是指机器像人一样学习的能力,从而达到人类智能的水平,甚至更多。随着人工智能领域的进步,它导致了多个行业的改进,如自动化、供应链、电子商务、制造业等等。不仅如此,人工智能的子部分,即数据科学和机器学习已经使企业能够做出正确的决定。更简单地说,为了提高电子商务商店的收入,我们可以根据客户的喜好、最常购买的物品、以前的搜索、物品购买之间的相关性等,分析并向客户提供个性化的建议。人工智能通过规划库存、物流、寻找趋势、模式、根据历史趋势预测未来结果、告知基于事实的决策等,在电子商务中发挥了重要作用。

weixin_73136678的博客 1915

Adult数据集模型预测

用svm(支持向量机)训练Adult数据集,预测年收入

晴一千天的博客 1万+

一文读懂机器学习:分类(classification)、回归(regression)、排名(ranking)、uplifting(提升效果)和异常检测(Anomaly detection)

机器学习是一种人工智能技术,使计算机能够通过经验自动改进性能,主要分为监督学习(使用带标签的数据进行训练)、无监督学习(寻找无标签数据中的模式)、半监督学习(结合带标签和无标签数据)和强化学习(通过与环境交互学习)。它广泛应用于金融(信用评分)、医疗(疾病预测)、自动驾驶(路径规划)和自然语言处理(机器翻译)等领域,关键概念包括特征、模型、过拟合和交叉验证。本文我们使用ydf方法进行分别介绍。

此星光明博客 1968

13丨机器学习:多分类实践(基于逻辑回归)

实验:请动手完成你们第一个多分类问题,祝好运!完成下面代码 1. 数据读取 2. 训练数据的准备 3. 定义假设函数、代价函数和梯度下降算法 4. 学习这四个分类模型 5. 利用模型进行预测 6. 计算准确率

AIGC 2562

【机器学习实例】

https://blog.youkuaiyun.com/power1_power2/article/details/79664830 源数据地址:http://archive.ics.uci.edu/ml/machine-learning-databases/adult/adult.data 下载数据 from urllib.request import urlretrieve def load_da...

菜菜鸟的博客 4962

李宏毅2020机器学习作业2-Classification:年收入二分类

二元分类是机器学习中最基础的问题之一。在本次作业中,需要写一个线性二元分类器,根据人们的个人信息,判断其年收入是否高于 50,000 美元。作业将用 logistic regression 与 generative model两种模型来实现目标,模型差异可见李宏毅老师的课程视频与ppt。

⚡ 1万+

Python 机器学习大作业 用knn算法对adult数据集进行50w年薪收入预测

数据分析与机器学习——收入分类 摘 要 今天,人工智能AI已经融入了人类的生活,基本上在生活中能接触到的领域,都有人工智能的身影。而说起人工智能就必定会想到机器学习ML,它以某种方式几乎影响了每个行业,而机器学习最重要的就是算法和数据。本次期末项目基于“人口普查”数据集,对居民收入是否超过50K进行了预测,用的是K临近算法,中间涉及数据填充、删除,K值的选取,‘找邻居’等步骤。完成这个项目后,对K临近算法有了更深刻的理解,也对机器学习更有兴趣了。 关键词:机器学习;Knn算法;预测收入;准确度 一、问题介绍

DZY的博客 1万+

机器学习实验二(李宏毅-判断年收入)

机器学习 Lab2 实验报告 欢迎大家访问我的GitHub博客 https://lunan0320.github.io/ 文章目录一、实验目的二、实验要求及环境2.1 实验要求2.2实验环境三、设计思想3.1 文件描述3.2 模型方法3.2.1 Gaussian Distribution3.2.2偏微分计算3.2.3 Logistic Regression3.2.4 Loss function(Cross Entropy)3.2.5 Adagrad过程3.3模型构想3.3.1 模型一:补充代码Gene

lunan的博客 9533

Ubuntu 22.04 安装 IsaacLab 2.1.0

本文介绍了IsaacLab的完整安装流程:1)创建Python3.10虚拟环境;2)安装PyTorch2.5.1(CUDA11.8);3)升级pip并安装IsaacSim4.5.0;4)克隆IsaacLab仓库;5)运行安装脚本(需接受EULA)。若遇cmake缺失错误,需执行sudo apt安装。安装完成后可通过Ant-v0训练任务验证,成功运行后将显示IsaacSim窗口和训练完成提示。注意:IsaacSim不同版本可共存于不同环境。

weixin_47880303的博客 2226

使用XGBoost在Cloud ML Samples项目中进行收入预测建模

本文将详细介绍如何在Cloud ML Samples项目中使用XGBoost算法构建一个收入预测模型。我们将使用美国人口普查收入数据集,通过数据预处理、模型训练和预测的完整流程,展示XGBoost在分类问题中的应用。 ## 数据集介绍 我们使用的数据集是美国人口普查收入数据集,这是一个经典的机器学习数据集,包含约32,000条记录,每条记录有14个特征和1个目标变量。目标变量是二元分类,表示年...

gitblog_01100的博客 528

深入解析XTEA加密算法的核心机制与优化策略

本文深入解析XTEA加密算法的核心机制与优化策略,详细介绍了XTEA在嵌入式系统和资源受限环境中的优势,包括其高效的加解密速度和低资源消耗。文章还探讨了XTEA的轮函数设计、关键参数优化策略以及实战应用中的性能对比,为开发者提供了安全增强方案和优化技巧。

k8l9m0n的博客 243

ai人工智能收入_人工智能促进收入增长:使用ML推动更有价值的定价

ai人工智能收入 介绍 (Introduction) Pricing optimization is a powerful lever for revenue growth, yet it’s too often put in the too-hard basket by too many companies. 定价优化是实现收入增长的强大杠杆,但太多公司经常将定价置于过于艰难的境地。 This...

weixin_26752765的博客 433

数学之美 | 图论和网络爬虫

文章目录概述图论网络爬虫分析BFSDFSBFS + DFS参考资料 概述 这篇文章主要给大家介绍一下计算机算法中非常重要的一部分——图论,以及它在生活中的应用——网络爬虫。   图论 离散数学是当代数学的一个重要的分支,也是计算机科学的数学基础。它又包括四个分支,而图论便是其中一支,另外三个分别是:数理逻辑、集合论、近代数学。 图论中的图由一些节点和边构成,比如下面这张图 。 在图论中一个很基础...

小小酥梨的博客 3231

【第4章 光模块实测方法总结(环境搭建、眼图测试、接收测试、注意事项)】

本文系统介绍了光模块测试的完整流程与关键要点,涵盖低速模块到3.2T PAM4超高速模块的测试方法。内容包括:1)测试环境搭建(光路/电路要求);2)核心测试项目(眼图分析、接收灵敏度/饱和测试、误码压力测试);3)PAM4专项测试(TDECQ、RLM线性度等);4)可靠性测试(温循、电压、老化);5)八大注意事项(如禁止脏端面测试、长短距混插等)。特别强调高速模块对测试环境的高敏感性,需重点关注波形质量而非单纯光功率,并需进行严格压力测试才能暴露潜在问题。

学无止境 459

用Python预测收入,来看看你的收入到底应该是多少?

Python界的网红机器学习,这股浪潮已经逐渐成为热点,而Python是机器学习方向的头牌语言,用机器学习来玩一些好玩的项目一定很有意思。比如根据你的职业,婚姻,家庭,教...

zandaoguang的博客 2780

PLC集群管理:C#上位机实现10台以上分布式PLC的集中监控与指令下发

本文介绍了一套基于C# WPF开发的PLC集群管理系统,用于解决现代工业自动化产线中分布式PLC监控难题。系统采用三层解耦架构,支持100台以内不同品牌PLC的集中管理,具备批量数据采集、指令下发、实时报警等功能。核心创新点包括:1)基于异步IO的连接池管理;2)统一通信接口设计;3)寄存器合并优化算法;4)三级优先级指令队列。实际应用表明,系统数据采集延迟低于100ms,指令下发成功率99.9%,有效解决了传统单PLC监控模式存在的效率低下问题。

这里只有干货:从 Modbus 通信到 MES 对接,从 YOLO 训练到工控机部署,带你搞定工业软件开发全流程。 508

上课笔记-机器学习(5)-美国人口普查数据进行收入预测分类

实训六 回顾与学习 美国人口普查数据进行收入预测分类(可以参考:https://www.jianshu.com/p/a6d615f272f6) # 读入数据 import pandas as pd df = pd.read_csv(&amp;quot;data/adult.data&amp;quot;, header=None) df.head() 0 1 2 ...

qq_40147358的博客 6874

Python爬取小红书种草商品评论数据:从入门到实战全攻略(附反爬+情感分析方案)

Python爬取小红书种草商品评论数据,核心是“抓包找到正确的接口+处理登录验证+合理的反爬策略”。新手不用一开始就追求多笔记批量爬取和情感分析,先把单笔记的评论抓取和存储跑通,再逐步扩展功能。我做的这个系统现在每天帮朋友爬取3-5款美妆产品的评论,自动做情感分析和关键词提取,她再也不用手动翻评论了,效率提升了80%。如果你们在开发中遇到具体问题,比如接口找不到、Cookie过期、IP被封,都可以在评论区留言,我会一一解答。后续也可以出一期小红书笔记种草数据爬取的教程,帮助大家更全面地分析竞品数据。

专注于Python爬虫开发,分享爬虫技巧、项目实战与反爬经验,使用Scrapy、BeautifulSoup等工具,解决数据抓取难题。 1352

CListCtrl控件的自绘操作

1、CListCtrl控件 :OwnerDraw Fixed = True,创建一个CListCtrl类的派生类CMyListCtrl,同时创建一个CMyListCtrl控件类型变量:CMyListCtrl m_cList;。 CListCtrl控件的自绘主要是CMyListCtrl类中重写DrawItem虚函数。 流程: 1.主对话框中CListCtrl的一些初始化操作: BOOL

小米的修行之路 3560

李宏毅机器学习作业二Classification:年收入分类

1作业任务 二元分类是机器学习中最基础的问题之一,在这份教学中,你将学会如何实作一个线性二元分类器,来根据人们的个人资料,判断其年收入是否高于50000美元。我们将以两种方法:logistic regression与generative model,来达成以上目的,你可以尝试了解、分析两者的设计理念及差别。 2原始代码 导入数据集 X_train_fpath = './data/X_train' Y_train_fpath = './data/Y_train' X_test_fpath = './data/

Geek_sun的博客 1585

第4.4节:保护轴承与安全系统

飞轮储能系统的保护轴承是磁悬浮失效时的最后安全屏障,其设计需满足非干涉性、高可靠性和有限寿命承载原则。转子跌落过程包括自由下落、碰撞、进动和滑行减速等复杂非线性阶段,产生远超常规工况的冲击载荷。保护轴承需具备极限冲击容量、高温耐受性和抗卡死能力。系统采用多层级安全架构,结合故障诊断与健康管理,通过监测振动、电流等参数实现预测性维护。安全停机序列有序结合主动制动与被动摩擦制动,确保系统在极端工况下的安全。保护轴承类型多样,需根据系统规模与可靠性要求合理选择。

技术工作者 229

美国收入预测Adult数据集决策树分类

在这里插入代码片 """ 该脚本创建分类树实现美国收入的预测 重点是采用pandas实现对数据的处理(非数值数据的转换)以及混淆矩阵的绘制 从决策树到随机森林https://zhuanlan.zhihu.com/p/28217071 """ import pandas as pd import numpy as np # from plotnine import * import matplot...

HUST_YZY的博客 6273

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

机器学习:银行贷款违约预测模型

机器学习:银行贷款违约预测模型

toby001111的博客 1万+

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

李宏毅2020机器学习作业2——Classification

开始之前声明:本文参考了李宏毅机器学习作业说明(需翻墙),基本上是将代码复现了一遍,说明中用的是google colab(由谷歌提供的免费的云平台),我用的是Jupyter Notebook 本文用到的资料在百度网盘自取点击下载,提取码:zdth。请将所需资料下载解压,确保资料中有6个文件,并保存到自己的目录当中。 【博主的环境:Anaconda3+Jupyter Notebook,pyth...

科研鬼才的博客 5606
上一篇: 【人工智能项目】LSTM实现电影评论情感分类实验
下一篇: 【人工智能项目】LSTM实现数据预测分类实验
mind_programmonkey
mind_programmonkey 领域专家: 算法与数据结构技术领域 领域专家: 算法与数据结构技术领域
博客等级 码龄9年 4435粉丝 1111原创
评论 4
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

mind_programmonkey

你的鼓励是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值