房价预测

主要步骤

  • 1、观察大局
    • 寻找数据
    • 性能指标
  • 2、获取数据
    • 下载数据
    • 加载数据
    • 快速探索数据
      • 查看前五行
      • 数据集的简单描述
      • 对某一属性查看多少种分类
      • 数值属性的摘要
      • 绘制直方图
    • 创建测试集
      • 纯随机抽样
      • 分层抽样
  • 3、数据可视化
    • 地理数据可视化
    • 寻找相关性
    • 添加不同属性的组合
  • 4、数据准备
    • 数据清理
      • 使用pandas
      • 使用sklearn
  • 5、选择并训练模型
    • 线性回归
      • 验错
      • 10折交叉验证
    • 决策树
      • 验错
      • 10折交叉验证
    • 随机森林
      • 验错
      • 10折交叉验证
  • 6、微调模型
    • 网格搜索
    • 随机搜索
    • 分析最佳模型以及误差
  • 7、通过测试集评估
    • 在测试集上评估最终模型
    • 计算泛化误差的95%置信区间

1、观察大局

寻找数据

UCI
Kaggle

性能指标

均方根误差(RMSE)、平均绝对误差(MAE)
RMSE=sqrt(((标签向量-预测的标签向量)^2)/实例总数)
MAE=abs(标签向量-预测的标签向量)/实例总数

2、获取数据

下载数据

GitHub
百度云:提取码:78jm

加载数据

使用pandas载入数据集
import pandas as pd

import pandas as pd
housing=pd.read_csv('D:/dataSets/housing.csv')

在这里插入图片描述

快速探索数据

绘图 import matplotlib.pyplot as plt
随机抽样 from sklearn.model_selection import train_test_split
分层抽样 from sklearn.model_selection import StratifiedShuffleSplit

查看前五行

print(housing.head())

在这里插入图片描述

数据集的简单描述

print(housing.info())

在这里插入图片描述

对某一属性查看多少种分类

print(housing['ocean_proximity'].value_counts())

在这里插入图片描述

数值属性的摘要

print(housing.describe())

在这里插入图片描述

  • 空值会被省略,故total_bedroom的count是20433
  • std是标准差(方差的平方根,测量数值的离散程度)
  • longitude的值,25%小于-121.8(第25百分数或第一四分位数),50%小于-118.49(中位数),75%小于-118.01(第75百分数或第三四分位数)

绘制直方图

import matplotlib.pyplot as plt
housing.hist(bins=50, figsize=(15,10)) #bin表示有几条柱
plt.show()

在这里插入图片描述

创建测试集

纯随机抽样

def split_train_test(data,test_ratio):#随机排列组合,打乱index,返回长度为len(data)的一维数组shuffled_indices=np.random.permutation(len(data))#测试集的样本个数test_set_size=int(len(data)*test_ratio)#取前A%作为测试集test_indices=shuffled_indices[:test_set_size]#取剩下的(1-A%)作为训练集train_indices=shuffled_indices[test_set_size:]#返回训练集与测试集return data.iloc[train_indices],data.iloc[test_indices]
#数据集的20%(test_ratio)作为测试集:训练集16512条,测试集4128条
train_set,test_set=split_train_test(housing,0.2) 
print(train_set.head())

在这里插入图片描述

为了避免每次运行程序时产生不同的数据集,从而暴露整个完整的数据集,我们需要:
①在运行后即时保存测试集和训练集,随后的运行只是加载它。
②在调用np.random.permutation()之前设置一个随机数种子,如np.random.seed(42),从而始终产生相同的随机索引。scikit-learn中提供了train_test_split() 函数,能够将数据集分成多个子集,也有random_state参数设置随机数生成种子。

from sklearn.model_selection import train_test_split
#与前面定义的函数几乎相同,但是多了几个额外特征
train_set,test_set=train_test_split(housing,test_size=0.2,random_state=42)
print(train_set.head())

在这里插入图片描述

分层抽样

定义:按规定的比例从不同层中抽取样本,从而得到的样本代表性更好,误差更小。每一层要有足够数量的实例,否则其重要程度可能会被错估。

(1)创建五个类别属性

