Name: Towards AI Legal Name: Towards AI, Inc. Description: Towards AI is the world's leading artificial intelligence (AI) and technology publication. Read by thought-leaders and decision-makers around the world. Phone Number: +1-650-246-9381 Email: [email protected]
228 Park Avenue South New York, NY 10003 United States
Website: Publisher: https://towardsai.net/#publisher Diversity Policy: https://towardsai.net/about Ethics Policy: https://towardsai.net/about Masthead: https://towardsai.net/about
Name: Towards AI Legal Name: Towards AI, Inc. Description: Towards AI is the world's leading artificial intelligence (AI) and technology publication. Founders: Roberto Iriondo, , Job Title: Co-founder and Advisor Works for: Towards AI, Inc. Follow Roberto: X, LinkedIn, GitHub, Google Scholar, Towards AI Profile, Medium, ML@CMU, FreeCodeCamp, Crunchbase, Bloomberg, Roberto Iriondo, Generative AI Lab, Generative AI Lab Denis Piffaretti, Job Title: Co-founder Works for: Towards AI, Inc. Louie Peters, Job Title: Co-founder Works for: Towards AI, Inc. Louis-François Bouchard, Job Title: Co-founder Works for: Towards AI, Inc. Cover:
Towards AI Cover
Logo:
Towards AI Logo
Areas Served: Worldwide Alternate Name: Towards AI, Inc. Alternate Name: Towards AI Co. Alternate Name: towards ai Alternate Name: towardsai Alternate Name: towards.ai Alternate Name: tai Alternate Name: toward ai Alternate Name: toward.ai Alternate Name: Towards AI, Inc. Alternate Name: towardsai.net Alternate Name: pub.towardsai.net
5 stars – based on 497 reviews

Frequently Used, Contextual References

TODO: Remember to copy unique IDs whenever it needs used. i.e., URL: 304b2e42315e

Resources

Take our 85+ lesson From Beginner to Advanced LLM Developer Certification: From choosing a project to deploying a working product this is the most comprehensive and practical LLM course out there!

Publication

By the End of the Year 3000, iPhone Width Will Exceed 1 Meter, AI Predicts
Latest

By the End of the Year 3000, iPhone Width Will Exceed 1 Meter, AI Predicts

Last Updated on December 2, 2021 by Editorial Team

Author(s): Michelangiolo Mazzeschi

Originally published on Towards AI the World’s Leading AI and Technology News and Media Company. If you are building an AI-related product or service, we invite you to consider becoming an AI sponsor. At Towards AI, we help scale AI and technology startups. Let us help you unleash your technology to the masses.

Data Science

Testing the prediction capabilities of AI. Full code available at myΒ repo.

Join our FREE programming community on discord and meet other programmers in PythonΒ Kai!

AI is a wonder, there is no doubt. Since people understood its prediction capabilities, have been using it for good. So, here is the deal, I will actually pretend to be serious in this article and you will read pretending that whatever has been predicted by an AI will be a plausible scenario for theΒ future.

How did we come to such drastic predictions? Is it going to be the end of the iPhone, and consequently of Apple, as we know it? Most importantly, how do we even create an AI that is specialized in predicting the iPhone size of a model of a certain date inΒ time?

Gathering theΒ data

The answer is quite simple, actually. We begin by collecting the data of every available iPhone model. Originally, the plan was to make a comparison of different models per company, showing the rate of growth of smartphones sizes over time. The data gathering, however, proved to be too challenging, and I had to limit myself to Apple products.

Evolution of smartphones size overΒ time

As you can see, the results are quite promising. Thanks to the change of route starting from blackberries, phones started becoming bigger rather than smaller. If that was the case, right now I would be writing about the estimation of when ant-man could have used his phone in the MCU quantumΒ realm.

A giant Antman on an iPhone, everything plausible soΒ far

Preprocessing theΒ data

Jokes apart (I doubt the content in question would get more serious), these are the size of the iPhone from the model 5.0 over the years. By copying and pasting the string from the website, this was theΒ result.

str1 = 'iPhone 12 Pro Max,6.7in,160.8 x 78.1 x 7.4 mm,iPhone 12 Pro,6.1in,146.7 x 71.5 x 7.4 mm,iPhone 12 ,6.1in,146.7 x 71.5 x 7.4 mm,iPhone 12 Mini ,5.4in,131.5 x 64.2 x 7.4 mm,iPhone SE (2020),4.7in, 138.4 x 67.3 x 7.3mm,iPhone 11 Pro Max,6.5in, 158 x 77.8 x 8.1mm,iPhone 11 Pro ,5.8in,144 x 71.4 x 8.1 mm,iPhone 11,6.1in, 150.9 x 75.7 x 8.3 mm,iPhone XS Max,6.5in,157.5 x 77.4 x 7.7 mm,iPhone XS,5.8in,143.6 x 70.9 x 7.7 mm,iPhone XR,6.1in,150.9 x 75.7 x 8.3 mm,iPhone X,5.8in,143.6 x 70.9 x 7.7 mm,iPhone 8 Plus,5.5in,158.4 x 78.1 x 7.5 mm,iPhone 8 ,4.7in,138.4 x 67.3 x 7.3 mm,iPhone 7 Plus,5.5in,158.2 x 77.9 x 7.3 mm,iPhone 7 ,4.7in,138.3 x 67.1 x 7.1 mm,iPhone 6s Plus ,5.5in,158.2 x 77.9 x 7.3 mm ,iPhone 6s,4.7in,138.3 x 67.1 x 7.1 mm,iPhone SE / iPhone 5 / iPhone 5s,4.0in,123.8 x 58.6 x 7.6 mm'