#添加一列新属性:income_cat,希望确保在收入中位数上,测试集能够代表整个数据集中各种不同类型的收入
housing['income_cat']=pd.cut(housing["median_income"],bins=[0.,1.5,3.0,4.5,6.,np.inf],labels=[1,2,3,4,5])
#pd.cut()用来创建5个收入类别属性,1~5作为标签,
#0~1.5是类别1,1.5~3是类别2,以此类推
print(housing["income_cat"])
housing["income_cat"].hist()

在这里插入图片描述
在这里插入图片描述
(2)进行分层抽样

使用sklearn的StratifiedShuffleSplit 类

from sklearn.model_selection import StratifiedShuffleSplit 
#分层抽样,n_splits为数据分成train/test的对数
split=StratifiedShuffleSplit(n_splits=1,test_size=0.2,random_state=42)
#索引值列表train_index、test_index;loc函数表示读取某些行的数据,
#如test1.loc([[1,8,4],[0,1,0]])返回index为1、8、4,column为0、1、0的数据行
for train_index, test_index in split.split(housing,housing["income_cat"]):strat_train_set=housing.loc[train_index]strat_test_set=housing.loc[test_index]
#可以看到,测试集中收入类别的比例分布和整个数据集很接近
print(strat_test_set["income_cat"].value_counts()/len(strat_test_set))
print(housing["income_cat"].value_counts()/len(housing))

在这里插入图片描述
(3)分层抽样结束后删除income_cat属性,将数据恢复原样

drop函数:axis=1时为横轴,表现为列的减少,=0时为纵轴,表现为行的减少;
inplace默认为False,表示是否替换原数组

for set_ in(strat_train_set, strat_test_set): #删除income_cat属性set_.drop("income_cat",axis=1,inplace=True)

3、数据可视化

绘图 import matplotlib.pyplot as plt
计算皮尔逊r采用corr()方法
绘制每个数值属性相对于其他数值属性的相关性 from pandas.plotting import scatter_matrix

  • 先把测试集放在一边,只能探索训练集

地理数据可视化

housing=strat_train_set.copy() #训练集副本,避免损害训练集
#散点图scatter,横坐标x,纵坐标y,alpha透明度(可清楚看到高密度数据点的位置),子图用legend
housing.plot(kind="scatter",x="longitude",y="latitude",alpha=0.1) #房子数量与经纬度的关系
#label图例,figsize图像尺寸,每个圆的半径s大小代表每个区域的人口数量,颜色c代表价格
#颜色表cmap采用jet,从低到高为蓝到红(gray_r为黑白)
housing.plot(kind="scatter",x="longitude",y="latitude",alpha=0.4,s=housing["population"]/50,label="population",figsize=(10,7),c="median_house_value",cmap=plt.get_cmap("jet"),colorbar=True) #房价、人口与经纬度的关系
plt.legend()

在这里插入图片描述
在这里插入图片描述

寻找相关性

#corr()计算出每对属性之间的标准相关系数(皮尔逊r)
corr_matrix=housing.corr() 
#每对属性之间的标准相关系数,-1~1,越接近1越正相关,越接近-1越负相关
print(corr_matrix["median_house_value"].sort_values(ascending=False)) 
#每个属性与房价中位数的相关性
housing.plot(kind="scatter",x="median_income",y="median_house_value",alpha=0.1) 
#查看房价中值和收入中值的相关性的散点图

在这里插入图片描述
由上图可以看到,二者相关性较强,点并不是很分散且明显呈上升趋势。

#绘制每个数值属性相对于其他数值属性的相关性
from pandas.plotting import scatter_matrix
attributes=["median_house_value","median_income","total_rooms","housing_median_age"]
scatter_matrix(housing[attributes],figsize=(12,8))

在这里插入图片描述
当pands绘制每个变量对于自身的图像,主对角线将都是直线,这样毫无意义。因此取而代之,显示了每个属性的直方图。

添加不同属性的组合

  • 在给机器学习算法输入数据之前,不仅需要提前清理掉异常数据,同时也会发现不同属性之间的有趣联系。包括尝试各种属性的组合以及对它们进行转换处理 (例如取对数) 等。
#房间总数/家庭数
housing["rooms_per_household"]=housing["total_rooms"]/housing["households"]
#卧室总数/房间总数
housing["bedrooms_per_room"]=housing["total_bedrooms"]/housing["total_rooms"]
#每个家庭的人口数
housing["population_per_household"]=housing["population"]/housing["households"]
#查看相关矩阵
corr_matrix=housing.corr() 
#按相关性递减显示
print(corr_matrix["median_house_value"].sort_values(ascending=False))

在这里插入图片描述

4、数据准备

处理部分缺失值:DataFrame的dropna()、drop()、fillna()方法
转换流水线:

再次拷贝strat_train_set,回到干净的数据集,然后将预测器和标签分开

#这里drop会创建一个数据副本但是不影响strat_train_set
housing =strat_train_set.drop("median_house_value",axis=1)
housing_labels=strat_train_set["median_house_value"].copy()

数据清理

前面我们注意到total_bedrooms属性有部分值缺失,我们有三种方法解决:
①放弃这些区域
②放弃整个属性
③用某个值填充(0、平均数、中位数等)

from sklearn.impute import SimpleImputer
imputer使用fit()将imputer实例适配到训练数据,再用transform()将缺失值替换成中位数值
from sklearn.preprocessing import OneHotEncoder
独热编码,类别与自己相等时为1,其余为0。因此返回一个稀疏矩阵
from sklearn.preprocessing import OrdinalEncoder
在这里可以将类别从文本转到数字,一定情况下,两个相近的值说明二者更为相似。这里显然不适合用这方法
from sklearn.base import BaseEstimator, TransformerMixin
自定义转换器,这里用了一个简单的转换器类,来添加前面提到过的组合属性
from sklearn.pipeline import Pipeline
转换流水线
from sklearn.preprocessing import StandardScaler
估算器,配合流水线
from sklearn.compose import ColumnTransformer
分别处理类别列和数值列

使用pandas

housing.dropna(subset=["total_bedrooms"])    #option1
housing.drop("total_bedrooms",axis=1)        #option2
#计算出训练集的中位数然后用它填充缺失值
medians=housing["total_bedrooms"].medians()  #option3
housing["total_bedrooms"].fillna(median,inplace=True)

使用sklearn

from sklearn.impute import SimpleImputer
from sklearn.preprocessing import OneHotEncoder
from sklearn.preprocessing import OrdinalEncoder
from sklearn.base import BaseEstimator, TransformerMixin
from sklearn.pipeline import Pipeline
from sklearn.preprocessing import StandardScaler
from sklearn.compose import ColumnTransformer
housing_num=housing.drop("ocean_proximity",axis=1) #取数据集的数字部分
#双中括号:单列聚合时输出带有列标签,多列聚合时无区别
housing_cat=housing[["ocean_proximity"]] #取数据集的文本部分(ocean列数据)
cat_encoder=OneHotEncoder()
housing_cat_1hot=cat_encoder.fit_transform(housing_cat)rooms_ix,bedrooms_ix, population_ix,households_ix = 3, 4, 5, 6
class CombinedAttributesAdder(BaseEstimator, TransformerMixin):def __init__ (self, add_bedrooms_per_room = True): # no *args or **kargsself.add_bedrooms_per_room = add_bedrooms_per_roomdef fit(self, X, y=None):return self# nothing else to dodef transform(self, X):rooms_per_household = X[:, rooms_ix] / X[:, households_ix]population_per_household = X[:, population_ix] / X[:, households_ix]if self.add_bedrooms_per_room:bedrooms_per_room = X[: , bedrooms_ix] / X[ :, rooms_ix]return np.c_[X, rooms_per_household, population_per_household ,bedrooms_per_room ]else:return np.c_[X, rooms_per_household, population_per_household]
num_pipeline =Pipeline([('imputer',SimpleImputer(strategy="median")),('attribs_adder',CombinedAttributesAdder()),('std_scaler',StandardScaler())])num_attribs=list(housing_num)
cat_attribs=["ocean_proximity"]
full_pipeline=ColumnTransformer([("num",num_pipeline,num_attribs),("cat",OneHotEncoder(),cat_attribs)])
housing_prepared=full_pipeline.fit_transform(housing)
print(housing_prepared)

在这里插入图片描述
流水线返回的是numpy数组。若想转回pandasDataFrame,可以做以下操作:

a=np.append(num_attribs,["rooms_per_household","population_per_household","bedrooms_per_room"])
##cat_encoder.categories_返回独热编码的每一个column
a=np.append(a,cat_encoder.categories_) 
##返回的numpy数组转回pandas
test=pd.DataFrame(housing_prepared,columns=a) 
print(test)