Before processing the data, we need to make changes to its format. By using the following algorithm, I was able to split the data into a list of measurements.

the_list = str1.split(',')
list_of_groups = zip(*(iter(the_list),) * 3)
t = list()
for a in list_of_groups:
t.append(a)
t
Output:
[('iPhone 12 Pro Max', '6.7in', '160.8 x 78.1 x 7.4 mm'),
('iPhone 12 Pro', '6.1in', '146.7 x 71.5 x 7.4 mm'),
('iPhone 12\xa0', '6.1in', '146.7 x 71.5 x 7.4 mm'),
('iPhone 12 Mini\xa0', '5.4in', '131.5 x 64.2 x 7.4 mm'),
('iPhone SE (2020)', '4.7in', ' 138.4 x 67.3 x 7.3mm'),
('iPhone 11 Pro Max', '6.5in', ' 158 x 77.8 x 8.1mm'),
('iPhone 11 Pro\xa0', '5.8in', '144 x 71.4 x 8.1\xa0mm'),
('iPhone 11', '6.1in', '\xa0150.9 x 75.7 x 8.3 mm'),
('iPhone XS Max', '6.5in', '157.5 x 77.4 x 7.7 mm'),
('iPhone XS', '5.8in', '143.6 x 70.9 x 7.7 mm'),
('iPhone XR', '6.1in', '150.9 x 75.7 x 8.3 mm'),
('iPhone X', '5.8in', '143.6 x 70.9 x 7.7 mm'),
('iPhone 8 Plus', '5.5in', '158.4 x 78.1 x 7.5 mm'),
('iPhone 8\xa0', '4.7in', '138.4 x 67.3 x 7.3 mm'),
('iPhone 7 Plus', '5.5in', '158.2 x 77.9 x 7.3 mm'),
('iPhone 7\xa0', '4.7in', '138.3 x 67.1 x 7.1 mm'),
('iPhone 6s Plus\xa0', '5.5in', '158.2 x 77.9 x 7.3 mm\xa0'),
('iPhone 6s', '4.7in', '138.3 x 67.1 x 7.1 mm'),
('iPhone SE / iPhone 5 / iPhone 5s', '4.0in', '123.8 x 58.6 x 7.6 mm')]

Converting the data into a pandas DataFrame

To build a regression model, however, I will need to split the data into proper features. Because the years were not included in the original data, I had to search them and add them myself as anΒ index.

import pandas as pd
df = pd.DataFrame(t)
df.columns = ['model', 'inches', 'size']
df['size'] = df['size'].apply(lambda x : x.replace(' x ', '_')[:-3])
df = pd.concat([df, df['size'].str.split('_', expand=True)], axis=1).drop(['size'], axis=1)
df.columns = ['model', 'inches', 'length', 'width', 'height']
year = [2012, 2014, 2014, 2016, 2016, 2017, 2017, 2017, 2018, 2018, 2018, 2019, 2019, 2019, 2019, 2020, 2020, 2020, 2020]
year.reverse()
df.index = year
df

In the end, this is the finalΒ result:

Visualize trend

The data consists of 3 variables: time, width, and iPhone length. I decided to visualize it plotting it inΒ 3D.

Creating the prediction model

The best approach to make this sort of prediction is using a regression model. I will use the year as a feature, and the iPhone measurements as labels, respectively X andΒ y.

import numpy as np
from sklearn.linear_model import LinearRegression
X, y = pd.DataFrame(df.index), df[['length', 'width']]
reg = LinearRegression().fit(X, y)
reg.score(X, y)

Let us now make the prediction for the yearΒ 2700:

reg.predict(np.array([[2700]]))
Output:
array([[1013.11827778, 591.6195 ]])

The iPhone will have reached 1013mm x 592mm, reaching the 1-meter threshold! Outstanding!


By the End of the Year 3000, iPhone Width Will Exceed 1 Meter, AI Predicts was originally published in Towards AI on Medium, where people are continuing the conversation by highlighting and responding to this story.

Join thousands of data leaders on the AI newsletter. It’s free, we don’t spam, and we never share your email address. Keep up to date with the latest work in AI. From research to projects and ideas. If you are building an AI startup, an AI-related product, or a service, we invite you to consider becoming aΒ sponsor.

Published via Towards AI

Feedback ↓