pandas转numpy:housing.values 即可

5、选择并训练模型

线性回归:from sklearn.linear_model import LinearRegression
决策树:from sklearn.tree import DecisionTreeRegressor
对模型验错:from sklearn.metrics import mean_squared_error
交叉验证法:from sklearn.model_selection import cross_val_score

线性回归

from sklearn.linear_model import LinearRegression
lin_reg=LinearRegression()
lin_reg.fit(housing_prepared,housing_labels)#训练线性回归模型some_data=housing.iloc[:5]#取前五个数据
some_labels=housing_labels.iloc[:5]#去前五个结果
some_data_prepared=full_pipeline.transform(some_data)#流水线处理前五行数据
print("predictions:",lin_reg.predict(some_data_prepared))#预测
print("labels:",list(some_labels))

在这里插入图片描述

验错

from sklearn.metrics import mean_squared_error#用这个模型对整个训练集验错
housing_predictions=lin_reg.predict(housing_prepared)#预测值
lin_mse=mean_squared_error(housing_labels,housing_predictions)
lin_rmse=np.sqrt(lin_mse)
print(lin_rmse)

在这里插入图片描述

10折交叉验证

lin_scores=cross_val_score(lin_reg,housing_prepared,housing_labels,scoring="neg_mean_squared_error",cv=10)
lin_rmse_scores=np.sqrt(-lin_scores)#10折交叉验证线性回归
display_scores(lin_rmse_scores)

在这里插入图片描述

决策树


from sklearn.tree import DecisionTreeRegressor
tree_reg=DecisionTreeRegressor() #决策树
tree_reg.fit(housing_prepared,housing_labels) #训练决策树模型

验错


housing_predictions=tree_reg.predict(housing_prepared)
tree_mse=mean_squared_error(housing_labels,housing_predictions)
tree_rmse=np.sqrt(tree_mse)
print(tree_mse) #训练集评估无错误,可能过拟合

在这里插入图片描述

10折交叉验证

from sklearn.model_selection import cross_val_score #交叉验证法
tree_scores=cross_val_score(tree_reg,housing_prepared,housing_labels,scoring="neg_mean_squared_error",cv=10)
tree_rmse_scores=np.sqrt(-tree_scores) #10折交叉验证决策树
print(tree_rmse_scores)def display_scores(scores):print("scores:",scores)#十次评估分数的数组print("mean:",scores.mean())#评分print("standard deviation:",scores.std())#上下浮动
display_scores(tree_rmse_scores)#严重过拟合

在这里插入图片描述

随机森林

from sklearn.ensemble import RandomForestRegressor
forest_reg=RandomForestRegressor()
forest_reg.fit(housing_prepared,housing_labels)housing_predictions=forest_reg.predict(housing_prepared)

验错

forest_mse=mean_squared_error(housing_labels,housing_predictions)
forest_rmse=np.sqrt(forest_mse)
print(forest_rmse)

在这里插入图片描述

10折交叉验证

forest_scores=cross_val_score(forest_reg,housing_prepared,housing_labels,scoring="neg_mean_squared_error",cv=10)
forest_rmse_scores=np.sqrt(-forest_scores)#10折交叉验证决策树
display_scores(forest_rmse_scores)

在这里插入图片描述

6、微调模型

网格搜索

from sklearn.model_selection import GridSearchCV
param_grid=[{'n_estimators':[3,10,30],'max_features':[2,4,6,8]},{'bootstrap':[False],'n_estimators':[3,10],'max_features':[2,3,4]}]
forest_reg=RandomForestRegressor()
grid_search=GridSearchCV(forest_reg,param_grid,cv=5,scoring='neg_mean_squared_error',return_train_score=True)
grid_search.fit(housing_prepared,housing_labels)
print(grid_search.best_params_)
print(grid_search.best_estimator_)
cvres=grid_search.cv_results_
for mean_score,params in zip(cvres["mean_test_score"],cvres["params"]):print(np.sqrt(-mean_score),params)

在这里插入图片描述

随机搜索

当超参数的搜索范围较大时,通常优先选择RandomizedSearchCV。
它不会尝试所有可能的组合,而是在每次迭代中选择一个随机值作为超参数。

分析最佳模型以及误差

Random-ForestRegressor可以指出每个属性的相对重要程度

a=[1,2,3]
b=[4,5,6]
zip(a,b)=[(1,4),(2,5),(3,6)]

feature_importances=grid_search.best_estimator_.feature_importances_
print(feature_importances)
extra_attribs=["rooms_per_hhold","pop_per.hhold","bedrooms_per_room"]
cat_encoder=full_pipeline.named_transformers_["cat"]
cat_one_hot_attribs=list(cat_encoder.categories_[0])
attributes=num_attribs+extra_attribs+cat_one_hot_attribs
print(sorted(zip(feature_importances,attributes),reverse=True))

在这里插入图片描述

7、通过测试集评估

在测试集上评估最终模型

final_model=grid_search.best_estimator_x_test=strat_test_set.drop("median_house_value",axis=1)
y_test=strat_test_set["median_house_value"].copy()x_test_prepared=full_pipeline.transform(x_test)
final_predictions=final_model.predict(x_test_prepared)final_mse=mean_squared_error(y_test,final_predictions)
final_rmse=np.sqrt(final_mse)
print(final_rmse)

泛化误差显然比一开始的线性回归小很多了
在这里插入图片描述

计算泛化误差的95%置信区间

from scipy import stats
confidence=0.95
squared_errors=(final_predictions-y_test)**2
print(np.sqrt(stats.t.interval(confidence,len(squared_errors)-1,loc=squared_errors.mean(),scale=stats.sem(squared_errors))))

泛化误差有95%的可能性落在这个区域内:
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/15835.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

大数据预测房价趋势

大数据预测房价趋势 数据挖掘步骤大概分为以下:1、数据采集2、数据清洗3、数据分析4、显示数据 还是按这4个步骤, 第一,我们用爬虫采集某网的数据,得到房价20180811.txt文件,这里是以广州城市为例。数据中有些有地铁…

kaggle_房价预测

本文是博主基于之前练手Kaggle上泰坦尼克的入门分析而做的个人总结 此案例是读者经过研究多个Kaggle上大神的kernel经验,加上个人的理解,再加入百分之一的运气得到 的结果 此案例的亮点在于特征工程部分,对于变量的处理及属性的构造的姿势值…

数据分析与数据挖掘实战案例本地房价预测(716):

数据分析与数据挖掘实战案例(7/16): 2022 年首届钉钉杯大学生大数据挑战赛练习题目 练习题 A:二手房房价分析与预测 要点: 1、机器学习 2、数据挖掘 3、数据清洗、分析、pyeahcrs可视化 4、随机森林回归预测模型…

【项目实战】北京二手房房价分析与预测

项目简介 本项目根据个人需求进行北京二手房信息的数据分析,通过数据分析观察住房特征规律,利用机器学习模型进行简单的预测。 数据源 通过爬虫爬取第三方房屋中间商网站(链家和安居客)获取数据源,仅供学习使用。 目…

房屋价格预测相关公开数据集

House pricing 房屋价格预测 背景描述 使用高级回归技术查看预测的房屋销售价格 数据说明 包含交易ID和交易价格 数据展示 ​数据下载 DataCastle-数据科学创新与实践平台 房屋价格 数据说明 两个文件测试集和训练集,包含房屋容纳人数、洗手间数量、卧室数量、…

Python数据分析之房价预测

学习数据分析的第一次练手项目。从网上爬取关于房价的相关数据属性来分析房价,并且基于一些属性来预测房价,使用的是网格搜索算法。相关的数据文件和完整代码可以从文末获取。 GridSearchCV介绍: 能够系统地遍历多种参数组合,通过…

台北房价预测

目录 1.数据理解1.1分析数据集的基本结构,查询并输出数据的前 10 行和 后 10 行1.2识别并输出所有变量 2.数据清洗2.1输出所有变量折线图2.2缺失值处理2.3异常值处理 3.数据分析3.1寻找相关性3.2划分数据集 4.数据整理4.1数据标准化 5.回归预测分析5.1线性回归&…

某地房价预测

房价预测 任务目标:预测未来的房价 处理步骤 导入数据集,进行数据质量分析与数据清洗;数据特征分析(分布分析、统计量分析、相关性分析);特征工程(特征降维、特征选择)&#xff1…

房价预测数据集 (KAGGLE)

文章目录 引入1 库引入2 数据处理完整代码 引入 KAGGLE房价预测数据集分为训练集和测试集。两个数据集都包括每栋房子的特征,如街道类型、建造年份、房价类型等特征。特征值有连续的数字、离散的标签、缺失值 (na)等。   训练集与测试集的区别在于:只有…

案例:房价预测模型

案例目标:根据房子特征,预测某房房价,选出最优模型。 主要步骤: 1. 数据清洗。数据分类,缺失值和异常值处理。 2. 特征分析。统计量分析和相关性分析。 3. 特征工程。特征选择和特征融合。 4. 模型构建。特征标准…

房价预测模型

目录 1.模型目标 预测某一区域的房价中位数 2.选择框架 有监督学习任务:训练集中的每个实例都有标签(该区域的房价中位数)回归任务:因为你要对某个值进行预测。更具体地说,这是一个多重回归问题,因为系统要使用多个特征进行预…

房屋价格预测

机器学习——房屋价格预测 点击链接查看文档代码 一.项目概述及计划 项目背景 :影响房屋价格的因素众多,如房屋面积、房屋层数、配套设施等等。 项目要求 :利用竞赛提供的数据,通过分析影响房屋价格的诸多因素来对房…

数据分析项目——深圳二手房价分析及价格预测

目录 一、需求说明 1.1基本任务 1.2 任务目的 1.3测试数据 二、概要设计说明 三、详细设计 3.1 数据检测模块 3.2 因变量分析模块 3.3 自变量分析模块 3.4 可视化模块 3.5 建立预测模型模块 3.6预测模块 一、需求说明 深圳二手房数据分析及价格预测的总体目标&#xff1a…

波士顿房价预测(终版讲解)

代码段分四个部分:库的引入、加载数据(函数)、配置网络结构(类)、运行部分(获取数据,创建网络,启动训练,作图) 我的是基础版,库只用到了numpy和ma…

基于大数据的房价数据可视化分析预测系统

温馨提示:文末有 CSDN 平台官方提供的博主 Wechat / QQ 名片 :) 1. 项目背景 房地产是促进我国经济持续增长的基础性、主导性产业,二手房市场是我国房地产市场不可或缺的组成部分。由于二手房的特殊性,目前市场上实时监测二手房市场房价涨幅的…

Kaggle房价预测详解

Kaggle房价预测详解 1.导入数据2.查看各项主要特征与房屋售价的关系查看中央空调与售价关系查看装修水平与房价关系查看建造日期与售价关系不同地段与房价关系查看地皮面积与房价关系查看地下室总面积与房价关系查看关联性 3.训练集数据预处理训练数据预处理创建机器学习模型得…

数据集:波士顿地区房价预测

数据集:波士顿地区房价预测 数据集下载地址 本文以线性回归模型预测为主 1. 数据集说明 变量名变量描述CRIM城镇人均犯罪率ZN住宅地超过25000平方英尺的比例INDUS城镇非零售商用土地的比例CHAS查理斯河空变量(如果边界是河流,则为1&#x…

AI for Science的上半场:人工智能如何重新定义科学研究新范式?

AI发展七十余年,每一技术性突破都将给人类未来开辟新一种可能性。而它与科学研究的深度融合,则会裂变出无数或无穷种可能性。 来源 :36氪 万众瞩目下,今年10月,有着诺贝尔奖“嫡传”之称的诺贝尔化学奖终于揭晓,授予了…

【分享NVIDIA GTC 23大会干货】加速生成式AI在生物学和医疗领域的应用

【分享NVIDIA GTC 23大会干货】加速生成式AI在生物学和医疗领域的应用 1. NVIDIA医疗领域AI计算平台——NVIDIA CLARA2. NVIDIA CLARA医学影像子平台——MONAI3. NVIDIA CLARA医疗设备子平台——Holoscan4. NVIDIA基因组学解决方案Parabricks5. NVIDIA药物研发解决方案6. 个人思…

GTC 2023 万字纪要 | Don‘t Miss This Defining Moment in AI

「Don’t Miss This Defining Moment in AI」 「切勿错过 AI 的决定性时刻」 北京时间 2023 年 3 月 21 日 23:00,「皮衣刀客」黄教主在 GTC 2023 发表主题如上的 Keynote 演讲,并称「这将是我们迄今为止最重要的一次 GTC」,NVIDIA官方 Twi…